最近在做自定义类型到fbx的转换

有关polygon的理解

vertex,normal,color等信息,是离散的放置的,对fbx里面的mesh加了控制点(vertex)信息之后,

需要再设置polygon信息,就像索引那样,由哪些数据组成一个多边形

过程是这样的

// Create the FBX SDK manager

FbxManager* lSdkManager = FbxManager::Create();

// Create the entity that will hold the scene

FbxScene*lScene = FbxScene::Create(pSdkManager,"scene");

// Build the node tree.
FbxNode* lRootNode = pScene->GetRootNode();
 
FbxNode* lNode = FbxNode::Create(pScene,"mynode");
lRootNode->AddChild(lNode);
 
FbxMesh* lMesh = FbxMesh::Create(pScene,pName);
lNode->SetNodeAttribute(lMesh);
 
// Create control points.
lMesh->InitControlPoints(numVertex);
FbxVector4* lControlPoints = lMesh->GetControlPoints();
 
for(..i<numVertex..)
lControlPoints [i] = ....initialize...
 
for(..i<numPolygon..)
lMesh->BeginPolygon(-1, -1, false);
 
for(..j<numverticesPoly..)//每个多边形包含的顶点数 这个polygon是为了把之前那么多的vertex索引起来
  lMesh->AddPolygon(lPolygonVertices[j] );//....initialize..by lPolygonVertices[i] seems like index buffer function spec to form a polygon
 
lMesh->EndPolygon ();
 -----------------------------------
对于一个node 可以添加多个material然后 到底里面的polygon要加哪个material呢,用这个
lMesh->BeginPolygon(materialindex);
 ...
我是在face 的循环里挨个加material的所以,materialIndex用的是 face 的迭代次数
 
因为这个materialindex需要写 node 中材质添加进来的那个索引
--------------------
这些问题 在官方文档中都可以找到答案,他的搜索功能非常好用,就是这个http://help.autodesk.com/view/FBX/2016/ENU/?guid=__files_GUID_3E0DCCD0_5F9A_44D0_8D5E_423237D49DB6_htm

我还有一个认识就是,接触新东西的时候一开始阻抗非常高,感觉很麻烦,应着头皮做就好了, 在最初的一周靠各种猜想,靠最笨的方法,做最简单的实现.

之后再回头看同样的文档,就有所见即所得那种畅快感了,觉得他说的真清楚,但是一开始看同样这种东西的时候,会觉得...这都是什么啊...

ps:在科学领域渐进真理也是这种模式..

