Я пытаюсь установить позицию GameObjects относительно другой локальной позиции GameObjects, но мне не повезло. С помощью raycast я проверяю, на какой стороне стоит игрок, и все работает нормально, и я пытаюсь создать преобразование относительно локального положения объекта в зависимости от того, на какой стороне вы стоите. Когда этот объект не вращается, все работает нормально, но когда я поворачиваю объект, целевые позиции, кажется, все еще находятся в мировом пространстве. Я добавил изображения для иллюстрации случая.
Альбом с изображениями, иллюстрирующими проблему
if(right)
{
Vector3 Pos1 = _pushableT.localPosition;
Pos1.x = _pushableT.localPosition.x + distBetween;
_targetPos = Pos1;
}
if (left)
{
Vector3 Pos2 = _pushableT.localPosition;
Pos2.x = _pushableT.localPosition.x - distBetween;
_targetPos = Pos2;
}
if (front)
{
Vector3 Pos3 = _pushableT.localPosition;
Pos3.z = _pushableT.localPosition.z + distBetween;
_targetPos = Pos3;
}
if (back)
{
Vector3 Pos4 = _pushableT.localPosition;
Pos4.z = _pushableT.localPosition.z - distBetween;
_targetPos = Pos4;
}
targetBallDebug.position = _targetPos;