1

В моем коде Instantiate создает взрыв в позиции игрока

Instantiate(explosion, Player.Instance.transform.position, Quaternion.Euler(90, Random.Range(0, 90), 0));

Но игрок на месте которого создается взрыв немного выглядывает из него. Удалять игрока при взрыве я не могу, поэтому нужно задать позицию создания взрыва немного выше по координате Y. Как можно такое провернуть?

YxTiBlya
  • 29
  • 5
  • Зайти в документацию и посмотреть, что означает position в параметрах, которые вы передаете методу Instantiate. – KOTlK Mar 03 '22 at 09:46
  • я уже смотрел и видел что это означает и понимаю что с этим значением ничего не получится. Думаю мне нужен метод в который я могу отдельно задать позиции X Y Z игрока. Но как именно это сделать я как раз не до конца понимаю – YxTiBlya Mar 03 '22 at 09:50
  • var spawnPosition = Player.Instance.transform.position; spawnPosition.y += 10(или любой отступ); Instantiate(explosion, spawnPosition, Quaternion.Euler(90, Random.Range(0, 90), 0)); Это было бы не так сложно, если бы вы сначала прочитали это – KOTlK Mar 03 '22 at 09:55
  • Спасибо за ответ. Я пробовал чтото подобное но писал transform.position.y что собственно не работало но я помнил что можно сделать нечто подобное – YxTiBlya Mar 03 '22 at 09:59

1 Answers1

2
Instantiate(explosion, Player.Instance.transform.position + Vector.up, Quaternion.Euler(90, Random.Range(0, 90), 0));
  1. Прибавляйте к Player.Instance.transform.position вектор с координатой y, если нужно приподнять взрыв повыше.
  2. Уберите поворот по координате x, если проект двумерный.
aepot
  • 49,560