如何使用新的 Unity4.3 2D 框架正确翻转 2D 角色? (动画期间游戏对象的旋转)
Posted
技术标签:
【中文标题】如何使用新的 Unity4.3 2D 框架正确翻转 2D 角色? (动画期间游戏对象的旋转)【英文标题】:How to properly flip 2D character with new Unity4.3 2D framework? (Rotation of gameobjects during animation) 【发布时间】:2013-11-23 10:47:29 【问题描述】:我已经检查了官方 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
的rotation
时才会出现这个问题,所以如果我只使用.position
这很好用,但我需要rotation
!
完成这项工作的最佳方法是什么?
这里是 youtube 视频: http://youtu.be/qpMK2gRgDz8
在视频中,我展示了不使用旋转的动画,手部动作正确。但是接下来我用旋转来展示它,正如你看到的那样,当角色向右转时效果很好,但是当向左时,它就完全错误了。
【问题讨论】:
【参考方案1】:你想做的事情不能用缩放来完成,因为缩放不会改变对象的旋转,所以前向向量保持不变。您必须创建双面对象并将它们旋转 180 度,或者您可以使用绘制多边形的着色器,即使它的法线向量对着相机也是如此。
【讨论】:
以上是关于如何使用新的 Unity4.3 2D 框架正确翻转 2D 角色? (动画期间游戏对象的旋转)的主要内容,如果未能解决你的问题,请参考以下文章