Создание проекта Lamborghini Urus (WebGL/PlayCanvas). Часть 8.

Vasyl Lukianenko
Vasyl Lukianenko
3D Artist and Technical Author
Вы читаете часть: 1 2 3 4 5 6 7 8 9 10

Вступление Часть 8

Это Часть 8 из серии уроков по созданию Lamborghini Urus при помощи WebGL/PlayCanvas.

Для тех, кто не читал предыдущие части, вот демонстративное видео.



В этой части урока, мы добавим в сцену интерьер автомобиля и настроем для него материалы. 

Доступ к материалам, такие как: модели в формате "FBX", текстуры, запеченные карты "AO" и другое, вы можете получить оформив подписку на Patreon.

Patreon - 3DGROUND

Приборная доска салона

Добавим объект в сцену "SM_Panel", по аналогии с предыдущей частью урока. Перетаскиваем "FBX" файл на панель "Assets" → "car". Затем "Template" с названием "SM_Panel" перетаскиваем на панель "Hierarchy" → "Car".

Для того, чтобы вам было легче работать с данным объедком, выберите все не нужные элементы автомобиля и снимите флажок "Enabled" на панели "Inspector". Таким образом, вы скроете объекты.

playcanvas panel
Loading...

Практически все материалы мы будем создавать с нуля, за исключением "M_BlackMetal" - 3 слот, "M_Mirror" - 5 слот и "M_Brake" - 6 слот.

playcanvas panel materials
Loading...

Материал M_Panel_BlackPlastic

playcanvas material panel blackplastic preview
Loading...
playcanvas material panel blackplastic settings
Loading...

Материал Panel_Chrome

playcanvas material panel chrome preview
Loading...

В данном материале, хочу сделать акцент на сверток "Environment". Здесь режим "Projection" переключен на "Box", и изменены "Center" и "Half Extents", для того чтобы добиться интересного эффекта в бликах, - смазанные полосы под 30-40 градусов.

playcanvas material panel chrome settings
Loading...

Материал InteriorDisplays

playcanvas material interiordisplays preview
Loading...
playcanvas material interiordisplays settings
Loading...

Материал Panel_BlackLeather

playcanvas material panel blackleather preview
Loading...
playcanvas material panel blackleather settings
Loading...

Материал Panel_Carbon

playcanvas material panel carbon preview
Loading...
playcanvas material panel carbon settings
Loading...

Материал Panel_Leather

playcanvas material panel leather preview
Loading...
playcanvas material panel leather settings
Loading...

Материал Panel_Buttons

playcanvas material panel buttons preview
Loading...
playcanvas material panel buttons settings
Loading...

Результат

playcanvas panel result
Loading...

Интерьер салона

Добавим объект в сцену "SM_Interior". Перетаскиваем "FBX" файл на панель "Assets" → "car". Затем "Template" с названием "SM_Interior" перетаскиваем на панель "Hierarchy" → "Car".

playcanvas interior
Loading...

Материал "M_BlackMetal" - 4 слот и "M_ChromeClearDark" - 3 слот, возьмем из готовых. Все остальные материалы создадим с нуля.

playcanvas interior materials
Loading...

Материал Interior_BlackPlastic

playcanvas material interior blackplastic preview
Loading...
playcanvas material interior blackplastic settings
Loading...

Материал Interior_Carpet

playcanvas material interior carpet preview
Loading...
playcanvas material interior carpet settings
Loading...

Материал Interior_Leather

playcanvas material interior leather preview
Loading...

Обратите внимание, что данный материал установлен на слот 5 и 7.

playcanvas material interior leather settings
Loading...

Материал Rubber

playcanvas material rubber preview
Loading...
playcanvas material rubber settings
Loading...

Материал Interior_LeatherSeat

playcanvas material interior leatherseat preview
Loading...
playcanvas material interior leatherseat settings
Loading...

Результат

playcanvas interior result
Loading...

Свечение задних фар

playcanvas create glow effect
Loading...

Создадим пустой "Entity" в "Hierarchy" → "Root" с названием "BackLight_GlowEffect", в него добавим обычный "Plane". Повернем "Plane" на "-90" градусов по оси "X". Ставим "Scale" по всем осям равным "0.7".

