在Unity3D中抓取和爬升壁架


16

我刚开始一个新项目。在此项目中,主要的游戏机制之一是,您可以在关卡中的某些点上抓住壁架并坚持下去。

现在是我的问题,因为我已经为此花了很长时间了。我实际上如何实现呢?我已经尝试过使用动画了,但是这真的很丑,因为播放器会捕捉到动画开始的某个点。


您正在寻找逆运动学解决方案。运动将是一个不错的开始
Douglas Rae

您是要模拟任何壁架的壁架抓取,还是要让玩家只能抓住您预定的某些位置?
蒂姆·霍尔特

如果您确定所有壁架的高度都是一个数字的倍数,例如5,那么进行数学运算就容易得多。
乔纳森·康奈尔

那一些动画融合呢?
user712092 2011年

要么。将动画从运动中解耦出来呢?在动画中心和碰撞中心之间弹跳。然后,让动画中心滑动到碰撞中心。
user712092 2011年

Answers:


3

假设我想专门控制抓取位置,我会这样做。

  1. 使用可以是布娃娃的玩家模型
  2. 在可以抓取的位置放置一个小的看不见的实体。
  3. 当玩家跳起来时,请让他们的手向上
  4. 如果玩家的手在不可见的抓握点的某个触发距离内,则会发生“抓斗”

为了抢...

  1. 让玩家的身体模型继续沿着正常的跳跃路线前进
  2. 布娃娃将手移到抓斗位置
  3. 当手到达抓握位置时,将其锁定到位(“抓紧”)
  4. 现在让身体固定在抓点上,成为布娃娃

为了处理壁架上的拉动...

  1. 由于玩家的手固定在确切的爬升位置,因此您都准备好了“爬升”动画
  2. 播放“爬升”动画

我在这里玩得很松散,详细介绍了如何移动和控制我承认的布娃娃。但是,这样做的想法是将那些手固定在抓点上,然后让玩家将手固定在那儿挂在抓点上。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.