-
Notifications
You must be signed in to change notification settings - Fork 36
Home
directX import addon for blender
goal is simple : import everything from an .x file into Blender 2.6
I'm testing things for the moment, so it does not produce anything yet. the structure looks like to be in place
the readme provides current, accurate info this article is a more readable summary
here are the features / goals :
- [ok] store any declare tokens, even if unknown, with their relationships to others
- [wip] read, use template section (are red for the moment)
- [ok] handle big files (files are red as chunks)
- [ok] handle any text format (\n, \r, \r\n)
- [ok] allow random access to content of each different directx section
- [ok] be fast : 150 000 lines in 4 secs on 'old' i3. no ply. no file.tell()
- [ko] read binary and compressed x format
- [ko] import verts and faces
- [ko] import uv
- [ko] import normals
- [ko] import verts weights
- [ko] import shapes
- [ko] import materials
- [ko] import textures
- [ko] import armatures
- [ko] import animations
- [ko] import ...
- [ko] import anything that can be imported :)
- [ko] select items to import through methods or Blender gui (tranverse project : BEL)
usage (directions)
the first time the .x file is red, it stores the templates and all the token names with their relationships this step has to be quick. then info of the internal representation of the file are displayed, browsable (the templates and tokens dictionnary) then a request is made and datas are retrieved from the token (from the file) and injected into blender datas.
for now step 1 is done.
below is a part of the output the script generates from a x file this output is generated by wandering through the generated dictionnary. from the root tokens to every child token it supports the directX {references} and non strict syntaxes. unknow tokens are listed too if any
TREE TEST
69. Material__23_02_-_DefaultSub1 (Material)
69. |__ user: MeshMaterialList
75. |__ TextureFilename00001 (TextureFilename)
75.
58. Material__23_01_-_DefaultSub0 (Material)
58. |__ user: _MeshMaterialList_
64. |__ TextureFilename (TextureFilename)
64.
80. obj5 (Frame)
83. |__ FrameTransformMatrix (FrameTransformMatrix)
87. |__ Frame (Frame)
90. |__ FrameTransformMatrix00001 (FrameTransformMatrix)
94. |__ Mesh (Mesh)
330. |__ MeshNormals (MeshNormals)
567. |__ _MeshMaterialList _(MeshMaterialList)
58. | |__ ref: Material__23_01_-_DefaultSub0 (Material)
69. | |__ ref: Material__23_02_-_DefaultSub1 (Material)
632. |__ MeshTextureCoords (MeshTextureCoords)
810. |__ XSkinMeshHeader (XSkinMeshHeader)
816. |__ SkinWeights (SkinWeights)
746. |__ SkinWeights00001 (SkinWeights)
508. |__ SkinWeights00002 (SkinWeights)
000. |__ SkinWeights00003 (SkinWeights)
858. |__ SkinWeights00004 (SkinWeights)
992. |__ SkinWeights00005 (SkinWeights)
534. |__ SkinWeights00006 (SkinWeights)
746. |__ SkinWeights00007 (SkinWeights)
022. |__ SkinWeights00008 (SkinWeights)
302. |__ SkinWeights00009 (SkinWeights)
376. |__ SkinWeights00010 (SkinWeights)
778. |__ SkinWeights00011 (SkinWeights)
792. |__ SkinWeights00012 (SkinWeights)
474. |__ SkinWeights00013 (SkinWeights)
984. |__ SkinWeights00014 (SkinWeights)
680. |__ SkinWeights00015 (SkinWeights)
866. |__ SkinWeights00016 (SkinWeights)
746. |__ SkinWeights00017 (SkinWeights)
892. |__ SkinWeights00018 (SkinWeights)
422. |__ SkinWeights00019 (SkinWeights)
702. |__ SkinWeights00020 (SkinWeights)
776. |__ SkinWeights00021 (SkinWeights)
472. |__ SkinWeights00022 (SkinWeights)
646. |__ SkinWeights00023 (SkinWeights)