[tutorial][3d][pixel] rendering pixelart style
about
creating pixelart style images with the help of 3dsmax
http://www.renderhjs.net/bbs/flashki...e/output_2.gif
this slightly modified image of the following raw rendering:
http://www.renderhjs.net/bbs/flashki...e/output_1.gif
out of 3dsmax (illustrate renderer in this particular case).
what´s the trick?
its basicly a toon shader such as the built in one without the anti-aliasing and a stroke width of 1 pixel. If you want the typical iso- perspective use a orthographic camera with an x-axis rotation of 60°.
The following test rendering (3dsmax built in InkNPaint) shows some different shapes/ situations:
http://www.renderhjs.net/bbs/flashki...tyle/tests.gif
as you can see not all areas are solved perfectly that´s because the built in Max cartoon shader is rather shabby :p
how to do it
http://www.renderhjs.net/bbs/flashki...x_settings.gif
1. create a camera and check orthographic projection
2. set the camera rotation (x_angle = 60°, z_angle = 45), hit F12 to set the rotations global
3. create a new material (m- key material editor)- set it´s type to "InkNPaint". Set the ink type to dynamic width starting with 1 pix ending with something like 1.48 (last value must not be greater than 1.5 as staring with 1.5 it would get rouned up to 2.0 with no antialiasing in the rendering)
4. uncheck in the rendering settings ( F12 ) in the Renderer tab the Antialiasing option
5. move the camera safely away from your objects to be rendered- adjust the FOV value of the camera if the zoom does not meet your needs
that´s confusing, is there an easier way?
not really but you can run this max script wich will create you the camera and the inkNPaint material. To do so follow the image instructions...
http://www.renderhjs.net/bbs/flashki...script_win.gif
...and use this script:
Code:
Freecamera fov:45 targetDistance:160 nearclip:1 farclip:1000 nearrange:0 farrange:1000 mpassEnabled:off mpassRenderPerPass:off transform:(matrix3 [1,0,0] [0,0,1] [0,-1,0] [1.20482,0,0.401606]) isSelected:on
rotate $ (angleaxis -30 [1,0,0])
rotate $ (angleaxis -45 [0,0,1])
actionMan.executeAction 0 "40068" -- Views: Camera View
actionMan.executeAction 0 "50048" -- Tools: Material Editor Toggle
meditMaterials[1] = InkNPaint ()
meditMaterials[1].min_ink_width = 1
actionMan.executeAction 0 "40029" -- Render: Environment Dialog Toggle
backgroundColor = color 216 216 216
InkNPaint looks ugly, are there better solutions?
yes there are some other available commercial toon shader/ renderers (illustrate, finaltoon, ravix,...) some of them indeed provide better control and line quality such as illustrate wich can be tested for 30 days (trial) from:
http://www.davidgould.com/Illustrate/Products.htm
Quote:
All the downloadable copies allow you to run the plugin for 30 days with all the features enabled. All the documentation and tutorials are included. At any time during this period you can purchase the plugin and authorize it to have it change into the commerical version.
the top rendering for example was done using Illustrate,- read the manual for instructions on how to use it (works slightly different as the max built in solution)
happy rendering... :D