我们考虑一下人物在地面上行走时需要处理哪些问题:
1. 自动贴近地面;
2. 自动越过地面上的小孔洞,不至于掉落下去;
3. 自动翻越低于其膝部的障碍物;
4. 不允许走到太陡峭的正面斜坡上;
5. 走到太陡峭的反面斜坡上时自动下滑;
6. 走过山崖边缘自动下落;
7. 碰撞到不可翻越的障碍物时自动溜边;
8. 不骑马在坡上走时人物始终处于直立状态;
9. 骑马在坡上走时人物和马都需要根据斜坡的坡度自动调节俯仰角度;
10. 骑蜘蛛在坡上走时人物和蜘蛛都需要根据斜坡的坡度自动调节俯仰和偏置角度.
11. 在浅水中依旧保持贴近地面行走状态;
12. 进入深水自动切换到游泳状态.
...
为什么不骑马,骑马,骑蜘蛛3种情况人物会存在不同的表现模式呢? 这是因为人,马,蜘蛛这三种动物具有完全不同的重心状态的原因: 人类的重心在一个点上,马/狼之类动物重心在一条线上,而蜘蛛,鳄鱼之类动物重心在一个面上.
这些东西,想起来简单,做起来麻烦. 想想大名鼎鼎的wow,里面充斥了各种跳bug的地点,就是人物的跳跃没处理好啊.
1. 自动贴近地面;
2. 自动越过地面上的小孔洞,不至于掉落下去;
3. 自动翻越低于其膝部的障碍物;
4. 不允许走到太陡峭的正面斜坡上;
5. 走到太陡峭的反面斜坡上时自动下滑;
6. 走过山崖边缘自动下落;
7. 碰撞到不可翻越的障碍物时自动溜边;
8. 不骑马在坡上走时人物始终处于直立状态;
9. 骑马在坡上走时人物和马都需要根据斜坡的坡度自动调节俯仰角度;
10. 骑蜘蛛在坡上走时人物和蜘蛛都需要根据斜坡的坡度自动调节俯仰和偏置角度.
11. 在浅水中依旧保持贴近地面行走状态;
12. 进入深水自动切换到游泳状态.
...
为什么不骑马,骑马,骑蜘蛛3种情况人物会存在不同的表现模式呢? 这是因为人,马,蜘蛛这三种动物具有完全不同的重心状态的原因: 人类的重心在一个点上,马/狼之类动物重心在一条线上,而蜘蛛,鳄鱼之类动物重心在一个面上.
这些东西,想起来简单,做起来麻烦. 想想大名鼎鼎的wow,里面充斥了各种跳bug的地点,就是人物的跳跃没处理好啊.