Dev:2.5/Source/Architecture/COLLADA
< Dev:2.5 | Source | Architecture
2013年10月6日 (日) 13:21時点におけるwiki>Diosneyによる版 (→Enabling COLLADA support)
This page has been marked for development documentation changes.
Feel free to comment on the talk page.
Feel free to comment on the talk page.
WIP REASON:
WIP documentation and development |
Import-Export (COLLADA) | |
Owner(s) | Nathan Letwory, Gaia Clary |
Member(s) | Jeroen Bakker |
目次
COLLADA integration
This section is about the integration of OpenCOLLADA in Blender. It outlines plans and roadmap for the effort to improve our COLLADA support. It also documents the structure of the code.
User documentation can be found in the manual
Structure
Location
blender/source/blender/collada
Enabling COLLADA support
Our COLLADA support is implemented using the OpenCOLLADA library.
Building OpenCOLLADA
For Windows and OSX we provide prebuilt libraries, so no need to build for those. For Linux see OpenCOLLADA build instructions.
Roadmap & TODO
- current (17-may-2012) OpenCOLLADA revision we build against is: r839 (869 for MingW64)
- Code Quality
- Refactor (Martijn)
- Restructure node and data writing/reading order (Martijn)
- Doxygen style in source documentation
- features
- Blender profile for different data so we can export Blender specific data and re-import our own exports.
- Import profile data for different tools (maya, max, etc) in custom properties, and export these as well
- Export/Import of Objects which are parented to bones.
- animation
fix rotation curve importing/exportingother fcurve animations (material, camera, lamp, etc.)Automate baking of animations of full rigified armature before exporting.- Texture animations.
modifiers(done)- move to using derived mesh instead of straight Mesh struct
- improved mesh reading
- improved normals reading (unified behind DM API)
- access to tangent space
- proper UV layers when exporting meshes as if with modifiers applied,
- constraints/drivers
- tangent space / binormal export (TEXBINORMAL)
- the tangent you're going to get from blender is 4 components. The fourth component is a sign +-1. You are supposed to make the binormal like this:
B = sign * cross(N,T); sign is .w and T is .xyz
- the tangent you're going to get from blender is 4 components. The fourth component is a sign +-1. You are supposed to make the binormal like this:
- long term
- physics (there is a patch by Phabtar,
but that needs upstream addition - also included in the patchupstream patch accepted!) - convert calls to blender kernel to RNA API (maybe even C++ RNA API)
- Exporter settings.
- Triangulate meshes.
- <extra> info (also preserving from foreign imports!)
selected vs. everything(done)- active scene vs. all scenes
- physics (there is a patch by Phabtar,
Supported COLLADA features
- light
- materials (TBD: add what is actually supported, how)
- textures
- uv textures: you need an image texture that has in mapping uv coords, any other will fail
- mesh types
- triangles
- triangle fans (since r35406)
- polygons (with some restrictions)
- lines
- instances
- geometry
- animation
- single skin controller, single object to armature
- object animation
- location
- scale
- rotations.
- light, camera, material parameter animation
- armature animations
- rigified armature animations
- armatures as objects
- IK constraint applied animations
- controller
- skin controller
- morph controller
- For more info visit : Full COLLADA Animation Support for Blender
- And : Improved constraint animation and morph controller support
See the tag coverage page for a list of all COLLADA 1.4.1 tags and how they are supported in Blender.