看了些时间的D3D skinmesh,大概看了下SDK里的蒙皮动画的例子,有几个疑问总是搞不通请指教
1.关于X文件里的frame,很多资料上说每个bone都会对应到一个frame请问是否正确?
2.若1正确的话在处理vetex blend的时候D3DXFRAME_DERIVER结构的数量就是X文件里的frame数量,但是为什么只有一个D3DXMESHCONTAINER_DERIVER是有效的呢?很多D3DXFRAME_DERIVER->pMeshContainer都是NULL
3.渲染的时候是通过遍历D3DXFRAME_DERIVER进行的,if(D3DXFRAME_DERIVER->pMeshContainer !=NULL) DrawSkinMesh(..)
发现骨骼信息却是在D3DXFRAME_DERIVER->pMeshContainer中提取的那D3DXFRAME_DERIVER到底是不是骨骼呢?我描述的可能比较乱。。哪位了解点的。。给点指点即可。。感激不尽。。
1.关于X文件里的frame,很多资料上说每个bone都会对应到一个frame请问是否正确?
2.若1正确的话在处理vetex blend的时候D3DXFRAME_DERIVER结构的数量就是X文件里的frame数量,但是为什么只有一个D3DXMESHCONTAINER_DERIVER是有效的呢?很多D3DXFRAME_DERIVER->pMeshContainer都是NULL
3.渲染的时候是通过遍历D3DXFRAME_DERIVER进行的,if(D3DXFRAME_DERIVER->pMeshContainer !=NULL) DrawSkinMesh(..)
发现骨骼信息却是在D3DXFRAME_DERIVER->pMeshContainer中提取的那D3DXFRAME_DERIVER到底是不是骨骼呢?我描述的可能比较乱。。哪位了解点的。。给点指点即可。。感激不尽。。
解决方案 »
- LoadLibrary加载失败
- 如果得知一个TCP连接的remote端已经不在网络上了?
- GDI+的资源释放问题
- 請問vc++在debug時如何在Visual Studio的debug輸入窗口中顯示數值?
- 怎么计算出一个CString对象里的冒号的数量?
- 高手看题,工具条问题!
- 请推荐一本ATL的好书?
- 有没有类似于renew的函数?
- socket api中WSAAsyncSelect 问题请求帮忙
- 钩子隐藏的深入问题,(111222,panda_w、Kevin_qing,prog_st,azuo_lee,5 table, vcmfc,jiangsheng...全来
- 如何在vc的新建工程窗口中添加一个自定义的向导?
- 通过MFC AppWizard(.exe)建立Dialogbased 遇到的问题
给你些参考:Ogre的骨骼动画写得很好,可以看看,只是架构稍微有点复杂
http://sourceforge.net/projects/ogre
它的实现涉及几个类
mesh: 封装3D网格的数据,主要包含submesh和骨骼动画。可以认为是一个人体的抽象
submesh: mesh由submesh组成,submesh可以表示人体的各个部分,封装人体各部分的几何数据
entity:具体的人体对象,mesh只是人体的组成数据,而entity就是一个个具体的人,由subentity构成,另外还包含这个人的运动状态
subentity:对应submesh,人体各个部分的实体
skeleton:骨骼动画,封装动画及骨骼
node、bone:节点、骨骼,用于表示骨骼的层次结构,比如小腿是大腿的子节点,那么大腿运动必然打动小腿运动。用于计算骨骼动画的变换矩阵
Animation:一组动画,比如用一个animation表示人的行走动画,用另外一个animation表示人的跑步
AnimationTrack:一组动画中的一块骨骼的一个动作,比如小腿在行走中的动作,由动画帧构成
KeyFrame:一块骨骼的一个动作的动画帧,封装骨骼的位移、旋转、缩放数据
在RenderSystem的softwareVertexBlend里面用变换矩阵变换各个顶点的位子
而骨骼动画的骨骼可以在3ds max、maya这类软件里面创建,可以给它们编写插件导出自己的骨骼动画文件格式,这些在ogre里面都有范例
总结概括的不错~~
http://topic.csdn.net/t/20030520/10/1807606.html#r_achor
很不幸的是我在上面的网址找到了另一个更早一些的……
我只能这样解释,他们冒充你老兄的版权哦……
稍稍表示一下鄙视