如何在 unity 2d 中翻转复合字符?
How to flip a composite character in unity 2d?
我真的需要 Unity 2D 方面的帮助。目标是让玩家在向左走时翻转,在向右走时向后翻转。网上有很多选项如何通过精灵渲染来做到这一点。但问题是我的角色由部分组成,因为动画是骨骼。每个部分都可以翻转。当您在对象本身的精灵渲染中打开翻转时,没有任何效果。问题是如何让整个人物一下子妙不可言?如果没有,如何分部分进行?
你应该通过比例翻转,它会影响 docs 中也提到的所有 components.It。
正如 oistikbal 所说,使用这样的缩放:
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
transform.localScale = new Vector3(-1, 1, 1); ;
}
if (Input.GetKeyDown(KeyCode.D))
{
transform.localScale = new Vector3(1, 1, 1); ;
}
}
当按下 A/D 时,比例会改变,因此字符会翻转。
我相信您对教程中的 Input.GetAxisRaw ("Horizontal")
很熟悉。 Return 最简单的字符:
var xAxis = Input.GetAxisRaw("Horizontal");
if (xAxis != 0) transform.localScale = new Vector3(xAxis, 1, 1);
在这个脚本中,如果 Axis 不为 0(没有按下键或停止按下),则设置精灵的 ScaleX
等于 xAxis 方向。
我真的需要 Unity 2D 方面的帮助。目标是让玩家在向左走时翻转,在向右走时向后翻转。网上有很多选项如何通过精灵渲染来做到这一点。但问题是我的角色由部分组成,因为动画是骨骼。每个部分都可以翻转。当您在对象本身的精灵渲染中打开翻转时,没有任何效果。问题是如何让整个人物一下子妙不可言?如果没有,如何分部分进行?
你应该通过比例翻转,它会影响 docs 中也提到的所有 components.It。
正如 oistikbal 所说,使用这样的缩放:
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
transform.localScale = new Vector3(-1, 1, 1); ;
}
if (Input.GetKeyDown(KeyCode.D))
{
transform.localScale = new Vector3(1, 1, 1); ;
}
}
当按下 A/D 时,比例会改变,因此字符会翻转。
我相信您对教程中的 Input.GetAxisRaw ("Horizontal")
很熟悉。 Return 最简单的字符:
var xAxis = Input.GetAxisRaw("Horizontal");
if (xAxis != 0) transform.localScale = new Vector3(xAxis, 1, 1);
在这个脚本中,如果 Axis 不为 0(没有按下键或停止按下),则设置精灵的 ScaleX
等于 xAxis 方向。