With this quick and short voxel animation greetings
I wish you happy and fun new year!
The script I wrote by the way to build and animate this voxels
I'll publish very soon (maybe tomorrow).
Cheers!
Friday, December 31, 2010
Tuesday, December 28, 2010
FBX batch exporter
The question (read here) is (quote): I need a script that will batch export a selection of objects in a scene as .FBX files named the same as they are in max and into the same folder as the max file.
...and here is my quick reply:
Cheers
...and here is my quick reply:
...hope its useful. If you need to specifying FBX export settings, look into the MAXScript Reference for "FBX Export Dialog Access" topic.if maxFilePath != "" and selection.count > 0 do
(
savePath = maxFilePath
selObjs = getCurrentSelection()
clearSelection()
for obj in selObjs do
(
select obj
FName = savePath + obj.name + ".fbx"
exportFile FName #noPrompt selectedOnly:true
)
)
Cheers
Thursday, December 23, 2010
Merry holidays!
A lot of job come to my head for the Christmas holidays,
but I hope you celebrate twice as much in my stead :D
Merry Max'ing!
but I hope you celebrate twice as much in my stead :D
Merry Max'ing!
Categories:
News
Wednesday, December 22, 2010
Select objects with missing UV's
Prior to rendering or exporting to a game engine we need to see which objects will cause problems because of missing UV's. Louis Marcoux offer video tutorial on how to write script for that purpose.
Marcoux script (for explanation watch his tutorial):
Recently David Stokes share different approach which I like because it is more simple. He use node.mesh.numtverts test to collect objects with missing UV's.
Stokes script:
I was afford to add an error check filtering improvements to his solution. So, because we call node.mesh (i.e. using TriMesh) we need to filter and exclude objects like particles, targetObject, ... we can filter the objects using getPolygonCount() function:
...or filtered with canConvertTo() function:
Marcoux script (for explanation watch his tutorial):
clearSelection()
for a in objects do
(
TotalUVNumVerts = 0
for b in 1 to (meshop.getNumMaps a.mesh) do
(
UVFound = try(meshop.getNumMapVerts a.mesh b)
catch(results = 0)
TotalUVNumVerts += UVFound
)
if (TotalUVNumVerts == 0) then selectmore a
)
Recently David Stokes share different approach which I like because it is more simple. He use node.mesh.numtverts test to collect objects with missing UV's.
Stokes script:
unmappedObjs = for obj in geometry where
obj.mesh.numtverts == 0 collect obj
I was afford to add an error check filtering improvements to his solution. So, because we call node.mesh (i.e. using TriMesh) we need to filter and exclude objects like particles, targetObject, ... we can filter the objects using getPolygonCount() function:
select (
for obj in geometry where
(getPolygonCount obj)[2] > 0 collect (
if obj.mesh.numtverts == 0 then obj
else dontCollect
)
)
...or filtered with canConvertTo() function:
select (
for obj in geometry where
canConvertTo obj TriMeshGeometry collect (
if obj.mesh.numtverts == 0 then obj
else dontCollect
)
)
Categories:
Debug,
Materials,
MAXScript,
Tip n Tricks,
Tutorials
Bake-A-pi - Pie Charts Maker
A new max script by Raphael "Insanto" Steves.
"Heres a tool to make your 3D PieCharts for you."
More at ScriptSpot.
"Heres a tool to make your 3D PieCharts for you."
More at ScriptSpot.
Tuesday, December 21, 2010
Max Underground
Well, my blog is made for 3ds Max users and lovers so hardly ever this is a real news for them. MaxUnderground.com is the most popular site for fresh Max news of the day, but if by chance you miss it then it's time to visit and add bookmark it.
3ds Max 20th Anniversary Show Reel
In honor of the 3ds max 20th anniversary Autodesk made assembly from it old show reel content from the last 20 years and put it into a single video.
Categories:
News
Monday, December 20, 2010
Substances in Max 2011
Three tutorials by Louis Marcoux and Gary Davis cover the new Substance material maps added to Max 2011 Advantage Pack.
Batch namespacing
How to batch process (with script) by name (scene object, modifiers, materials, ...), seems that question appear frequently. Here is a few recent forum topics that can helps about --
Categories:
Basic,
Batch,
MAXScript,
Tip n Tricks
eHow - How To
eHow.com is a how-to depository about everything.
To find 3dsmax subjects just use the site search form.
To find 3dsmax subjects just use the site search form.
Categories:
Tip n Tricks,
Tutorials
Control working pivot
How to control working pivot by script (coding tips).
Categories:
Basic,
MAXScript,
Modeling,
Tip n Tricks
Friday, December 17, 2010
Free PSD graphics
psdGraphics.com is a nice resource site for free PSD graphics templates.Also some Photoshop tutorials listed out there.
Thursday, December 16, 2010
Wednesday, December 15, 2010
Free music resources sheet
Large list of online places where you can get royalty-free music for audiovisual media production is posted on Vimeo forum.
Customizing 3ds Max Start Up Settings
Using a maxstart.max scene is old and well known tip. Fred Ruff just append a few tips to it bound up with VRay setup.
Categories:
Basic,
MAXScript,
Render,
Tip n Tricks
Monday, December 13, 2010
Sunday, December 12, 2010
MaxSharp Project – using Python and C# with Max
Autodesk and Ephere have been co-developing an experimental library that provides a simplified wrapper around the 3DS Max 2011 API that can be used from both Python and C#. MaxSharp is a research project.
Looks like Autodesk would like to get feedback from users to see if there's enough demand to pursue further development, but actually the bad news is that the project is not an open, it's an in-door project for Sparks developers. So, how we can send some feedback?...
I appreciate all the efforts in this direction, and I hope they become aware and start an open beta projects.
More at Ken Pimentel's blog.
Looks like Autodesk would like to get feedback from users to see if there's enough demand to pursue further development, but actually the bad news is that the project is not an open, it's an in-door project for Sparks developers. So, how we can send some feedback?...
I appreciate all the efforts in this direction, and I hope they become aware and start an open beta projects.
More at Ken Pimentel's blog.
Saturday, December 11, 2010
How to pan while creating a spline
Nice tip by Ramy Hanna posted on his blog. As you create your spline, if you hit "i" (keyboard key) Max will just re-center your view to your cursor location.
Categories:
Modeling,
Tip n Tricks
Thursday, December 9, 2010
finalRender 3.5 and 3.5 SE
Cebas releases finalRender 3.5 and 3.5 SE.
New Features - 3D-Stereo Camera, Ultra-Fast GI Engine, and more.
Structure Synth 1.5
Structure Synth is a cross-platform application for generating 3D structures by specifying a design grammar. And it's a free!
Wednesday, December 8, 2010
Tuesday, December 7, 2010
Hotfix 4 for 3ds Max (Design) 2011
Hot Fix 4 (Published date: 2010-Dec-03) from Autodesk for Autodesk® 3ds Max® 2011 and Autodesk® 3ds Max® Design 2011 software includes fixes for issues with stability and performance. Specific areas addressed include: FileLink, Graphite Modeling Tools, Bitmap Proxies, Satellite Rendering, Normal Mapping, Quicksilver Hardware Renderer, and User Interface.
Moving a piston with math
Very interesting video tutorial by Dario Strano, showing how to rig the head motion of an engine piston using math equation.
V-Ray 2.0 for 3ds Max now available
Chaos Group introduce V-Ray 2.0 for 3ds Max, which is officially on the market starting 6th December 2010.V-Ray 2.0 for 3ds Max comes with V-Ray RT and V-Ray RT GPU included. Read more.
Monday, December 6, 2010
Anubis Scripts Downloader
My shared scripts online are not uploaded as single rar/zip package and this downloader is intended to simplify downloads task by grabbing all of them at once. All scripts saved in your local data 3dsmax\downloads\AnubisScripts folder. I hope you like it ;-)
Saturday, December 4, 2010
Custom Helix
How to create helix spline with custom amount of knots (via MAXScript) was asked here, and here is my snippet code --
Shortly, in this example, 12 knots with angle 30 made full turn (12*30=360). So, what else... If you like some improvements like adding a height, then here is --
Thats it for now.
spline = splineShape()
addNewSpline spline
addKnot spline 1 #smooth #curve [0,0,0]
numK = 12 -- num.knots
incr = pi -- increment
rad = for i = 1 to numK collect i * incr
ang = 30 -- angle
points = for i = 1 to numK collect
[rad[i]*(sin(i*ang)),rad[i]*(cos(i*ang)),0]
for p in points do addKnot spline 1 #smooth #curve p
updateShape spline
Shortly, in this example, 12 knots with angle 30 made full turn (12*30=360). So, what else... If you like some improvements like adding a height, then here is --
spline = splineShape()
addNewSpline spline
addKnot spline 1 #smooth #curve [0,0,0]
numK = 12 -- num.knots
incr = pi -- increment
rad = for i = 1 to numK collect i * incr
ang = 30 -- angle
h = 10 as float -- example height
step = h / numK
points = for i = 1 to numK collect
[rad[i]*(sin(i*ang)),rad[i]*(cos(i*ang)),step*i]
for p in points do addKnot spline 1 #smooth #curve p
updateShape spline
Thats it for now.
Categories:
MAXScript,
Modeling,
Tip n Tricks,
Tutorials
Brazil for Developers SDK
Caustic Graphics, developers of OpenRL and the CausticTwo graphics card, announced that the Brazil renderer has been rewritten from the ground up to take advantage of OpenRL (Open Ray tracing Library) for standardized access to graphics devices from AMD, Intel, and NVidia, as well as Caustic Graphics. They have posted a video showing the real-time, interactive rendering API designed for integration into 3D graphics applications.
The Brazil for Developers beta program begins in February 2011, but if we can see a Max plugin version of the interactive renderer will dependent of the results of this thread, and that sounds very very strange... Its a big mystery (for me), why Caustic Graphics has some doubts to produce Max plugin version. Also is a big mystery, how some forum thread will help them to make decision. So, lets hope this is only a trade trick and we'll enjoy BrazilRT for Max (some day).
The Brazil for Developers beta program begins in February 2011, but if we can see a Max plugin version of the interactive renderer will dependent of the results of this thread, and that sounds very very strange... Its a big mystery (for me), why Caustic Graphics has some doubts to produce Max plugin version. Also is a big mystery, how some forum thread will help them to make decision. So, lets hope this is only a trade trick and we'll enjoy BrazilRT for Max (some day).
Friday, December 3, 2010
Cut hole around vertex
This was asked here.
Execute the code line by line to see what each command does.
Execute the code line by line to see what each command does.
p = Plane isSelected:on
convertTo p Editable_Poly
max modify mode
subobjectlevel = 1
polyop.setVertSelection p #{7, 9, 13, 17, 19}
update p
p.ConnectVertices()
polyop.setVertSelection p #{13}
update p
p.chamferVertices 4.0 open:true -- *note below
update p
subobjectlevel = 0
-- note: looks like 'open:true' in chamferVertices() is broken!
-- so... delete the face:
polyop.deleteFaces p #{21}
Thursday, December 2, 2010
Containers Techniques part 2
Chris Murray from Autodesk posted part 2 of his Containers Techniques video tutorial. Read posted feedback from the users as well.
Categories:
Basic,
Tip n Tricks,
Tutorials
Wednesday, December 1, 2010
Bake Transform 1.2
A quick update of my Bake Transform script, requested a few hours ago. The tool bake animation transform keys to chosen object with specified interval and sample frame step. Also reduce keys for chosen object with specified interval, sample frame step and threshold.
The new improvement is about script controlled objects. They often need view port update on each frame by moving the time slider. That of course slow down a bit baking process, so I add this as optional feature - to can turn it on only when this is necessary.
The new improvement is about script controlled objects. They often need view port update on each frame by moving the time slider. That of course slow down a bit baking process, so I add this as optional feature - to can turn it on only when this is necessary.
Monday, November 29, 2010
Script Password Protection
I spend a bit of time to wrote this script requested by Michele at ScriptSpot. I guess he need it to add license system to his scripts, nm, it is an open source, i.e. you can read the code and use it for free as you like it ;-)
Sculpting explosions with Thinking Particles
A video tutorial by Hristo Velev on how to sculpt explosions with Thinking Particles using external mesh to control particles speed.
Cabinet creator
Cabinet creator is a script that become very popular at ScriptSpot for a no time, and thats make me laugh :) Ok, am not want to be rude, but the folks which look for tools/plug-ins for whatsoever instead of learning how to do this with what they already have... am call them lazy slaves. Yes, the author of this script might deserve respect for the time he spend to wrote it, but ask yourself - are you need any tool or plugin to create a cabinet object in 3ds Max? This is a no time work if using Max's Doors and Windows primitives, and they are so intuitive so hardly ever necessary to read/watch any tutorials to work with them. Also Doors and Windows primitives has built-in mapping co-ordinates. Actually, the script use boolean operations, and that also is a quick task using boxes, but boolean ops break built-in mapping co-ordinates of the primitives. Also Max's Doors and Windows primitives are parametric objects (more flexible). So, if howsoever you need to own/write a Cabinet plug-in as parametric object take a look the excellent video tutorial by Borislav 'Bobo' Petrov. He guides you through the basics of scripted plug-in creation in 3ds Max, covering almost everything you need to know about to write nice scripted geometry plug-ins (incl. mapping, smoothing groups, segmentation, ...).
Sunday, November 28, 2010
Choose Renderer
Choose Renderer is one of my recent mini scripts. It give you a quick/lazy access to assign (production) renderer. Instead of pressing F10 and scroll down, this bean script will list all available renderers to choose from.
Friday, November 26, 2010
Tuesday, November 23, 2010
Superflow Elements tutorial
New 40 minutes length tutorial released by Ian Clemmer on advanced techniques with Superflow Elements script, to create more rich motion graphics effects. The video show how to integrate the script with Particle Flow, plus some new tools in action which Ian added to the Superflow script recently.
Monday, November 22, 2010
Clone and Select
How to clone array of objects and select this new objects at the end? Shortly, this was the question on this forum topic. Yes, its a MaxScript topic. May looks simple, but there covered some basic and important things about array and mapped functions. While helping on Ian, I wrote by the way the script who asked for (get the script), but the info itself posted in the forum is more interesting/useful to the people going to learn MaxScript. Well, still not explain too much about the mapped functions, but hey, this is a quick help, not large essential book :) The difference between mapped and non-mapped functions is not just in their performance. Mapped functions are more faster but not applicable sometimes. After reading the forum topic, I hope the next short example can help to bring some idea about the mapped functions.
In the 1st case the A01 would have 2 instances: A04 and A07.
In the 2nd case the A01 would have 2 instances: A04 and A05.
Here is the result showed in table format (instances are sorted in columns):
As you see, the order of creation is different and that could affect on the rest
operations on this objects. Ok, that's it for now.
-- Lets say we have 3 objects with names A01, A02, A03.
-- And wish to make 2 instance clones on each of them.
select #($A01, $A02, $A03) -- select them
-- mapped instance copy:
for i = 1 to 2 do instance selection
-- iterated instance copy:
for obj in selection do
for i = 1 to 2 do instance obj
In the 1st case the A01 would have 2 instances: A04 and A07.
In the 2nd case the A01 would have 2 instances: A04 and A05.
Here is the result showed in table format (instances are sorted in columns):
Case 1: Case 2:
-----------..-----------
A01 A02 A03 A01 A02 A03
A04 A05 A06 A04 A06 A08
A07 A08 A09 A05 A07 A09
As you see, the order of creation is different and that could affect on the rest
operations on this objects. Ok, that's it for now.
Sunday, November 21, 2010
Superflow Elements 1.1
Ian Clemmer released at ScriptSpot the Superflow Elements scripted tool, including new video tutorial.
Audioflow SplineSync 1.1
Ian Clemmer released at ScriptSpot the Audioflow SplineSync scripted tool, including new video tutorial.
Whether or not use Mipmapping?
Ok, no time right now to discuss this, its a long story and need to share my way to speed up rendering time (without sacrifice production quality). Shortly, Mipmaps are designed for real-time rendering and has many critical weaknesses that made them useless in production, even the good performance is not guaranteed. So, if you use Mental Ray renderer anyway, may try mipmappimg. I found a good tutorial by Adnan Hussain on how to setup your Mental Ray to work with Mipmaps, which include as well, how to convert your bitmaps to Mipmaps. You can find also additional reference links about on Hussain web site.
Friday, November 19, 2010
Audioflow SplineSync
Recently I become a part of Ian Clemmer V-MOTION team. First two scripts programmed by me for him are Superflow Elements and Audioflow SplineSync, and both are ready to be released.
Ian currently work on his new web site, but Audioflow SplineSync is already available for download at V-MOTION web site. All demos and tutorials are in progress too. Now you can watch two short videos he made with this script and upload on FaceBook (video 1, video 2).
Thursday, November 18, 2010
Remove vertices with 2 edges
Removing vertices that are shared by only 2 edges? As I see this question appear sequential. About two month ago I wrote a macro script (B-Vertex Eraser), also by user request, but recently asked my this again, so I'll post here (as reference) the last function I wrote for that purpose.
fn RemoveVertsWith2Edges epoly = (
vList = for v=1 to epoly.GetNumVertices() where
epoly.GetVertexEdgeCount v == 2 collect v
epoly.SetSelection #Vertex (vList as BitArray)
epoly.Remove selLevel:#Vertex
)
-- example usage:
RemoveVertsWith2Edges $
-- on multiple objects:
for obj in selection do RemoveVertsWith2Edges obj
This function work with Editable Poly and remove ALL vertices that are shared by only 2 edges. To remove SELECTED vertices with 2 edges, use my B-Vertex Eraser macro script, which works as with Editable Poly as with Edit Poly modifier.
Cheers.
Categories:
MAXScript,
Modeling,
Tip n Tricks,
Tutorials
Wednesday, November 17, 2010
Stretchy Bones Creator 2.1
A free script by Garrick Campsey for creating chains of stretchy bones and projecting them onto a mesh.
Tuesday, November 16, 2010
Pulldownit propagation tutorial
A video tutorial shows demolition setup with Pulldownit (dynamic solver) plugin using new "global/local propagation" properties (added to PDI 1.5). The feature looks promising. As I see, this upgrade is for PDI Pro version only.
Sunday, November 14, 2010
Scene Notes helper
Scripted helper plugin which hold your notes, and print 'active' notes to the Listener (when load the scene). For more details check at ScriptSpot.
Categories:
MAXScript,
Plugins,
Resources,
Tip n Tricks
Show Main Notes
This bean script just open notes from text file. When you open/load a scene file, it check for a text file with the same name at the same directory, and if found it, just open it in your default text editor (e.g. NotePad). For more details check at ScriptSpot.
Categories:
Basic,
MAXScript,
Resources,
Tip n Tricks
Friday, November 12, 2010
Work with INI files
Work with INI files (Read/Write) via MAXScript is the most easy job comparable to all other formats. Here is a new forum topic about. I trying to explain the work with INI`s as simple as possible. Hope its usefully anyway.
Categories:
Basic,
MAXScript,
Tip n Tricks,
Tutorials
Tuesday, November 9, 2010
Detach All Faces
A MAXScript (posted here), which was asked here by Ian Clemmer.
If the title not say enough, well, this script detach all object`s faces to separate objects and automatize detach process on multiple objects.
Enjoy.
If the title not say enough, well, this script detach all object`s faces to separate objects and automatize detach process on multiple objects.
Enjoy.
Categories:
MAXScript,
Modeling,
Tip n Tricks,
Tutorials
Monday, November 8, 2010
Disable Ribbon in 3ds Max 2011?
Not everyone like the new Ribbon (added to Max 2011), and for my regret I can't delete it at all. I find only this modified UI, but am still not happy.
Categories:
Basic,
Resources,
Tip n Tricks
Saturday, November 6, 2010
Wiring Non Animatable Properties
Actually we can't wire (directly) non animatable properties to any controller/track, but if you interesting/involved in rigging, may find (I hope) some good tips in this forum thread on how to bind this properties to your rig attributes.
Thursday, November 4, 2010
Free online image vectorizer
Convert raster images like JPEGs, GIFs and PNGs to scalable vector graphics (EPS, SVG, and PDF) with this free online vectorizer.
Select Edges by lenght
Free scrited tool which allow to select edges wich is less, equal or grater than value that you want. Also, you can measure the lenght of single or multiple edges.
Wednesday, November 3, 2010
3D Studio MAX turns 20
3D Studio turned 20 years old last Sunday (October 31st). More information at Autodesk's 3DS Max 20th anniversary news section.
Categories:
News
Subscribe to:
Posts (Atom)