2016-12-28 13 views
0

У меня есть базовый сценарий AI, где я назначу объект для врага, чтобы преследовать. Проблема в том, что, когда я превращаю врага в сборку, назначение цели становится пустым, и я не могу его изменить, пока это сборник. Я попытался назначить объект внутри самого кода, но я не совсем уверен, как это сделать (я пробовал несколько вещей, но ничего не вышло).Unity 5 // когда враг появляется, цель врага - нет?

Любые советы о том, как исправить первую проблему или просто назначить цель в коде, будут очень полезны. JavaScript был бы предпочтительным языком для кода.

enter image description here

+0

Какой язык программирования является вашим скриптом? – Martin

+0

Ваша цель оказывается преобразованием, а не игровым объектом. – Martin

+0

Я бы предложил использовать Game Manager для загрузки списка потенциальных целей как «Список», а затем выбрать один из списка, когда противник 'awake()' s – Martin

ответ

2

Это предполагаемые поведения префабы.

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

Без кода это трудно, чтобы помочь, но я предполагаю, что вы можете сделать что-то похожее на это:

var newEnemy : EnemyAI = Instantiate(enemyPrefab); 
newEnemy.target = GameObject.FindWithTag ("Player").GetComponent.<Transform>(); 

Я не владеет вообще с помощью сценария Unity.


Вы все еще в состоянии «экземпляр» враги непосредственно на сцене с помощью перетаскивания префаба в вашу сцену, и вы будете иметь возможность назначать Мишень ваших экземпляра сборных.

 Смежные вопросы

  • Нет связанных вопросов^_^