Difference between revisions of "Mesh/Exporting a mesh from Blender"
Tapple Gao (talk | contribs) (→Scale to meters: text instructions) |
Tapple Gao (talk | contribs) m (s/iss/is/) |
||
Line 57: | Line 57: | ||
daeAsset.unit.meter = '1.00' | daeAsset.unit.meter = '1.00' | ||
To find the scripts directory, do Help > System Information in blender, and look in the text file for "Default dir for scripts:". The path for me | To find the scripts directory, do Help > System Information in blender, and look in the text file for "Default dir for scripts:". The path for me is: | ||
C:\Documents and Settings\tapple\Application Data\Blender Foundation\Blender\.blender\scripts | C:\Documents and Settings\tapple\Application Data\Blender Foundation\Blender\.blender\scripts | ||
and thus the file is: | and thus the file is: |
Revision as of 00:55, 13 June 2011
Video tutorial
Check out this 3-part Blender tutorial for static meshes.
There's also a detailed Blender rigging tutorial here: BlanderMan rigging tutorial part 1-1, part 1-2, part 2.
Simple tube avatar
<videoflash type="youtube">3JHWDdrIeD0|640|505</videoflash>
Mancandy avatar
<videoflash type="youtube">8w88B7F7v_k|640|505</videoflash>
Basic workflow
Create a box (or monkey or teapot or hippo)
Reduce polygons
The easiest way to reduce the polygon count of your mesh is via the "Poly Reducer" script, accessible via the Mesh -> Scripts -> Poly Reducer. This script reduces the number of polygons in the model without affecting its shape, much like the "Decimate" tool, but also maintains the mesh's UV mapping.
To quickly and easily produce a set of LOD meshes:
- Make sure your blender file is saved
- Export your full-detail mesh to COLLADA
- Run Poly Reducer with a poly reduce setting of 0.5 (to reduce your polygon count by half).
- If you make any manual changes to tweak the resulting mesh, remember to update the UV map to match.
- Export your mesh to COLLADA; this will be the "medium" level of detail.
- Reload your original full-detail mesh. It's good to start from the full-detail mesh each time to prevent errors from accumulating, though this may not be a significant concern for simple meshes such as attachments.
- Run Poly Reducer with a poly reduce setting of 0.25 (to reduce your polygon count by three quarters).
- Export your mesh to COLLADA; this will be your "low" level of detail.
- Reload your original full-detail mesh.
- Run Poly Reducer with a poly reduce setting of 0.125 (to reduce your polygon count by seven eighths).
- Export your mesh to COLLADA; this will be your "lowest" level of detail. You may also want to use this mesh when defining your model's physics.
Unfortunately the Poly Reducer script is currently only available for version 2.4x of Blender. The "Decimate" modifier is a serviceable substitute but the downside is that you'll need to redo the UV map for each LOD level.
Apply textures
Scale to meters
Scaling is somewhat arbitrary. In principle you just have to know how the mapping is between your 3D program (Blender) and the target environment (Second Life). Then all you need to do is to work in the correct scale. You even can later rescale your model in your target system.
So, what is the issue with blender ? It is all so simple that the Collada Exporter for blender assumes that one Measurement Unit is mapped to one real life centimeter. But the common expectation in Second Life is that one Measurement Unit is mapped to 1 Second Life Meter. Unfortunately this missmatch very often leads to the import of "tiny objects". The common fix is to scale up the models in Blender by a factor of 100.
But there is a nicer fix, which adjust the Collada Exporter to behave according to our expectations. See this video to find out, how you can fix the Measurement missmatch between Blender-2.49b and Second Life once and for ever:
<videoflash type="vimeo">18354783|640|370</videoflash>
If you don't want to watch the entire video:
find the file <blender script dir>\bpymodules\colladaImEx\translator.py and change these two lines:
daeAsset.unit.name = 'centimeter' daeAsset.unit.meter = '0.01'
to
daeAsset.unit.name = 'meter' daeAsset.unit.meter = '1.00'
To find the scripts directory, do Help > System Information in blender, and look in the text file for "Default dir for scripts:". The path for me is:
C:\Documents and Settings\tapple\Application Data\Blender Foundation\Blender\.blender\scripts
and thus the file is:
C:\Documents and Settings\tapple\Application Data\Blender Foundation\Blender\.blender\scripts\bpymodules\colladaImEx\translator.py
Export to COLLADA
Import to SL
Best Practices
Forum thread on optimizing your mesh in Blender for Second Life
Forum thread on installing Blender
Bones and rigging
Forum tip for exporting joint positions with Blender
Gotchas and workarounds
Optimization techniques
Tutorial links
== Blender 2.5x specefic ==
http://blog.machinimatrix.org/3d-creation/blender-meshes-trail/
http://blendernewbies.blogspot.com/search/label/Blender%202.5
http://www.blendercookie.com/tag/2-5/
http://www.blenderguru.com/whered-that-button-go/
http://totallyblended.com/New/?page_id=705
https://sites.google.com/site/satishgoda/blender
http://3d-synthesis.com/tutorialsenglish.html
http://www.youtube.com/user/super3boy (has been updating his tutorials for 2.5)
http://www.katsbits.com/tutorials/index.php