playcanvas glow effect
Loading...

Также у "Plane" отключаем свойства "Cast Shadows", "Cast Lightmap Shadows", "Receive Shadows".

Теперь, для "Plane" создадим и применим материал с именем "GlowEffect". Для создания материала вызовите контекстное меню на панели "Assets" и выберите пункт "Material".
Примените настройки для материала, как показано на скриншоте ниже.

playcanvas material glow effect
Loading...

Передвиньте "BackLight_GlowEffect" к левой задней фаре и поверните по оси "Y" на "90" градусов.

playcanvas move glow entitty
Loading...

Отлично. Осталось добавить "Component" - "Script" и назначить в качестве скрипта уже существующий "hotspot", который мы применяли к солнцу.

playcanvas apply script for glow
Loading...

Для "hotspot" в настройках "Camera Entity", выбираем объекта "Camera". Делаем дубликат "BackLight_GlowEffect" и передвигаем вправо для правой задней фары.

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

Результат

playcanvas glow effect result
Loading...

Настройки камеры

playcanvas default camera view
Loading...

Как вы могли заметить, по нажатию кнопки "Play", вид камеры по-умолчанию улетает далеко от сцены. Сейчас мы исправим эту ситуацию.

playcanvas camera settings
Loading...

Выберите объект "Camera" на панели "Hierarchy", при помощи инструмента "Move" и "Rotate", установите желаемый вид из камеры. Затем, в настройках на панели "Inspector", произведите настройки, как указаны на скриншоте выше.

Для скрипта "orbitCamera", выставляем максимальный и минимальный угол "80" и "2" градуса, чтобы нельзя было "проваливаться" камерой сквозь землю. "Inertia Factor"- добавит плавности кручения камере. А для "Focus Entity", выберите наш "Entity" - "Car", чтобы вид был "прибит" к нашему автомобилю.

Нажимаем "Play", - и автомобиль у нас в центре кадра, мы не проваливаемся при кручении сквозь землю и кручение стало само по себе приятнее.

playcanvas camera settings result
Loading...

Дополнительные скрипты для Camera

Добавим несколько скриптов для камеры из бесплатного магазина ассетов Playcanvas.

Для этого, нажмите кнопку "Store" на панели "Assets".

playcanvas button go to store
Loading...

На странице "Store", отсортируйте контент по тегу "Script".

playcanvas store filter by tag
Loading...

Добавим следующие скрипты: "Vignette Post Effect", "Bloom Post Effect", "FXAA Post Effect".

playcanvas camera scripts from store
Loading...

Нажмите на карточке со скриптом,  затем нажмите кнопку "Download" и выберите ваш проект.

playcanvas download asset from store
Loading...
playcanvas download effet select project
Loading...

И так, для каждого перечисленного скрипта. Такое добавление часто-используемых эффектов, скриптов и ассетов очень удобно, за что большая благодарность разработчикам Playcanvas.

Возвращаемся в наш проект. У вас в корне панели "Assets" должны появится три скрипта. Перетяните их в папку "scripts".

playcanvas downloded from store scripts
Loading...

Выбираем объект "Camera" на панели "Hierarchy", добавляем новые скрипты из списка "Add script": "fxaa", "bloom", "vignette" на панели "Inspector".

playcanvas add scripts to camera
Loading...

Настройте параметры скриптов, как показано на скриншоте ниже.

playcanvas setting camera scripts
Loading...

Результат

Как вы можете видеть, появилась виньетка по краям, Antialiasing стал немного лучше и стал более выражен эффект свечения. 

playcanvas camera scripts result
Loading...

Эффект выхлопных газов

В Playcanvas присутствует система Particles, благодаря которой можно создавать интерактивные эффекты.

playcanvas particles
Loading...

Создайте пустой "Entity" и назовите "Particles", добавьте в него "Particle System". Передвиньте его к левой крайней выхлопной трубе.

В качестве текстуры "дыма", будем использовать данную текстуру.

t smokepuff
Loading...

