[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Как создать блики фар на машине?
St1ngLeRДата: Пятница, 03.01.2020, 21:47 | Сообщение # 1
Титул: Sunlight Studios - Owner
Ранг: Бог
Город: Москва
С нами с: 04.11.2018
Сообщений: 303
Репутация: 77
Вступление
Всем привет! В предыдущей статье вы научились конвертировать машины из игр Synetic (я надеюсь) и вы наверняка заметили, что фары на вашей машине горят не так, как у стандартных машин, это потому что на них отсутствуют omni-огни. Эти огни позволяют в игре генерировать блики фар в реальном времени в зависимости от их расположение и видимость от лица камеры.

Этап 1: Подготовка ПО
Прежде всего, я хочу сказать, что есть по крайней мере 2 способа создания бликов:
1. С помощью 3ds Max
2. С помощью Blender
Разумеется, я обладаю этими двумя программами, но по мне легче делать через 3ds Max (особенно 2010 версия)
Для первого способа нам нужно:
3ds Max (у меня 2010 версия, можно любую)
Make3ds, Makep3d (из SDK)
ZModeler 1.07b

Этап 2: Названия фар
Исходя из предыдущей статьи вы знайте, что для обозначение передних огней, и задних нужно использовать префикс «headl_*», а для тормозных «brakel_*».
У всех машин в Crashday названия фар в принципе одинаковые и придерживаются правил, кое их вам я опишу ниже.
Названия фар:
headl_l — Левый передний огонь
headl_r — Правый передний огонь
headl_rl — Левый задний огонь
headl_rr — Правый задний огонь
brakel_l — Левый тормозной огонь
brakel_r — Правый тормозной огонь
Для omni-огней название должно быть такое [фара, привязанная к omni-огню]_[число]. Например, headl_l_1 — Omni-огонь для левого переднего огня. Самих omni-огней на одном мэше фары может быть несколько, поэтому можно еще использовать headl_l_1, headl_l_2 и так далее.
Если вы хотите, допустим, сделать 4 передних огня по 2 пары, то вы можете их написать как:
headl_l1, headl_l2, headl_r1, headl_r2 и так со всеми любыми огнями.
Ограничение на omni-огней скорее всего нет, но лучше придерживаться максимум 8 источников света.

Этап 3: Конвертация в .3ds
ВНИМАНИЕ: Учтите, что названия деталей машины и ее текстур не должны превышать 8 символов (не считая расширение файла для текстур), иначе 3ds Max не примет файл для открытия!
Для конвертации в .3ds-формат необходимо воспользоваться программой от самих же разработчиков Crashday — Make3ds. Конечно, если запустить саму программу, то у вас на мгновение откроется и закроется командная строка, это потому эта программа, как и ее аналог Makep3d является командной строкой.
Для того чтобы программа сконвертировала модель, нужно создать ярлык программы и желательно положить его в папку с машиной.
Дальше нажмите на ПКМ по ярлыку и зайдите в свойства, и в поле «Объект» нужно вписать:
«расположение программы» -in [папка_машины/машина.p3d] -out [папка_машины/машина.3ds]
«-in» — Модель в .p3d-формате для конвертации
«-out» — Сохранение модели в .3ds-формате

Этап 4: Работа с фарами
После конвертации модели запускаем 3ds Max и открываем модель.

Вот так должна приблизительно выглядеть модель в 3ds Max. После открытия модели мы снимаем выделения, кликнув по свободной площади. Затем нажав по ПКМ мы в меню нажимаем на «Hide Unselected», чтобы скрыть всю модель. Потом по тому же меню нажимаем на «Unhide by Name» и выделяем все части машины с префиксами «headl_*» и «brakel_*».

В итоге вы будете видеть только фары машины, как на скриншоте сверху. С помощью Ctrl+A выделяем фары и в меню справа нажимаем на «Hierarchy», затем «Affect Pivot Only» и «Center to Object». Это нужно для того, чтобы мы могли omni-огни переместить к координатам осей (Pivots), а не к самим мэшам (mesh).

Затем кликаем обратно в «Create» и заходим в «Lights». В разделе Standard выбираем Omni, и в разделе Intensity/Color/Attenuation в Far Attenuation указываем везде 1.0.

В итоге у вас должно получиться все как на скриншоте сверху. Дальше кликаем по свободной площади один раз, таким образом мы создаем один omni-огонь.
Кликаем по ПКМ свободной площади и в меню нажимаем «Move». Кликаем по передней фаре и в окне Move появляются координаты оси фары, копируем эти координаты, нажимаем по omni-огню и вставляем координаты. Вы также можете изменять сами координаты omni-огней в зависимости от ситуации. Не забывайте переименовывать omni-огонь, по тому принципу, который был описан ранее. После этого нажимаем по ПКМ по omni-огню и нажимаем в меню «Copy». И так повторяем пока не дойдем до задних/тормозных огней.

Чтобы создать задние/тормозные огни повторяем те же действие, но только помимо Far Attenuation мы выбираем цвет. Нажимаем в Intensity/Color/Attenuation около Multiplier на белый прямоугольник и выбираем красный цвет. Дальше делаем все также.

По завершению работы в 3ds Max мы c помощью Ctrl+A выделяем фары и в меню справа нажимаем на «Hierarchy», затем на «Reset Pivot». Таким образом мы сбрасываем расположение осей фар, теперь они расположены на координатах (0, 0, 0). Сохраняем модель в .3ds-формат и закрываем 3ds Max.

Этап 5: Конвертация в .p3d
Для конвертации в .p3d-формат необходимо воспользоваться программой Makep3d. Она, как я вам говорил раньше, сделана в форме командной строки, поэтому мы также создаем ярлык программы и копируем ярлык в папку с машиной.
Ниже приведены параметры, которые можно применить к конкретно этой программе:
«-in [название_файла.p3d]» — Модель в .3ds-формате для конвертации
«-out [название_файла]» — Сохранение модели в .p3d-формате
«owrite» — Перезаписать файл без спроса пользователя
«notex» — Заменить любую текстуру, если нет необходимой текстуры в директории
«swap» — Изменить ориентацию полигонов
«ignoredupl» — Не «сливает» дублированные вершины (имеют одинаковое положение в пространстве) в одну.
«sgs» — Используйте, если вы конвертируете модель с использованием групп сглаживания (Smoothing Groups). Полезно для поддержания резко затемненных краев. При использовании этого параметра в большинстве случаев нет необходимости включать «-ignoredupl»
«scale xx.xx» — масштабирование. Значение 1.0 означает исходный масштаб
«-liftbottombound xx.xx» — Сдвигает вверх модель по нижней плоскости ограничительной рамки до определенного значения (в метрах). Всегда требуется, когда вершины в элементах мэша «main» лежат ниже 0-высоты.
«-lowertopbound xx.xx» — Сдвигает модель по верхней плоскости ограничительной рамки
«-mirrorx» — Отзеркаливает модель по оси X
«-mirrory» — Отзеркаливает модель по оси Y
«-mirrorz» — Отзеркаливает модель по оси Z
«-flares» — Применяет к модели блики фар (если есть omni-огни)
Все с этими параметрами можно экспериментировать сколько угодно, но все таки я вам советую придерживаться этим наборам параметров:
«расположение программы» -flares -in [папка_машины/машина.3ds] -out [папка_машины/машина.p3d] -ignoredupl -owrite
По окончанию конвертации программа напишет «program terminated», чтобы удостоверяться, что вы все сделали правильно — пролистайте вверх и если написано что больше чем 0 света прочитано (x lights read…), то у вас все правильно. Также не забудьте проверить правильность написания названия фар в carinfo.cca
ВНИМАНИЕ: В carinfo.cca подписывайте только названия мэшей фар, а не их omni-огни. Также при removemesh1=[фара с omni-огнем] удалиться только мэш фары, а блик останется!

Итог


Ну что же, результат на скриншотах сверху! Машина словно «оживает» с бликами!

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

Спасибо за прочтение статьи! Если есть вопросы или проблемы пишите в личку или в дискорд — St1ngLeR#6761

Версия для ВК
Прикрепления: 5641053.jpg (189.3 Kb) · 2136818.jpg (95.5 Kb) · 4754623.jpg (115.4 Kb) · 2347055.jpg (7.1 Kb) · 8267718.jpg (99.7 Kb) · 9577485.jpg (98.4 Kb) · 9335579.jpg (66.8 Kb) · 5908156.jpg (70.3 Kb)


Мой ВК
Мой YT-канал

Наша группа ВК
Наш Дискорд-сервер

Статус: Offline
ОнотолеДата: Пятница, 03.01.2020, 22:11 | Сообщение # 2
Титул: Sunlight Studios - Member
Ранг: Вольный джигит
С нами с: 04.11.2018
Сообщений: 30
Репутация: 1
Блин, капец, спасибо! Долго искал как сделать эти блики, в SDK не написано! Спасибо, стинглер!!!!    

Сообщение отредактировал Онотоле - Пятница, 03.01.2020, 22:11
Статус: Offline
URVДата: Пятница, 03.01.2020, 22:26 | Сообщение # 3
Ранг: Пустое место
Город: Phoenix
С нами с: 19.05.2019
Сообщений: 8
Репутация: 0
Статья вышла достаточно понятной и расписанной, мне понравилась! Я лично использую способ с Blender, там практически все точно также!
Статус: Offline
TamplierДата: Пятница, 03.01.2020, 22:29 | Сообщение # 4
Титул: Sunlight Studios - Member
Ранг: Вольный джигит
С нами с: 04.11.2018
Сообщений: 35
Репутация: 2
Спасибо большое! Статья действительно полезная!  biggrin
Статус: Offline
stalkerДата: Понедельник, 10.02.2020, 23:47 | Сообщение # 5
Титул: Sunlight Studios - Member
Ранг: Лалка
Город: Воронеж
С нами с: 04.11.2018
Сообщений: 29
Репутация: 1
Хороший тутор, но мне бы хотя бы освоить навыки 3д-моделлирования
Статус: Offline
St1ngLeRДата: Понедельник, 10.02.2020, 23:51 | Сообщение # 6
Титул: Sunlight Studios - Owner
Ранг: Бог
Город: Москва
С нами с: 04.11.2018
Сообщений: 303
Репутация: 77
stalker, ты собираешься делать машину с нуля? Если да, то надо конечно освоить. А если хочешь конвертировать машину из другой игры то нужно осилить ZModeler 1.07b: знать изменения моделей (перемещение, вращение, соединение/отделение, растяжение и т.д.), знать как конвертировать текстуры и так далее. Сразу скажу, лучше начинать с добавлением тюна на другие тачки (с разрешением автора конечно) я таже делал 4-5 лет назад... были времена...

Мой ВК
Мой YT-канал

Наша группа ВК
Наш Дискорд-сервер

Статус: Offline
stalkerДата: Понедельник, 10.02.2020, 23:52 | Сообщение # 7
Титул: Sunlight Studios - Member
Ранг: Лалка
Город: Воронеж
С нами с: 04.11.2018
Сообщений: 29
Репутация: 1
St1ngLeR, хорошо, попробую добавить тюнинг...
Статус: Offline
rgamerДата: Пятница, 27.03.2020, 22:46 | Сообщение # 8
Ранг: Пустое место
С нами с: 31.12.2018
Сообщений: 1
Репутация: 0
Спасибо Вам за учебник! Я же из раздора!
Статус: Offline
St1ngLeRДата: Пятница, 27.03.2020, 22:46 | Сообщение # 9
Титул: Sunlight Studios - Owner
Ранг: Бог
Город: Москва
С нами с: 04.11.2018
Сообщений: 303
Репутация: 77
rgamer, всегда рад помочь! Но что за раздор?  wacko

Мой ВК
Мой YT-канал

Наша группа ВК
Наш Дискорд-сервер

Статус: Offline
PlymouthДата: Пятница, 27.03.2020, 22:47 | Сообщение # 10
Титул: Sunlight Studios - Member
Ранг: Лалка
С нами с: 04.11.2018
Сообщений: 20
Репутация: 1
St1ngLeR, Гугл транслейт говорит что это Discord. Rgamer немец же.
Статус: Offline
St1ngLeRДата: Пятница, 27.03.2020, 22:48 | Сообщение # 11
Титул: Sunlight Studios - Owner
Ранг: Бог
Город: Москва
С нами с: 04.11.2018
Сообщений: 303
Репутация: 77
Plymouth, а да точно!  biggrin  biggrin  biggrin  biggrin  Извеняюсь.  smile  smile

Мой ВК
Мой YT-канал

Наша группа ВК
Наш Дискорд-сервер

Статус: Offline
  • Страница 1 из 1
  • 1
Поиск:

При копировании материала с сайта, ссылка на https://cdgl.clan.su/ ОБЯЗАТЕЛЬНА !