Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Так, вроде все. Осталось немного.





 

Теперь - идем к вилКоллайдеру - и ставим ему лейер 27, назвав последний WheelColliders.

How to:add a layer

Добавление своего слоя.


Для того, чтобы добавиить слой:
- Клацаем на кнопочку лейер, и клацаем адд Лейер.
- Идем к нужному слою, тут - Юсер Лейер 27
- Клацаем справа от него, вводим WheelColliders, или как вам нужно.
Done!

 

Дальше.

Идем к колизионЭнханцер, к обоим. И у каждого тыкаем лейер - 26, WheelCollidersIgnore.

Дальше!

Наверное, вы хотите добавить к колесу какое - то крепление, как у стоковых. Сделать это легче, чем выпить воды. Вы в пустыне, если у вас кривые руки . Просто добавляем гейм объект внутрь shitItIsAWheel, и назначаем ему модельку вашего крепления. Двигайте как хотите.

Дальше!

Ах, да, баундс. Помните? Или склероз? Добавляем ему коллайдер в виде бокса, ну, можно и не бокса, но желательно, Кличко сказал бокс! А сам баундс позиционируем по центру колеса. Та хотя не важно. Важно, чтобы коллайдер охватывал колесо так, чтобы КСП могла поставить его на землю, т.е. полностью.
Баундс удаляется при старте физики.

Дальше!!!

Еще, мы забыли установить радиус колеса, ведь так ведь? Идем к виллКоллайдеру, и ставим радиус, который вам удобен. Желательно по радиусу модели рабочего колеса, если меньше, колесо визуально "провалится" в землю, если больше - будет висеть над землей. Но это только визуально, работоспособность останется.
КСП как-то странно обрабатывает колеса. Они сталкиваются с землей только нижней частью.
Кстати, центр виллКоллайдера следует расположить в центре колеса. Есть два пути это сделать. Либо сместить объект виллКолайдер, или установить в его компоненте "коллайдер" смещение относительно него же. Первый путь легче.

С вас - туториал по созданию IVA.

Обещал:

Копия NewKSPParts.rar [6.94 Mb] Загрузок: 13

 

Открываем с помощью юнити сцену AahItWorks в assets. Да вы разберетесь, я надеюсь

И пусть у вас будут и волки сыты, и колеса целы.(с)

 

Создание фонарей

manhak

 

Для создания прожектора необходимо иметь 3 вещи:

Модель
Текстуру
текстуру эмиссии

Далее они помещаются в Unity. Модели настраивается шейдер KSP/Emessive/Diffuse. После этого обычная и эмиссионная текстуры раскладываются по слотам.

После этого в верхнем меню жмем Game Object / Create Other / Spotlight. Устанавливаем поворот и позиция как нам надо, а потом переименовываем в spotlight - с маленькой буквы. Данный объект делаем дочерним объектом модели фонаря:

 

Потом настраиваем spotlight:

range - дальность

spot angle - угол конуса света. Как гласит официальный форум - для дальнего света угол 25-30 градусов, для ближнего 45.

intensity - яркость света 0.5 - 1 вполне хватит.

Далее делаем анимацию:

Делаем анимацию эмиссионной текстуры - во время включения фонаря "стекло" будет светиться.
Также делаем анимацию интенсивности объекта spotlight - 0-й кадр - интенсивность 0, 60-й кадр - нужная вам интенсивность.

Далее делаем конфиг и вставляем такой модуль:

MODULE
{
name = ModuleLight
lightName = spotlight (или как у вас назван объект)
useAnimationDim = true
lightBrightenSpeed = 2
lightDimSpeed = 2
animationName = LightAnimation - или любое другое имя анимации
resourceAmount = 0.02
useResources = true
}

 

Результат:

 

 

При необходимости поиграться с параметрами range/intensity для достижения нужного результата.

 

Создание IVA

alexustas

 

Выдалась свободная "минутка" (т.е. часа полтора-два) и я решил опять написать тутор по созданию IVA
В качестве наглядного пособия я буду использовать свою капсулу A.L.C.O.R.

Итак,
Intra-Vehicular Activity
aka
Внутрикорабельная деятельность

В контексте игры, этот термин подразумевает пребывания игрока внутри командного (или просто, обитаемого) модуля, и, до недавнего времени, никакого толка от этого пребывания, по сути, не было. но мы сейчас не об этом...
КЭП всегда рад помочь, и подсказать, что для того, чтобы в чем-то где-то пребывать, нужно сначала "Это/где-то" создать. Вот об этом мы сейчас и поговорим.

