forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Редактор (http://forum.boolean.name/showthread.php?t=19910)

ABTOMAT 14.07.2015 21:47

Редактор
 
Суть такова:

Есть префаб "солдат" — это empty object с навешанным на него скриптом поведения солдата.

Есть префабы "красноармеец" и "фашист" — просто модельки с анимациями.

Есть префабы "пистолет" и "пулемёт".

Допустим, у всех солдат поведение одинаковое, они отличаются только модельками человечка и оружием, которое у них есть.

У класса "солдат" есть public-переменные строки "моделька" и "оружие".

В методе Start() класс "солдат" читает из переменных "моделька" и "оружие" и грузит соответствующие префабы. Сначала модельку самого человечка, а потом ему оружие.

В принципе всё работает, но в редакторе, по понятным причинам, прямо в сцене Empty Object не видать. А хотелось бы более наглядно.

Как я хочу чтобы идеально было:

Кидаю на сцену префаб человека.

У него в диспетчере есть поля "модель" и "оружие".
В поле "модель" я ввожу имя желаемой модели.
В "оружие" ввожу имя префаба оружия.

Вообще идеал если эти поля будут выпадающими списками.

И чтобы это отображалось каким-то образом в редакторе.
Куда копать на эту тему?

dsd 14.07.2015 22:06

Ответ: Редактор
 
http://docs.unity3d.com/Manual/ExtendingTheEditor.html

http://docs.unity3d.com/ScriptReference/Gizmos.html

pax 14.07.2015 22:27

Ответ: Редактор
 
Просто модельки хранить не правильно, надо из них делать префабы. Иначе скрипты на них не повесить и при реимпорте модели может что-то слететь. Ну суть не в этом.

Для динамического выбора моделек можно сделать кнопки, при нажатии на которые будет формироваться динамическое контекстное меню http://docs.unity3d.com/ScriptRefere...nericMenu.html Которое может читать файловую систему и подставлять в меню что угодно.

PS: По поводу расширения редактора на моей вики есть несколько статей, первая как раз подойдет для написания кастомного редактора для скрипта.


Часовой пояс GMT +4, время: 22:51.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot