Egorian
@Egorian

Как при смене transform объекта не менялось местоположение детей относительно объекта?

Unity2D. Делаю пистолет. У пистолета есть FirePoint и он находится около дула, но когда игрок подбирает пистолет, transform пистолета равен transform игрока. Но есть одна проблема. transform FirePoint`а тоже равен transform игрока. Как сделать чтобы FirePoint не менял сове местоположение относительно пистолета?5a829d75a1507517166955.png5a829d81c3ca3500145839.png
Вот код смены трансформа:
public GameObject target;
public Vector3 Pos;
void Update()
{
    transform.position = target.transform.position + Pos; //Pos делает так, чтобы пистолет не торчал прямо из игрока(может есть какой-то не костыльный способ?)

    gunsprite.flipX = charactersprite.flipX;
    if (gunsprite.flipX == true)
    {
       
        Pos = new Vector3(-0.5F, Pos.y, Pos.z);//Примерно то же самое что и Pos
    }
    else
    {
      
        Pos = new Vector3(0.7F, Pos.y, Pos.z);
    }
}
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ответы на вопрос 1
DanceM
@DanceM
Кто хочет -ищет способ, кто не хочет -ищет причину
Сделать BulletSpawn дочкой New Sprine. Если я правильно представил вашу сцену.

С трансформами все в порядке, они сохраняют свои позиции относительно родителя. Но после вы пистолет разворачиваете, верней, разворачиваете изображение пистолета, спрайт (как я могу догадатся), а все остальное, главный трансформ и точка, остается без изменений.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
YOPS LTD Санкт-Петербург
от 30 000 до 48 000 руб.
CSBI Санкт-Петербург
от 60 000 до 80 000 руб.
Кнопка Екатеринбург
До 100 000 руб.
14 авг. 2018, в 10:57
2400 руб./за проект
14 авг. 2018, в 10:44
3000 руб./за проект
14 авг. 2018, в 09:38
5000 руб./за проект