Давай разберемся, "что" тут "где" и "когда".
В КСП, Обитаемый (а как правило он же и Командный, но это не обязательно) модуль состоит из ТРЕХ независимых компонентов:
1. Внешняя (external) модель - это то, что мы видим в ВАБе и с внешней камеры в процессе игры, существует и виден всегда
2. Внутренняя (internal) модель - это интерьер кабины, может жить в двух слоях "реальности", один из которых существует только когда мы находимся внутри кабины, второй существует всегда, как и External
3. Реквизит (Props) - отдельные элементы, созданные для наполнения Интерьера (приборы, индикаторы, кнопки и т.д.), прописываются и живут там же, где и Internal
Отсюда и первое наблюдение:
пункт №1 (External) может вполне себе существовать без пунктов 2 и 3, пункт №2 может существовать без №3, но №3 не может существовать без №2, а №2 не может существовать без №1.
Вот такая "Санта Барбара" получается.

А теперь, давайте выясним, что же такое интерьер (Internal) с точки зрения КСП и Юнити:
Модель Internal - это по сути, такой же Парт (Part) как и любой другой, но с некоторыми заморочками характерными отличиями:
Первое, что нужно понять - на интерьер мы смотрим находясь в нем, то бишь изнутри модели.
Юнити (Unity) все поверхности считает ОДНОСТОРОННИМИ, т.е. полигоны видны, если мы смотрим на них с "лицевой" стороны и НЕ видны, если мы смотрим на них с обратной стороны. А в случае с Интерьером, как я у же писал чуть выше, мы как раз таки его видим с обратной стороны. Что это значит? Правильно! Это значит, что:
Наблюдение второе
нормали полигонов модели Internal должны быть ИНВЕРТИРОВАНЫ!

Теперь время пояснить, что я имел ввиду под термином
"Слои реальности".
В КСП, различные элементы сцены живут в разных Слоях (Layer). игровой движок комбинирует эти слои в нужной для данной ситуации последовательности и, в итоге, формирует для игрока игровую сцену, т.е. то, что мы в итоге видим на экране.
Чтобы КСП правильно сформировала для нас эту сцену, нам надо правильно распределить элементы (на этапе подготовки моделей в Юнити) по Слоям (Layer).
Для Интерьера в КСП зарезервированы ДВА слоя (Layer):
1. Internal Space
2. Kerbals
Печалька в том, что (по умолчанию) этих слоев в Юнити нет. хорошая новость - мы их можем легко создать!


Для этого, тыкаем в меню " Layer " и в самом низу списка выбираем " Add Layer... "


В открывшемся окне в строке " User layer 16 " мы пишем " Kerbals ", в строке " User layer 21 " - " Interna Space "


Заодно, можете сразу создать и Part Triggers, прямо сейчас оно нам не надо. Но раз уж мы в этом меню, то пусть сразу уж будет. потом пригодится.

Наверняка, у вас уже возник логичный вопрос - "А нафига нам столько почему мы сделали ДВА слоя и в чем разница?".
А вот почему.
Помните, в игре, в правом нижнем углу, есть маленькие такие экранчики с мордами наши отважных Кербонавтов?


Чтобы нам их показать, игра создает специальные камеры напротив каждого кресла в кабине и картинка с этой камеры помещается в тот самый экранчик. Но, может получится так, что вы построите такой интерьер, что между Кербалом, сидящим в кресле, и камерой, которая его снимает, окажется какой-то предмет (или вообще стенка капсулы) и картинка получится "не айс" (с)... Чтобы уладить эту досадную неприятность мы и воспользуемся РАЗНЫМИ слоями (Layer). А именно:
- все, что должно быть на экранчике с мордой мы поместим, т.е. для выделенной детальки выберем из списка слоев, Слой (Layer) " Kerbals " (потому-то он так и называется)
- все, что должно быть в Интерьере, но НЕ должно отображаться на экранчиках, мы назначаем в Слой (Layer) " Internal Space "
Вот такое колдунство. Но это еще ерунда, ща будет еще веселее ибо...

"ОРИЕНТАЦИЯ"

Что можно о ней сказать? Она, как и практически все в КСП, не совсем традиционная. Сквад, в бесконечной своей мудрости, нагородил аццкий огород с координатными системами для разных элементов сцены и теперь нам с этим надо как-то жить.

Наблюдение третье:
Создатели КСП - весьма неординарные личности и простому обывателю никогда не понять всю глубину и масштаб....

В момент, когда мы решим заняться той самой "внутрикорабельной деятельностью", то бишь зайдем в I.V.A., мы со всего маху столкнемся лицом к лицу ажно с ТРЕМЯ РАЗНЫМИ системами координат:

1. Внешняя модель (External)
Ось Z - верх, ось Y - перед

2. Интерьер (Internal)
Ось Z - задЪ, ось Y - верх

3. Кербонавты (Kerbals)
Ось Z - перед, ось Y - верх

Круто, правда?
Как это выглядит на практике? Да ужасно это выглядит на практике, и очень неудобно это на практике и, на практике, это дико бесит. Но деваться некуда. я решил эту проблему следующим образом.
В "трехмерке" (я крутой работаю в Maya), я ничего никуда не разворачиваю и работаю с одной, общей ориентацией. ибо так гораздо удобнее


синий цвет - External | зеленый - Internal.
И прямо вот так же и экспортирую обе модели в Юнити
А дальше, у же в Юнити, я привязал все, что относится к Интерьеру, к GameObject 'у (не забудьте сначала обязательно обнулить его координаты) и уже его развернул по оси X на 90 градусов и по оси Y на 180. Получилось вот так:

 

черный - это Internal.

Чуть не забыл. чтобы была I.V.A. нужно же поселить в кабину Кербонавтов! Иначе же кто эту деятельность там будет разводить?!


Для этого надо создать, что бы вы думали? Пралльна! Наши любимые Gameobject 'ы, а куда ж без них-то в нашем деле.
Итак, делаем GameObject -> Create Empty. Называем его " Seat1 ", то бишь "кресло1". и размещаем его там, где у нас должен сидеть Кербал, не забывая о том, что у него верх - это Y, а смотрит он вдоль Z повторяем процедуру столько раз, сколько у нас по паспорту вмещает кабина. Имена соответственно будут " Seat2 ", " Seat3 " и т.д.

 

Теперь, как было описано выше, все, что у нас будет интерьером, раскладываем по слоям "Internal Space " и " Kerbals ". Создаем еще один GameObject (обнуляем его координаты!). Вешаем на него компонент PartTools и экспортируем обычным порядком, как любую другую деталь (Part)


настройки материалов и прочего я тут пропускаю, ибо ничего особенного в данном случае с ними делать не надо.
Структура файлов (в геймдате) для Командного модуля обычно выглядит так:
Gamedata / Ваше название компании или никнейм / название мода/ название детали/, а в ней:
-> Part - тут лежит External модель с текстурами и конфигом
-> Spaces - сюда мы экспортируем модель Интерьера (Internal) с текстурами и создаем ее конфиг
-> Props - это реквизит, созданный для нашего Интерьера. отдельная история, об этом в другой раз
-> Sounds (опционально) - это ваши кастомные звуки

И так. У нас есть mu-файл и текстуры, но это еще не Интерьер, чтоб эти груды байтов стали Интерьером, нам нужно прикрутить к ним конфиг
В самом простом случае, конфиг для интернала будет выглядеть так:

INTERNAL
{
name = ALCORInternals3
MODULE
{
name = InternalSeat
seatTransformName = Seat1
allowCrewHelmet = false
}
MODULE
{
name = InternalSeat
seatTransformName = Seat2
allowCrewHelmet = false
}
MODULE
{
name = InternalSeat
seatTransformName = Seat3
allowCrewHelmet = false
}
}

name = ALCORInternals3 - официальное название вашего Интерьера
name = InternalSeat - название модуля, добавляющего Кербала
seatTransformName = Seat1 - название Геймобжекта, указывающего где этот Кербал должен сидеть
allowCrewHelmet = false - указывает, в шлеме или без него должен сидеть кербал в этом кресле

Вот, собственно, и все с конфигом Интерьера.
Помните, я писал в самом начале, что Интереьер не может существовать БЕЗ Внешней модели? Молодцы!
А это значит, что нам надо связать наш новенький, уютненький, сверкающий свежей краской, Интерьерчик с внешней моделью Командного модуля.
Делается путем прописывания ссылки на модель Internal в кофиге Командного модуля (т.е Part 'а.).

Открываем конфиг капсулы и вписываем аккуратным, каллиграфическим почерком:

INTERNAL
{
name = ALCORInternals3
}

Все! теперь КСП, в момент воссоздания вашего корабля, дойдя до командного модуля, увидит, что с ним ассоциирован Интерьер (Internal) с именем " ALCORInternals3 " и, зайдя в I.V.A., вы окажетесь в том самом Интерьере, который только что построили.

You Win!


П.С.
И да! Не вздумайте на модель Internal вешать коллайдер, а то капецЪ

 

Date: 2016-11-17; view: 281; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию