SpaceDock.ru - моды, гайды, детали, ракеты, самолеты для Kerbal Space Program

Добро пожаловать, войдите или зарегистрируйтесь
Забыли?
Закрыть
    1. »
    2. »
    3. »
    4. Кирпичики и куличики. Моддинг в КСП - 99 страница

Кирпичики и куличики. Моддинг в КСП

2013-08-24T09:55:59+02:00 2018-09-08T20:45:08+02:00
Кербонавт
  1. Офлайн
  2. Модераторы
  3. 6518 сообщений
  4. Репутация: 0
  5. Личка /  Профиль
Полезность: 11 | сообщение № 1 отправлено 20:15, 10.09.2013
Поскольку никто так и не захотел делать пост-указатель, я начну:

Создание 3D модели, текстурирование и прочие предварительные ласки.
-Моделирование грузового отсека в 3D Max(видеоурок).
-Немного об альфа-канале.
-Создание бликов при помощи альфа-канала.
-Простой способ сделать рельеф.
-Свечение при помощи текстуры emissive.
-Создание зацикленной анимации
-Запекание текстур в блендере

Работа в Unity или танцы с бубном и немного шаманства.
-Импорт Вашего кирпичика модели из 3D редактора в юнити..
-Рецепт создания двигателя.
-Солнечные панели на скорую руку.
-RCS на скорую руку.
-Крылья с элеронами одним куском.
-Добавление тегов в Юнити.
-Делаем колеса сами, или наркомания в самом разгаре.
-Создание докпорта. *Docking port© connecting people*
-Туториал по IVA или как увидеть Кербин в иллюминаторе.
-Создание фонарей. И сказал Бог: да будет свет. И стал свет.
-Создание слоев освещения.
-Создание шлюзовых отсеков и лестниц
-Упрощенное создание точек крепления модели
-Пробуем создавать NavBall.
-Настройка плавучести деталей и крафтов..
-Добавление звуков для анимации.



Курим вместе .ЦФГ.
-Расстановка стековых нодов на детали.
-Расстановка нодов. Почему не стоит забывать про положительные и отрицательные векторы.
-Объявление ресурсов а также их генерация.
-Модуль двигателя.
-Управление параметрами детали при помощи анимации.
-Немного об анимации в .цфг.


Другие полезные вещи.
-Если деталь не появляется в игре.
-Блендеристам на заметку: различия систем координат Юнити и блендера.
-IVA Tutorial
-пропорции кербонавтов
-Короткий гайд по созданию модов о восьмидесяти семи страницах от KiRiK
-Собрание священных скрижалей мододелов(на бусурманском)
-Грани, полигоны и нормали. Или почему модель может быть некошерной.
-Видео уроки по моддингу от belpyro

З.Ы. Да, мне лень перелопачивать тему. Находите нужное место, стучите мне по голове просите кого-нибудь из обладателей погон добавить это в этот пост. Профит. Вот как это работает.

Последний раз редактировал manhack 09:50, 27.08.2015

------------------------------------------
Не люблю людей... ну или не умею толком их готовить.
Местный Джебедай
  1. Офлайн
  2. Посетители
  3. 165 сообщений
  4. Репутация: 0
  5. Личка /  Профиль
Полезность: 0 | сообщение № 1471 отправлено 16:05, 13.08.2014
nikollor, при попытке загрузить эту кабину у меня юнити зависает насмерть..

nikollor, спустя пять минут Юнити вышел из комы. нашёл разложенные по кабине LightBox'ы.. а в файлах их нет..


------------------------------------------
jedi5218, он везде jedi5218
Аккаунт удален
  1. Гости
Полезность: 0 | сообщение № 1472 отправлено 11:40, 14.08.2014
- Создание фонарей

Для создания прожектора необходимо иметь 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 для достижения нужного результата.

Последний раз редактировал manhack 11:44, 14.08.2014
Кербонавт
  1. Офлайн
  2. Модераторы
  3. 6518 сообщений
  4. Репутация: 0
  5. Личка /  Профиль
Полезность: 0 | сообщение № 1473 отправлено 12:13, 14.08.2014
Цитата:Результат:



Почему он такой грустный?


------------------------------------------
Не люблю людей... ну или не умею толком их готовить.
Диванный теоретик
  1. Офлайн
  2. Посетители
  3. 742 сообщений
  4. Репутация: 0
  5. Личка /  Профиль
Полезность: 0 | сообщение № 1474 отправлено 12:17, 14.08.2014
Лякуша Уляпик (14.08.2014, 12:13) писал:
Цитата:Результат:



Почему он такой грустный?

Он его не кормит
Разве ритеги это еда...

Последний раз редактировал IDeXteRI 12:23, 14.08.2014

------------------------------------------

-Джеб, мы падаем?
-Нет, эта чёртова планета летит на нас.
Аккаунт удален
  1. Гости
Полезность: 0 | сообщение № 1475 отправлено 12:23, 14.08.2014
Лякуша Уляпик, От одиночества. К счастью, он теперь не один.

IDeXteRI, А чем я его кормить буду? Ночью солнца нет, жрать нечего. А ритеги погубят его - погибнет от радиации бедняжка
Местный Джебедай
  1. Офлайн
  2. Посетители
  3. 165 сообщений
  4. Репутация: 0
  5. Личка /  Профиль
Полезность: 0 | сообщение № 1476 отправлено 03:17, 15.08.2014
кто может мне это обьяснить? переделываю в очередной раз кабину.. сделал для неё новую деталь интерьера - внутренний фонарик.
поставил лампочки в парттулсе, отправил в игру. создал кабину на взлётной полосе, смотрю - её что-то освещает снизу.
внутри кабины модели фонарика нет, только источник света:
а источник света снаружи, как оказалось, и есть те самые лампочки!


------------------------------------------
jedi5218, он везде jedi5218
Диванный теоретик
  1. Офлайн
  2. Посетители
  3. 715 сообщений
  4. Репутация: 0
  5. Личка /  Профиль
Полезность: 0 | сообщение № 1477 отправлено 15:11, 15.08.2014
jedi5218 (15.08.2014, 03:17) писал:кто может мне это обьяснить?


Я могу

Надо изолировать внутренний Источник Света (ИС) от окружающей, так сказать, среды.
Делается с помощью Слоёв (Layer). Светильнику надо пояснить куда он может светить, а куда вовсе не обязательно.
Для этого в свойствах ИС, в самом низу ищем пункт "Culling Mask", у него есть меню со списком. Первым делом выбираем "Nothing", этим мы нашему ИС вообще запретили что-либо освещать. Теперь надо разрешить только то, что относится у интерьеру кабины. Мы знаем (уж я по крайней мере точно знаю), что весь интерьер живет в двух слоях (Layer): "Kerbals" и "Internal Space". Вот их-то разрешаем освещать нашему внутреннему ИС.



И да, теперь когда вы узнали как управлять Светом , то наверняка и сами сообразите, что если вы делаете обычный (внешний) прожектор/лампочку, то ему стОит запретить (снять галку в Culling Mask) освещать слои "Kerbals" и "Internal Space". Дабы он не светили сквозь стены кабины внутрь.

Последний раз редактировал alexustas 15:12, 15.08.2014
Диванный теоретик
  1. Офлайн
  2. Посетители
  3. 715 сообщений
  4. Репутация: 0
  5. Личка /  Профиль
Полезность: 0 | сообщение № 1478 отправлено 15:47, 15.08.2014
jedi5218 (13.08.2014, 14:54) писал:если кто-то уже разбирался с prop'ами, скажите пожалуйста, как мне сделать лампочку? Обычную лампочку, которая бы включалась при включении света? если привязать объекты с лампочками к интерьеру перед экспортом его модели в KSP у нас получится вечная лампочка, которую нельзя за ненадобностью выключить.
Следовательно, выключающуюся лампочку можно получить, скурив достаточное количество CFG..


Описываю самый простой способ и исхожу из того, что RPM-кнопку ты таки умеешь делать и что у тебя одна группа светильников на всю кабину, управляемая одним-большим -общим-главным Рубильником. И сами приборы освещения Магические, незримые. Т.е. свет от них есть, а вот их сами пока еще нет