pps:把复杂任务分解,是最基本最重要的技能之一, (另外一个技能是搜索

---------=============================------

我现在遇到一个问题,我希望很多节点上的 mesh共用一个vertex 数组  也就是一个controlpoint

//Now we have set the UVs as eIndexToDirect reference and in eByPolygonVertex mapping mode

//we must update the size of the index array.

lUVDiffuseElement->GetIndexArray().SetCount(24);

fbx 模型转换 export的更多相关文章

  1. 关于Unity中的几何体,材质和FBX模型

    一.创建几何体的类型 1: 创建平面 Plane;2: 创建立方体 Cube;3: 创建球体 Sphere;4: 创建胶囊体 Capsule;5: 创建圆柱体 Cylinder;6: 3D文字 3D ...

  2. fbx模型

    [fbx模型] 1.FBX是Autodesk的一个用于跨平台的免费三维数据交换的格式(最早不是由Autodesk开发,但后来被其收购),目前被 众多的标准建模软件所支持,在游戏开发领域也常用来作为各种 ...

  3. 基于FBX SDK的FBX模型解析与加载 -(一)

    http://blog.csdn.net/bugrunner/article/details/7210511 1. 简介 FBX是Autodesk的一个用于跨平台的免费三维数据交换的格式(最早不是由A ...

  4. [Unity菜鸟] FBX模型动画提取

    角色已经人形化(Humanoid)了,那它的动画可以用在其它的模型上了也就是可以共用一套模型动画了,但是你有没有发现那动画是和fbx模型绑在一起的,没关系你可以选中这几个动画文件按Contrl+D就可 ...

  5. 前端MVVM框架avalon - 模型转换1

    轻量级前端MVVM框架avalon - 模型转换(一) 接上一章 ViewModel modelFactory工厂是如何加工用户定义的VM? 附源码 洋洋洒洒100多行内部是魔幻般的实现 1: fun ...

  6. 将List 中的ConvertAll的使用:List 中的元素转换,List模型转换, list模型转数组

    一,直接入代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using S ...

  7. Verification of Model Transformations A Survey of the State-of-the-Art 模型转换的验证 对现状的调查

    模型驱动工程范式认为软件开发生命周期由工件(需求规范.分析和设计文档.测试套件.源代码)支持,这些工件是表示要构建的系统不同视图的模型.存在一个由模型转换驱动的(半)自动构造过程,从系统的抽象模型开始 ...

  8. fbx模型动画提取教程附带一个用代码提取的方法

    角色已经人形化(Humanoid)了,那它的动画可以用在其它的模型上了也就是可以共用一套模型动画了但是你有没有发现那动画是和fbx模型绑在一起的,没关系你可以选中这几个动画文件按Contrl+D就可以 ...

  9. 基于FBX SDK的FBX模型解析与加载 -(四)

    8. 骨骼蒙皮动画 骨骼蒙皮动画是当前游戏引擎中最常用的一种动画方式,关于其基本原理网络上的资料较多,关于到涉及的其它较复杂操作,如插值.融合等在这里也就先不再讨论了,而且其实现方式也与具体引擎的动作 ...

随机推荐

  1. Javascript的四种继承方式

    在Javascript中,所有开发者定义的类都可以作为基类,但出于安全性考虑,本地类和宿主类不能作为基类,这样可以防止公用访问编译过的浏览器级的代码,因为这些代码可以被用于恶意攻击. 选定基类后,就可 ...

  2. Android图表

    最近需要用到Android里面的折现图,因此在这方面也去做了一些调研.总体发现Android对报表的支持还是非常好的.总体上去研究了两个实现方案,一个是利用Android提供的的AChartEngin ...

  3. FireFox Prevent this page from creating addtional dialogs 火狐浏览器 设置 阻止此页面创建更多对话框

    FireFox英文版本老弹出“Prevent this page from creating addtional dialogs”的确认框 FireFox english version alert ...

  4. ASP.NET MVC5学习笔记之Action参数模型绑定之模型元数据和元数据提供

    一. 元数据描述类型ModelMetadata 模型元数据是对Model的描述信息,在ASP.NET MVC框架中有非常重要的作用,在模型绑定,模型验证,模型呈现等许多地方都有它的身影.描述Model ...

  5. Delphi 的运算符列表

    分类 运算符 操作 操作数 结果类型 范例 算术运算符 + 加 整数,实数 整数,实数 X + Y - 减 整数,实数 整数,实数 Result - 1 * 乘 整数,实数 整数,实数 P * Int ...

  6. Python Ogre Blender(转载)

    http://www.cppblog.com/Charlib/archive/2010/05/31/python_ogre_blender_1.html PyOgre入门以及如何使用Blender制作 ...

  7. C# 将汉字转化成拼音

    本文来自http://www.cnblogs.com/yazdao/archive/2011/06/04/2072488.html 首先下载Visual Studio International Pa ...

  8. throw和throws

    uncheckException的处理 class User{ private int age; public void setAge(int age){ if(age < 0){ //生成异常 ...

  9. microsoft azure 速度测试网址

    http://www.azurespeed.com/ 选择你附近的区域.可以使用 azurespeed.com 查找延迟最低的数据中心.

  10. swift 命令行工具初探

    亲爱的同学们好,今天我们要介绍这么一个东西.相信有过解释型语言(PHP,Ruby,等)使用经验的同学会更加熟悉,就是 Swift 也为我们提供了命令行运行工具,俗称 REPL.好了,我们进入正题,在安 ...