如何使用新的Unity4.3 2D框架正确翻转2D角色? (动画期间游戏对象的旋转)

时间:2013-11-23 10:47:30

标签: animation unity3d 2d game-engine

我已经检查过官方的Unity 4.3示例项目,并在那里使用

Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;

这很好用,但是。但我遇到了麻烦,不确定这个Flip或其他东西的麻烦。

我使用Animator为我的角色制作动画,我有Attack动画,除了精灵动画外,还会移动角色的Hand,它可以携带Weapon。问题是当我将角色翻转到相反方向时Hand会移动错误(不按计划),这是错误的。 (video below will be more descriptive)

我发现只有在动画中修改Hand的{​​{1}}时才会出现此问题,因此,如果我只使用rotation,则效果很好,但我需要{{ 1}}!

最好的方法是什么?

此处有YouTube视频: http://youtu.be/qpMK2gRgDz8

在视频中我显示没有旋转使用的动画,手动正确。但接下来我用旋转显示它,你可以看到当角色向右转时效果很好,但是当它离开时,它完全错了。

1 个答案:

答案 0 :(得分:2)

您想要做的事情无法通过缩放来完成,因为缩放不会改变对象的旋转,因此前向矢量保持不变。您必须创建双面对象并将它们旋转180度,或者您可以使用绘制多边形的着色器,即使其法向量对着相机也是如此。