Unity: Instantiated Object всегда получает вращение объекта, вызывающего - PullRequest
0 голосов
/ 09 октября 2018

У меня есть зомби.Когда он умирает, он должен создать пакет боеприпасов для дробовика, которые игрок может собрать.

Я хочу, чтобы вращение дробовика было 0, 0, 0.

Так что я использовал Quaternion.идентичность, но боеприпас всегда порождается с вращением зомби.

Это мой код:

Instantiate(shotgunMuni, transform.position, Quaternion.identity);

Что я пробовал еще:

  • пытаюсь использовать "Quaternion.Euler (new Vector3 (0,0,0)) Вместо этого - не работает, тот же результат.

  • Google для решения, но в основном они пишут «использовать Quaternion.identity» - я использую его ..

1 Ответ

0 голосов
/ 09 октября 2018

Если shotgunMuni является дочерним элементом повернутого объекта, вращение с нулем повернет его к вращению его родителей.В вашем случае это может быть дитя зомби и поэтому вращается.Я могу подумать о трех способах создания ваших боеприпасов с нулевым вращением.

  1. Установить глобальное вращение после создания экземпляра вашего объекта.

    GameObject shotgunMuniInstance = Instantiate(shotgunMuni, transform.position, Quaternion.identity);
    shotgunMuniInstance.eulerAngles = Vector3.zero; // This is in global space
    
  2. Поверните дочерний объект на отрицательное вращение его родителя.

  3. У вас есть отдельное преобразование в качестве родителя для ваших боеприпасов с нулевым вращением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...