- 最后登录
- 2017-9-18
- 注册时间
- 2011-1-12
- 阅读权限
- 90
- 积分
- 12276
  
- 纳金币
- 5568
- 精华
- 0
|
walk里头的碰撞侦测选项并不好用,除非你的场景里头只有简单的墙壁,若如果你还有其它的对象那么走起来就会显的非常的不顺,一下子卡到这一下子卡到那,所以通常会使用专为碰撞侦测的功能节点-ConvexCollision来达到碰撞侦测的目的,如此一来,我可以选择想要碰撞的对象,例如摄影机与某墙面或某对象的碰撞侦测,或是对象与对象之间的碰撞侦测,总之walk里头的碰撞侦测只提供简单的功能与设定,在复杂的场景里头他并不好用,因为摄影机会和所有的对象引起碰撞反应,所以游走时会有卡住的感觉,当然啦如果你的场景简单到只有一些墙壁再加上少与的对象那么用它就够了。
假设你有两个以上要相碰的对象camera与a对象...对象,那么camera与a对象内各要放置一个ConvexCollision功能节点,而camera这个frame框架必须Copy as link到ConvexCollision功能节点下的资料夹内,而a对象的框架下可看见mesh的节点,然而这mesh节点必须Copy as link到ConvexCollision功能节点的资料夹内,再来我们要做camera与对象部分内的ConvexCollision节点的属性设定,做法为将鼠标移到ConvexCollision节点上点两下开启对话框,在MoveBack的部分勾选Slide,勾选Enabled, 最后我们注意到Static这个部分,如果你在Camera内的Static未勾选则对象中的Static就要勾选,总之Carema与对象的Static设定是相反的。
设定好之后,我们这时我们再增加一个ConvexCollisionManager到你的树状架构中的最上层位置, 然而这个节点就像是个碰撞侦测的管理者, 管理所有的ConvexCollision功能节点,所以,你要将所有的ConvexCollision功能节点Copy as link到ConvexCollisionManager下的资料夹内,而ConvexCollisionManager的属性设定方式,一样是鼠标点选两下开启属性设定窗口, 在Collision中设定碰撞的距离看是要设为多少距离下就会碰撞在一起而不再穿透过去..,之Carema下的ConvexCollision联结的是Carema的frame而对象下的ConvexCollision连结的是对象的mesh,你可以有很多的对象需要作碰撞侦测, 那每个对象下就需要放置ConvexCollision。 |
|