Мой пример настроек.

playcanvas particle settings
Loading...

Графики "Velocity", "Radial Speed", "Opacity".

playcanvas particle graph
Loading...

Сделаем дубликат "Particle System", и передвинем немного вправо. Зададим следующие настройки.

particle system duplicate
Loading...

Отлично, теперь сделаем дубликаты этих двух "Particle System" и передвинем вправо к другим выхлопным трубам.

playcanvas particles complete
Loading...

Результат

playcanvas particles result
Loading...

Заключение

conclusion part 7
Loading...

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

В следующей части урока, мы будем добавлять еще больше интерактивности и улучшать освещение.

Вы читаете часть: 1 2 3 4 5 6 7 8 9 10

FAQ

1. О чём эта статья?
Статья продолжает разработку проекта Lamborghini Urus в PlayCanvas и посвящена очередному этапу создания интерактивного автомобильного WebGL-конфигуратора.
2. Что рассматривается в Part 8?
В этой части рассматриваются дополнительные улучшения проекта, новые визуальные возможности и дальнейшее развитие функционала конфигуратора.
3. Почему развитие проекта разбивается на несколько частей?
Пошаговый подход позволяет подробно рассмотреть каждый этап разработки, тестирования и внедрения новых возможностей.
4. Какие аспекты чаще всего улучшаются на поздних этапах разработки?
Обычно совершенствуются визуальные эффекты, интерфейс, производительность, удобство использования и интерактивность проекта.
5. Почему качество визуализации так важно для автомобильных проектов?
Реалистичное отображение автомобиля помогает пользователям лучше оценить продукт и повышает уровень вовлечённости.
6. Можно ли улучшать материалы и освещение на протяжении всей разработки?
Да. Материалы и освещение часто дорабатываются несколько раз для достижения максимально реалистичного результата.
7. Как интерактивность влияет на восприятие продукта?
Возможность взаимодействовать с моделью делает презентацию более наглядной и позволяет пользователям самостоятельно исследовать продукт.
8. Почему важна производительность WebGL-приложения?
Высокая производительность обеспечивает плавную работу проекта на различных устройствах и улучшает пользовательский опыт.
9. Какие преимущества даёт PlayCanvas при создании конфигураторов?
Платформа позволяет быстро создавать интерактивные браузерные приложения с поддержкой современных WebGL-технологий.
10. Можно ли использовать аналогичные методы для других продуктов?
Да. Такие подходы подходят для мебели, бытовой техники, промышленной продукции, недвижимости и других интерактивных презентаций.
11. Насколько важна оптимизация ресурсов?
Оптимизация помогает сократить время загрузки, уменьшить нагрузку на устройство пользователя и повысить стабильность работы проекта.
12. Могут ли такие проекты работать на мобильных устройствах?
Да. При правильной оптимизации проекты могут эффективно работать как на компьютерах, так и на мобильных устройствах.
13. Требуются ли знания программирования для реализации сложных функций?
Да. Для создания нестандартной логики и расширенного функционала обычно необходимы знания JavaScript и PlayCanvas API.
14. Какие преимущества имеет WebGL перед традиционными изображениями?
WebGL позволяет пользователям взаимодействовать с объектом в реальном времени, изменять параметры и рассматривать детали под любым углом.
15. Можно ли продолжать развивать проект после завершения основной разработки?
Да. Новые функции, улучшения интерфейса и дополнительные возможности могут добавляться даже после публикации проекта.
16. Для кого будет полезна эта статья?
Для разработчиков PlayCanvas, специалистов по WebGL, технических художников, специалистов по автомобильной визуализации и всех, кто интересуется созданием современных интерактивных 3D-приложений.
Vasyl Lukianenko
Vasyl Lukianenko
3D Artist and Technical Author
Vasyl Lukianenko is a 3D artist and technical author focused on practical workflows, optimization, and production-ready techniques. He publishes tutorials, courses, and tools to help artists work faster and get cleaner results.
{{commentsMsg}}
  

Никто не оставил комментариев
{{comment.lastname}} {{comment.name}} {{comment.date}}
{{comment.text}}
Sponsored content