- 博客(8)
- 资源 (4)
- 收藏
- 关注
原创 DirectX的模型在左右手转换时应该如何调整
最近在做将MAX中导出的Fbx文件导入到我的引擎的接口,在中间遇到了蛮多问题。所以,要在此列一下。 在坐标系之间转换时,我们不需要将坐标系做太过复杂的变换,只需要将右手视坐标系转化为左手是坐标系,或者右手世界坐标系转化为左手世界坐标系。如果你能动手画一下这两个坐标系的话,你就能明白,只要将Y和Z轴调换一下即可。即将y和z坐标调换一下。注意不只是调换点的坐标,我们还要调换法线的坐标,不然很多贴图可
2013-09-17 16:44:57 1066
原创 Fbx Scene变换
将一个Scene1的数据转移到Scene2中时,必须要转移Scene1根节点的资源对象和Scene1的资源对象(根节点和全局设定对象除外)。 Scene的坐标系是右手坐标系,Y轴向上系统。用在D3D程序中需注意。在变换时可以调用FbxAxisSystem::ConvertScene()来改变节点的旋转(pre-rotation)状态和动作(Animation)状态;调用FbxSystemUnit
2013-09-06 10:35:26 1756
原创 connections(连接件)——Object和Property的桥梁
一个连接件就是Fbx sdk中用来处理对象和属性之间关系的数据结构。连接件数据结构不开源,但可以通过以下函数来操作: FbxObject::ConnectSrcObject(),FbxObject::ConnectDstObject(), FbxProperty::ConnectDstObject(),FbxProperty::ConnectSrcProperty()。 连接件可以视为
2013-09-05 23:14:12 1070 1
原创 FbxProperty(Fbx对象特性)
对象属性 1、管理属性 FbxProperty模板类是为了保证FbxObject能够非常规范。举个例子,FbxNode就是由FbxTypedProperty(用FbxDouble3参数化描述)来表示的。 当一个FbxObject被创建时,它在FbxProperty中创建的静态数据会被自动初始化。那么为了创建自己的FbxProperty,我们必须点哟FbxProperty::Create(),
2013-09-05 16:15:57 1611
原创 FBX对象(FbxObject)
所有的FBX对象都是FbxObject的实例。它们可以通过FbxManager或者FbxScene中的Create()创建。而这些对象也可以通过取得单例的函数来获取项目中的FbxManager对象。比如FbxImporter获取FbxManager对象:代码 // Assume pImporter is an instance of FbxImporter. FbxManager* lSdkMa
2013-09-05 15:08:16 1412
原创 FdxManager学习笔记
FdxManager是创建、管理和销毁FDX SDK的最核心的类。一个项目只有一个FdxManager,所以是单件模式。在项目开始时必须要第一步创建它。 FbxManager* lSdkManager = FbxManager::Create(); 当我们加载模型对象(FbxScene,可以是一个场景模型)时,必须由FdxManager来创建。对象名可以只是“” FbxScen
2013-09-05 11:40:37 879
原创 fbx起航
我相信学习D3D的人在初学的时候都会在网格和动画方面遇到非常难受的瓶颈。说实话,X文件确实是一个比较不错的文件格式,但是它现在不被大众认同,而且也在DX11的核心中被踢出了。而对于初学者来说,X文件的确实需要去学习,但是确实是艰难万分。不谈学习资料少的问题,X文件复杂得很,即使DX9中有对X文件的组件,但是初学者也无法吃透这里面的内容。而且X文件在3DS和Maya等建模软件中导出也常常出错。总的来
2013-09-05 11:11:11 733
原创 Assertion failed! msSingleton
本人在编译wiki Tutorial 的框架程序的时候遇到这个问题。仔细一查,是在用到overlay的时候没有事先声明。我很奇怪,为什么教程上要这样写呢。原来是我的版本OGRE1.9中,overlay组件从核心变成了插件形式,该组件在之前版本是作为核心存在的,每次程序开始的时候,Root中已经声明了一个实例,每次调用只需要getsingleton()即可。但是1.9版本中却不行,每次要在开始的时候
2013-07-08 09:54:29 1549 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人