最近在做自定义类型到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. 发布阿里云OSS for phpcmsV9整合教程

    说明:这个算不上是插件,因为没有安装包,需要手工修改代码. 还有一点就是后台发布文章时上传的附件还是会保存在你的服务器上,基于以下原因: 1.个人的需求是前台页面需要使用thumb函数生成多个缩略图大 ...

  2. @Styles.Render

    1.@Styles.Render 在页面上可以用@Styles.Render("~/Content/css") 来加载css 首先要在App_Start 里面BundleConfi ...

  3. 实战Django:官方实例Part6

    我们终于迎来了官方实例的最后一个Part.在这一节中,舍得要向大家介绍Django的静态文件管理. 现在,我们要往这个投票应用里面添加一个CSS样式表和一张图片. 一个完整的网页文件,除了html文档 ...

  4. python第一天作业

    作业需求 OK 开始动手了 作业要用到的知识点: python的文件操作 ####################################################3 开始了 1.先写一 ...

  5. JS实现浏览器的title闪烁

    经常可以看见的title里面的消息提示,下面是JS的一种实现方法:主要是通过setTimeout方法设置一个定时器,切换消息提示,从而达title到消息提示的闪烁. <html> < ...

  6. Python核心编程--学习笔记--6--序列(下)列表、元组

    11 列表 类似于C语言的数组,但是列表可以包含不同类型的任意对象.列表是可变类型. 创建列表——手动赋值.工厂函数: >>> aList = [12, 'abc'] >> ...

  7. Python核心编程--学习笔记--4--Python对象

    现在开始学习Python语言的核心部分.首先了解什么是Python对象,然后讨论最常用的内建类型,接下来讨论标准类型运算符和内建函数,之后给出对标准类型的不同分类方式,最后提一提Python目前还不支 ...

  8. HDU1009

    题意:有n个房子,每个房子里都有老鼠喜欢吃的咖啡豆J[i],但是每个房子都有猫看守,老鼠现在手上有M的猫粮.可以用猫粮换咖啡豆,每只猫都有猫粮的要求F[i].老鼠得到的咖啡豆是J[i]*a%     ...

  9. scp 跨机远程拷贝

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 命令格式: scp [参数] [原路径] [目标路径] ...

  10. 海蜘蛛ISPV6.1.5,目前破解版本中最稳定的!

    海蜘蛛ISPV6.1.5,目前破解版本中最稳定的! 破解步骤如下: 一.安装完毕进控制台 二.使用muddyboot登陆 密码(123456) 三.输入root回车 四.输入regtools回车 五. ...