Как создать собственный инструмент привязки высоты в редакторе Unity
Я делаю стратегическую игру, и мне нужен инструмент, который размещает объекты над ландшафтом, пока я перетаскиваю их в редакторе Unity, когда я работаю над дизайном уровней. В основном я хочу получить такой результат:https://www.youtube.com/watch?v=YI6F1x4pzpg, но мне нужно, чтобы он работал, прежде чем я нажму кнопку Play в редакторе Unity.
Вот руководство https://www.youtube.com/watch?v=gLtjPxQxJPk, где автор создал инструмент, который привязывает объект к высоте ландшафта при нажатии клавиши. Мне нужно, чтобы то же самое происходило автоматически, когда я помещаю объект на свою местность. И я хочу, чтобы мой инструмент автоматически настраивал положение объекта по оси Y, даже когда я перетаскиваю его внутри редактора.
Также просто для пояснения: мне не нужна привязка к сетке, и мне не нужны эти функции во время игры. Мне просто нужен инструмент для работы над дизайном уровней.
Подскажите, пожалуйста, с чего начать.
Благодарность!
1 ответ
Вот этот тег, который вы можете применить к классам, чтобы они уже вызывали свои обычные события в режиме редактора: https://docs.unity3d.com/ScriptReference/ExecuteInEditMode.html Тривиальным способом было бы применить его к специальному классу / объект, который регулярно "находит" все объекты в иерархии игровых объектов. Затем он должен отфильтровать этот список для тех, которые вы хотите привязать к оси, и принудительно применить их Y.