骨骼动画动画是怎么搞出来的.

acceptspf 2003-10-21 01:38:21
象CS/魔售 里人物行走动作 是怎么作出来的?
...全文
105 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenhuashimoxin 2003-10-30
  • 打赏
  • 举报
回复
大家多谈谈啊 我正在做啊! 谢谢
FaqianXie 2003-10-25
  • 打赏
  • 举报
回复
谁有实现过自己的骨骼系统的??
EndDuke 2003-10-22
  • 打赏
  • 举报
回复
其实你想想,我们渲染的时候靠的就是渲染顶点,如果顶点位置不改变那么图像就是静态的。

关于改变定点的方法,和移动一个物体相比的确,骨骼动画要麻烦的多!不过好在这些麻烦事很容易解决的。

首先想想在世界中我们用 [矩阵] 来移动一个物体。同时我们又可以用 [矩阵滚乘] 的方法来绑定几个物体(其实就是大家所说的 子物体 的概念)

如果你能做到绑定,那么骨骼动画就很容易理解了

拿 X 文件为例,一个带有骨骼动画的X文件中包含了时间信息,即每一个时间桢相对应得变换矩阵,这个矩阵是很繁琐的(如果我们用3DMax的制作这些就可以交给他们处理)。我们得到很多矩阵

比如

一个人把胳膊举起,在伸出一根手指!(此处胳膊包括手指,即手指是胳膊的子物体)在距阵中则需要一个胳膊的变换矩阵(乘到胳膊上),还有手指相对于胳膊的变换矩阵。然后滚乘。每一桢都如此处理并渲染,直到动作完成为止!

魔兽中的人物通常有很多动作,根据不同的动作会得到不同的变换矩阵。即可

参考例程,你可以看一下DX SDK中的一个行走例子,很清晰!尽管代码很多,但不难理解
acceptspf 2003-10-22
  • 打赏
  • 举报
回复
UP
如果是用改变顶点位置的方法,是不是太复杂了?
yisan 2003-10-22
  • 打赏
  • 举报
回复
hl2里头有一个\ivp\ivp_docs的目录,有两篇文章你可以看看。
另外,在half_life_sdk里有专门讲到这些东西的,讲得很详细,还列出了文档格式。
linyizsh 2003-10-22
  • 打赏
  • 举报
回复
楼上的搞笑。:)
我也想要些BVH动态素材,谁能给些。
acceptspf 2003-10-22
  • 打赏
  • 举报
回复
用一个从XXXBaseObject继承一个猪类,在猪类的Render里从猪类的数据对象读出3DMAX之类的.X文件数据的猪腿,乘.X文件里某个矩阵,读出猪蹄乘某个矩阵,...,结果更新到猪类的数据中,下次...乘某个矩阵.....,.X文件结构中有时间点矩阵吗?
EndDuke 2003-10-22
  • 打赏
  • 举报
回复
这是最简单的最直观的方法了,其实如果想提高速度的话还会更复杂:)

好在C++的代码复用性还是很高的,写一个以后留着用了:)
acceptspf 2003-10-22
  • 打赏
  • 举报
回复
如果用DX9来实现,那在Render里面不是要算N个手指脚指...的变换运算了?那是不是太复杂了,
有不有更容易的办法?
ttmmdd 2003-10-22
  • 打赏
  • 举报
回复
如果用骨架动画..
其每个顶点的计算为.
==================================
顶点最终在世界坐标系中的位置 =

求和i=1-该顶点连接的骨头数
(
在皮肤中的局部坐标 X
皮肤到骨头i坐标系的变换矩阵 X
骨头i坐标系到世界坐标系的变换矩阵X
骨头i的权重);
==================================
是完全可以用VERTEX SHADER来实现,
不用CPU资源,NVIDIA的SKINNING的例子比MS的要清晰一点.
不复杂.

如果用MORPH动画,那完全是点的位置的插值.
也.可以用VERTEX SHADER来实现,
也不复杂.
likesun 2003-10-22
  • 打赏
  • 举报
回复
呵呵!我不会太难的!用POSER做还是容易些!
但是定义的动作不自然!
谁能提供下BVH动态素材库呢?~

8,301

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