2017-02-21 21 views
2

Я пытаюсь построить сцену с несколькими сборными, помещенными на крошечную планету, подумайте something like this. Проблема, с которой я сталкиваюсь, заключается в том, что, хотя я могу легко помещать сборные шары на шаре с помощью Control + Shift, они не вращаются и, таким образом, появляются при ужасных поворотах. Я нацелен на то, чтобы они были помещены перпендикулярно.Можно ли закрепить переднюю сборку перпендикулярно поверхности?

В настоящее время я отдаю себе отчет в трех решений:

  1. Поместите объекты в сцене с помощью Control + Shift затем вручную повернуть их в нужное положение.
  2. Поместите объекты в сцене, как и раньше, а затем добавить фрагмент кода к каждому из методов их обновления: transform.rotation = Quaternion.FromToRotation(transform.up, transform.position - origin) * transform.rotation;
  3. Как вариант 2, запустить код и найти способ, чтобы спасти мир состояние на сцене, но that is easier said than done. Кажется, что нужно много усилий для чего-то, что должно быть тривиально.

Первый утомительно и трудно правильно выровнять, второй легко, но делает ваш строитель сцены нерепрезентативным из вашей финальной игры, и я понятия не имею, с чего начать с третьего. Есть ли способ лучше?

+0

Я также попробовал Vertex Snapping, но он не ориентирует перфорированные перфорированные буквы. –

+0

Кажется, здесь есть два вопроса: (1) как вы ориентируете объекты перпендикулярно поверхности, и (2) как вы можете добиться этого в редакторе, чтобы создать сохраненную сцену, где это было сделано. Это правильно? Вопрос 1 или 2 дает вам больше проблем? – rutter

+2

Вы можете попробовать добавить заголовок [ExecuteInEditMode] в свой класс. Это заставит ваш код обновления работать в режиме редактирования. Другой способ - создать скрипт редактора, но это немного больше работы –

ответ

0

В конце концов я решил выполнить всю ориентацию вручную, используя Control + Shift. Поскольку Йохан предложил вам написать собственные скрипты редактора [ExecuteInEditMode], и если бы планета, которую я лесела, была значительно больше, я бы заглянул в нее.

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