И так, в кабине развешиваем лампочки (Game Object -> Create Other-> ИС нужного тебе типа), согласно всем нормам охраны труда, безопасности и последним тенденциям интерьерного дизайна, проводим с ними манипуляции, описанные в моем предыдущем посте, а также, даем им ВСЕМ одинаковое имя, например "FloodLight". С Юнити на этом какбэ и всё. Дальше будем пилить конфиги.

Вру, не все.

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

PROP
{
name = InternalLightSwitch - имя Пропа


MODULE
{
name = JSIActionGroupSwitch - собстна делает из просто Пропа кнопку
animationName = SwitchLightAnim - анимация нажатия/включения самой кнопки
switchTransform = SwitchPUSHcollider - коллайдер в который надо ткнуть мышкой, чтобы включить эту кнопку
actionName = intlight - Магия, специальный Action, управляющий ИС в IVA
internalLightName = FloodLight - да-да, ты прав, наши магические лапочки, так как у них одинаковое имя, они ВСЕ будут синхронно управляться одним Рубильником
needsElectricCharge = true - труЪ Хардкор, свет погаснет, когда кончится электричество

}
}

SAVE!

Идем обратно в Юнити, перегружаем базы PartTools и видим в списке Пропов наш кнопко-рубильник, лепим его на самое видное место и сохраняем свой internal.cfg и сам Internal.

ФСЁ!

Последний раз редактировал alexustas 15:48, 15.08.2014
Аккаунт удален
  1. Гости
Полезность: 0 | сообщение № 1479 отправлено 16:37, 15.08.2014
alexustas, Как я понял, по нажатию на нужный коллайдер можно назначить любое действие, а не только лампочки?
Диванный теоретик
  1. Офлайн
  2. Посетители
  3. 715 сообщений
  4. Репутация: 0
  5. Личка /  Профиль
Полезность: 0 | сообщение № 1480 отправлено 18:28, 15.08.2014
manhak (15.08.2014, 16:37) писал:alexustas, Как я понял, по нажатию на нужный коллайдер можно назначить любое действие, а не только лампочки?

ну не прям совсем-совсем любое, к сожалению

actionName:
- gear
- brakes
- lights
- rcs
- sas
- abort
- stage
- custom01..custom10
- intlight
- dummy
- plugin.
Аккаунт удален
  1. Гости
Полезность: 0 | сообщение № 1481 отправлено 19:04, 15.08.2014
alexustas, Вот под этим списком я и имел в виду любое. А что такое дамми?
Местный Джебедай
  1. Офлайн
  2. Посетители
  3. 165 сообщений
  4. Репутация: 0
  5. Личка /  Профиль
Полезность: 0 | сообщение № 1482 отправлено 20:28, 15.08.2014
видимо, чего-то я делаю не так.alexustas, светильник - проп, или объект вшитый в модель?


------------------------------------------
jedi5218, он везде jedi5218
Аккаунт удален
  1. Гости
Полезность: 0 | сообщение № 1483 отправлено 20:42, 15.08.2014
jedi5218, Как я понял - выключатель - проп с прописанным в конфиге колладером с функцией кнопки. Светильник - объект источника света и анимация, которая пишется в конфиге пропа.
Диванный теоретик
  1. Офлайн
  2. Посетители
  3. 715 сообщений
  4. Репутация: 0
  5. Личка /  Профиль
Полезность: 0 | сообщение № 1484 отправлено 20:56, 15.08.2014
manhak (15.08.2014, 19:04) писал:alexustas, Вот под этим списком я и имел в виду любое. А что такое дамми?


dummy - это "ничего", то есть для бутафорских всяких кнопочек, анимация нажатия проиграется и все.

И еще "dummy" можно и нужно и удобно использовать в комплекте с "perPodPersistenceName = "...

Предвосхищая ваш вопрос, попробую на пальцах объяснить что это есть такое.

И так, раскрывая и углубляя тему светильников в кабине, вспомним, что я рассказывал о неких "Магических" ИС, которые не имеют собственной геометрии.
Как же к Источникам Света, которые по сути, ближайшие родственники Сферического Коня, т.е. просто точки, прикрутить реальные модели космических люстр, торшеров и бра и синхронизировать их работу? Вполне даже просто!

