Unity – 如何将对象保留在另一个对象的右侧或左侧

我创建了一个与我的角色相关的WallCheckRight和一个WallCheckLeft。 但是,我注意到,当我的角色做翻转时,他们切换位置(从右到左和从左到右)

在这里输入图像描述

有什么办法可以防止呢?

有很多方法可以做到这一点。

1)最简单的方法就是改变层次结构,而不是像Shraa提到的那样改变animation。

在这里输入图像描述

你只想翻转PlayerSpriteRenderer的比例。

要么

2)而不是使用空的gameObject的变换来存储左侧和右侧的点,在代码中执行。

Vector3 rightWallCheck = transform.position + Vector3.right; Vector3 leftWallCheck = transform.position + Vector3.left; 

什么翻转只是改变比例从1到-1(或任何价值)。 所以所有的对手和孩子都会有这个效果

你可以做的是为左右方向的玩家制作animation。 而不是使用缩放翻转,你可以在animation之间切换。

编辑:而不是改变animation,这将需要你有更多的精灵,可能会降低性能和增加大小,你应该使用Eclmist建议的解决scheme