Я пытаюсь построить сцену с несколькими сборными, помещенными на крошечную планету, подумайте something like this. Проблема, с которой я сталкиваюсь, заключается в том, что, хотя я могу легко помещать сборные шары на шаре с помощью Control + Shift, они не вращаются и, таким образом, появляются при ужасных поворотах. Я нацелен на то, чтобы они были помещены перпендикулярно.Можно ли закрепить переднюю сборку перпендикулярно поверхности?
В настоящее время я отдаю себе отчет в трех решений:
- Поместите объекты в сцене с помощью Control + Shift затем вручную повернуть их в нужное положение.
- Поместите объекты в сцене, как и раньше, а затем добавить фрагмент кода к каждому из методов их обновления:
transform.rotation = Quaternion.FromToRotation(transform.up, transform.position - origin) * transform.rotation;
- Как вариант 2, запустить код и найти способ, чтобы спасти мир состояние на сцене, но that is easier said than done. Кажется, что нужно много усилий для чего-то, что должно быть тривиально.
Первый утомительно и трудно правильно выровнять, второй легко, но делает ваш строитель сцены нерепрезентативным из вашей финальной игры, и я понятия не имею, с чего начать с третьего. Есть ли способ лучше?
Я также попробовал Vertex Snapping, но он не ориентирует перфорированные перфорированные буквы. –
Кажется, здесь есть два вопроса: (1) как вы ориентируете объекты перпендикулярно поверхности, и (2) как вы можете добиться этого в редакторе, чтобы создать сохраненную сцену, где это было сделано. Это правильно? Вопрос 1 или 2 дает вам больше проблем? – rutter
Вы можете попробовать добавить заголовок [ExecuteInEditMode] в свой класс. Это заставит ваш код обновления работать в режиме редактирования. Другой способ - создать скрипт редактора, но это немного больше работы –