Управляющий элемент у нас, как вы наверное еще пока помните, Главный Рубильник. Надо заставить его не только делать вкл-выкл самому себе и запускать экшн группу "intlight", но и управлять другими Пропами (лампами). Для этого в RPM существует механизм "perPodPersistenceName". Это некая переменная-событие, создаваемое пользователем...
Если мы в конфиг нашего рубильника добавим строчку:

"perPodPersistenceName = TurnInternalLights",

то произойдет следующее. В пределах нашей кабины создастся переменная с гордым именем "TurnInternalLights", хранящая состояние данного Рубильника, и все Пропы, проживающие в нашей кабине, смогут ее увидеть. И когда мы щелкним нашим Рубильником, переменная "TurnInternalLights" станет Истиной, т.е. "true".
Пол дела сделано!
Теперь нам надо Пропам-лампам-люстрам-торшерам указать, чтобы они сидели-висели-лежали-стояли и внимательно следили за состоянием Главного Рубильника, посредством доступной всем переменной "TurnInternalLights". Для этого берем конфиг Пропа-лампочки и копипастим в него ту же самую строчку "perPodPersistenceName = TurnInternalLights", а строчку про коллайдер ("switchTransform = ...") даже и не пишем, потому как сам лампа будет активироваться не по клику на ней, а управляться централизованно, с помощью Главного Рубильника, что вполне логично, по-моему...

конфиг лампы (не путать Лампу и Источник Света!!)

PROP
{
name = InternalLightBox01


MODULE
{
name = JSIActionGroupSwitch
animationName = IntLightBoxAnim
perPodPersistenceName = TurnInternalLights
actionName = dummy
}

}

как вы уже, наверное, заметили, тут используется тот же самый модуль плагина RPM - "JSIActionGroupSwitch", собственно а других-то и нет. И этому модулю обязательно нужен какой-то Экшн, он без него не может вообще никак, а какой ему тут укажешь Экшн, не "Stage" или "RCS" же в самом деле.

А указывать-то надо, палюбасу!

Вот и пригодился нам тут ничего не делающий Экшн "dummy", потому как все что требуется от этого Пропа - это просто проиграть анимацию включения, без каких либо реальных последствий.

И что мы теперь имеем:
1. кнопко-Рубильник проигрывает собственную анимацию нажатия-ключения
2. кнопко-Рубильник зажигает указанные Источники Света с помощью Экшена Intlight
3. кнопко-Рубильник изменяет состояние переменной "TurnInternalLights"
4. Пропы-лампы реагируют на изменение состояния "TurnInternalLights" и проигрывают собственную анимацию включения

Да будет Свет!


Итого.
На примере лампочек, я вам попытался изложить суть управления одними пропами с помощью других (вернее другого) пропов, т.е. создать цепочку Master - Slave, где Master - это какая-то кнопка, активируемая игроком, а Slave'ы - Пропы, реагирующие на состояние Master'a и связанные с ним посредством общего "perPodPersistenceName = "

П.С.
Разумеется можно сделать несколько кнопко-Рубильников для разных групп освещения (в ALCOR'e я сделал три группы). При этом надо задать разные имена Источникам Света, входящие в разные группы. Т.е., например, 2 ИС для пилотского мостика с именами типа "CockpitLight", пару для Инженера с именем "EngineerDeckLight" и пару тройку для общего освещения с именем "FloodLight", сделать три кнопки и прописать в их конфигах "internalLightName = CockpitLight", "internalLightName = EngineerDeckLight" и "internalLightName = FloodLight и соответствующими perPodPersistenceName'ами . Сделать три конфига для ламп, реагирующих, на нужные им персистенты.

И ФСЁ!
Аккаунт удален
  1. Гости
Полезность: 0 | сообщение № 1485 отправлено 21:02, 15.08.2014
alexustas, вроде дошло... И когда ты столько успел нахватать о КСП? Мы же прошлым августом практически одновременно начали изучать это дело
 
Перейти
Найти

Доступ закрыт.

  1. Вам запрещено отвечать в темах данного форума.
Наверх