Делаем колеса сами, или наркомания в самом разгаре 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Делаем колеса сами, или наркомания в самом разгаре

Прочее

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

Настройка файла part.cfg

В конфигурации солнечной панели присутствует модуль "ModuleDeployableSolarPanel". Именно он отвечает за работоспособность панели именно как солнечной панели - обеспечивает поворот, раскрытие, а также ориентацию на солнце, и что самое важное - генерацию электричества.

Ниже представлен данный модуль:

MODULE
{
name = ModuleDeployableSolarPanel
sunTracking = true
raycastTransformName = suncatcher
pivotName = solarPivot
isBreakable = false
resourceName = ElectricCharge
chargeRate = 0.75
powerCurve
{
key = 206000000000 0 0 0
key = 13599840256 1 0 0
key = 68773560320 0.5 0 0
key = 0         10 0 0
}
}

 

Давайте рассмотрим его содержание:

sunTracking = true - если стоит true - панель будет ориентироваться на солнце.
raycastTransformName = suncatcher - suncatcher - имя объекта из Unity, который обозначает саму панель.
pivotName = solarPivot - тоже имя объекта, обеспечивающего ориентацию.

Проследите чтобы у вас эти имена совпадали!

isBreakable = true - при true панель будет ломаться в экстремальных условиях - вхождении в атмосферу или ударах. Важно - ломаться будет все объекты, которые в Unity были прикреплены к "solarPivot".

chargeRate = 0.75 - количество генерируемого электричества при 100% освещенности на высоте орбиты Кербина. Как известно, чем дальше панель от солнца, тем меньше электричества она производит, и наоборот.

Результат

И вот, готовая солнечная панель в действии:

 

А вот пример сломанной панели. Как видно, все дочерние объекты "solarPivot" оторвало:

 


Анимация развертывания панели.

Для того чтобы ваша модель могла складываться и раскладываться в нужном положении, не нужно изобретать ничего нового. Достаточно лишь создать соответствующую анимацию. Тут все довольно просто. Но стоит обратить внимание, что надо сконфигурировать панель так, чтобы она была в закрытом состоянии, а затем создать анимацию раскрытия, а не наоборот. Тут все просто:

В Unity жмем на GameObject, затем нажимаем сочетание клавиш Ctrl-6 - появится окно анимации.
Создаем анимацию, запоминаем ее название.
Из нижнего окна Unity перетаскиваем созданный файл анимации на нашу 3D модель. Убираем галочки автоматического воспроизведения на GameObject, а также на 3D модели, а потом жмем экспорт.

Идем в файл part.cfg.

Ниже строки name = ModuleDeployableSolarPanel добавляем это:

animationName = solarpanel где solarpanel в моем случае является именем анимации.

 

А вот примеры космического корабля с данными анимированными солнечными панелями:

 

 

[АвторDuddos Kerman, правка KiRiK]

Внимание! Данный тутор сделан пока что через жопу, как и колеса, получаемые в результате. Ибо инфы нет, единственное, что есть, это картинко, который я выкладывал постом выше:


Картинка дает почти всю инфу, я удивляюсь, почему мы до сих пор колеса не клепаем.
Отсюда и далее, чтобы не тратить час, я пишу все названия гейм объектов на русском. Правильное название можно подсмотреть на картинке.
Для того, чтобы понять этот гайд, надо уметь работать с юнити. Как минимум на базовом уровне.

Итак, что нам надо сделать:
Нам надо по максимуму повторить иерархию этой хрени. Так точно будет работать, 100% Ынфа ПоЦсОНы!!1Адынадын
В общем, я все делал на пустых геймобъектах, добавляя, где надо, меш рендерер и меш фильтр, ну и коллайдер, если надо.
А теперь, давайте же приступим!
Маленькая сносочка: в конец данного гайда я добавлю шаблон колеса, построенный на юнитовских примитивах, с настроенной иерархией. Надо будет всего лишь заменить примитивы на ваши модельки, маштабировать(!!!) как надо, и расположить друг относительно друга.
А если вы делаете все с нуля, то по началу...

...добавляем гейм обьект, и называем как хочем. И, как всегда, бросаем в него тапком парт тулсом. Бросили? Вызывайте скорую, чё ждете? Идем вниз по иерархии...

...и видим обьект "Баундс". Ну, создать вы его можете, обнулить координаты должны, по крайней мере пока. Как говорит афтар картинко(с), эта фигня используется КСП для установления корабля(корабля ли?) на землю. Т.е чтобы он не провалился до старта физики под землю. Пока это не трогаем. Но...

...трогаем новый пустой гейм обьект, называем как хотим, к примеру shitItIsAWheel, как его назвал я.
Этот обьект так же обнуляем, т.к. господин великий Алекс так говорил. А раз он говорил, то обнуляем.
Никаких компонентов ему не дарим, пусть лежит.
[Отсюда и далее, обнулить - значит установить координаты x, y, z на 0. В случае с основным гейм объектом, следует обнулить и ориентацию(rotation), а также - установить scale на 1 по всем осям.]
А вот не лежит пусть...

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



Поделиться:


Последнее изменение этой страницы: 2024-07-06; просмотров: 30; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.198 (0.007 с.)