Fbx is a 3D model format provided by Autodesk. Because Autodesk has acquired popular 3D modeling software such as Maya and 3D MAX, fbx is a perfect universal format.
Fbx is mainly used for 3D scene communication, so it describes the entire 3D project in a single file, including camera settings, lighting parameters, texture pictures, music, animation, and skeleton, key Frame data.
Fbx is a closed-source format. We do not know the internal storage method of fbx files, but Autodesk provides a good SDK, you can call the DLL and other library files in the SDK to create/export fbx data. Fbx sdks now support C ++ and python, and support windows, Linux, and Mac OS platforms.
The scenario (scene) interface provided by the SDK contains eleven node structures:
Cameras, lights, bones (skeleton), and grids (mesh) are all nodes, and the nodes can also have subnodes.
If lattributetype = kfbxnodeattribute. emarker: <br/> displaymarker (pnode) <br/> Elif lattributetype = kfbxnodeattribute. eskeleton: <br/> displayskeleton (pnode) <br/> Elif lattributetype = kfbxnodeattribute. emesh: <br/> displaymesh (pnode) <br/> Elif lattributetype = kfbxnodeattribute. enurb: <br/> displaynurb (pnode) <br/> Elif lattributetype = kfbxnodeattribute. epatch: <br/> displaypatch (pnode) <br/> Elif lattributetype = kfbxnodeattribute. ecamera: <br/> displaycamera (pnode) <br/> Elif lattributetype = kfbxnodeattribute. elight: <br/> displaylight (pnode) <br/>
Patch, nurb ??
Non-Uniform Rational B-spline, a set with a specific gravity control point and a curve order and a node set vector. A typical example is the besell curve, which can be seen in PS, gimp, and AutoCAD. The whole curve is controlled by nodes and angles. It can also be used to describe a surface. It corresponds to a mesh and represents two different implementation methods. For details, see wiki.
Important node Structure: mesh, skeleton
Mesh stores important data of the model structure, including vertex coordinates, color, UV (texture coordinates), and normal.
Important Concepts: layer, control point, vertex, eby_control_point, eby_polygon_vertex ,:
Layer, level: Normal, texture coordinates, etc. are stored in the layer. Each model can have multiple layers, and each layer has a set of textures, normal, and so on. However, we usually only use one layer, and many modeling software only supports one layer.
There are two important ing relationships between the normal, texture, and color and vertex data. by_control_point is that each control point corresponds to a normal and texture data, and by_polygon_vertex is that each vertex corresponds to a normal, texture, and other data. That is to say, because a point can be contained in multiple polygon, and in different polygon, it can have different normal and color.
Kfbxlayerelement. edirect, kfbxlayerelement. eindex_to_direct reference method :???
Material, Texture Materials and textures: texture problems cannot be solved only by texture coordinates. Because fbx directly stores texture maps in fbx files, a model can use multiple texture maps, the specific correspondence and management are very important.
Skeleton: A bone system is an important aspect of Advanced Model Animation. It simulates real things and provides the following methods: Bone (bone), joint (joint), and weight (weight). The bones and joints are the control points of motion. They move the bones and use the weight data to calculate the motion vector of each vertex. Finally, the motion vector is assigned to the model to complete the motion.
Skeleton:Http://gpwiki.org/index.php/OpenGL:Tutorials:Basic_Bones_System
Fbx: http://www.cnblogs.com/clayman/archive/2010/12/10/1901779.html