[Havok Animation Tool] Attachment使用详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZJU_fish1996/article/details/74289495


        网上基本找不到hat相关的资料,只能自己摸索啦~


        Attachment也就是附件,它的作用是把两个角色附和在一起,比如人与武器是两个角色,人拿起武器就是两个角色的附和动作;人与马也是两个角色,人骑上马也是两个角色的附和动作,完成了attachment后,武器就会和人的手一起运动,人也会随着马一起前行。

       为了完成这样的操作,我们就需要告诉Havok:

       (1) 附主是什么?它的本地帧是什么?

       (2) 附从是什么?它的本地帧是什么?

       (3) 什么时候让附从和附主附加在一起,什么时候分离?


        其中,本地帧是在HCT中完成的,通俗来说,它就是决定一个角色哪一部分要和另一个角色的哪一部分连接,比如对于人而言,手心处就是本地帧。如果想要添加本地帧,可以在特定位置建一个球体,指定为本地帧。


        为了完成一个attachment,首先,我们需要在havok面板里新建多个Character。

        然后,我们需要加入以下一些东西:


        (1) Get Handle On Bone Modifier,引入附主,输入一个本地帧名字,输出到一个Object pointer 对象中。

        (2) Sense Handle Modifier,引入附从,输入一个本地帧名字,输出到一个Object pointer 对象中。

        (3) Attachment Modifier,引入附件,输入之前引入的附主和附从,把它们连接起来。

        (4) Event Driven Modifier, 引入状态转变,输入一个attachment,可以让附主附从在事件触发后分离或贴合。


        有几个要关注的问题,个人经验:

       (1) 进行附件动画模拟的时候,需要把几个附件角色都激活,具体方法是右键角色勾选Active in Viewport.

       (2) 进行附件动画模拟的时候,要从包含修改器的位置开始模拟,然后再进入内层结点,才能看得见效果。如果直接从内层结点开始模拟,就不会体现外层结点的作用效果。

       (3) 附件的设计最好都统一放在外层,便于维护。而他本身可以在你需要用到事件的时候,在结点内层嵌套一个附件以及事件驱动,但因为比较隐蔽,不推荐这么做。


       有时候我们可能会需要用到手柄(附主或者附从)在世界坐标系中的旋转或者平移状态,这时候我们可以用到Evaluate Handle Modifier,输入对象指针,输出结果包含:

       (1) 位置(hkVector4Proxy)

       (2) 旋转(hkQuaternionProxy)

       (3) 是否有效输出 (is Valid Out)

       ....


        后续发现新问题继续补充。

猜你喜欢

转载自blog.csdn.net/ZJU_fish1996/article/details/74289495