我已经检查过官方的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
在视频中我显示没有旋转使用的动画,手动正确。但接下来我用旋转显示它,你可以看到当角色向右转时效果很好,但是当它离开时,它完全错了。
答案 0 :(得分:2)
您想要做的事情无法通过缩放来完成,因为缩放不会改变对象的旋转,因此前向矢量保持不变。您必须创建双面对象并将它们旋转180度,或者您可以使用绘制多边形的着色器,即使其法向量对着相机也是如此。