我在这个非常简单的问题上遇到了困难...我知道必须有一个简单的解决方案,但我不太确定它是什么。我正在制作一个游戏的原型--我的游戏是一个自上而下的,3D双棒风格的游戏。右手杆旋转玩家,左手杆控制移动。移动是通过Mecanim中的动画完成的--我有前进/后退/跳跃设置和混合。
我的问题是,现在它的移动就像“生化危机”一样--操纵杆上的“向上”推动角色向前移动,无论她面对的是什么方向。我需要将操纵杆上的"up“翻译为相对于世界--而不是玩家(例如:如果面朝右,"up”应该使她向左)。我要找的是什么?我很确定有一些内置的翻译,我需要称之为...
我使用Unity,并将介于-1和1之间的水平和垂直值发送到Mecanim。我需要根据字符的旋转来转换这些值,这样“向上”就可以根据字符的原始旋转将字符移到屏幕的顶部。



发布于 2018-08-18 01:19:22
好的,听起来问题似乎来自于你使用模型向前向量进行翻译的事实。大多数时候,这是人们想要的,但在你的例子中,你只是想根据世界空间移动角色。我的建议是返回字符在世界中的位置,并将这些值添加到位置向量中。我不完全确定它是如何统一完成的,但如果我想在worldspace中获得一个模型空间的位置,以便用它做一些事情,我会将这个向量乘以worldspace,这将把那个点从模型空间中带到worldspace中。
https://stackoverflow.com/questions/51899869
复制相似问题