Добавление интерактивности интерьеру SVOYA (Playcanvas/WebGL). Часть 2

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

Вступление

Это 2 часть из 5 серии уроков по добавлению интерактивности в интерьер SVOYA Apartment.

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

Patreon

Посмотреть Playcanvas проект онлайн.

View Playcanvas Project Online

Смена цветов шкафов по нажатию UI-кнопки

Настройка UI элементов

Создайте папку “configurator” в “scripts” панели “Assets”.

create configurator folder in scripts
Loading...

Добавьте картинку Кисти.

paint
Loading...
add paint image to assets
Loading...

Для того чтобы не создавать с нуля одинаковые кнопки, мы просто будем дублировать существующие.
Сделайте дубликат кнопки “PlayPause”, назовите новую кнопку “ChangeColor”, картинку назовите “PaintImage”. Картинку “PauseImage” удалите.

suit change color button
Loading...

В качестве картинки “PaintImage” выберите “paint.png”.

change color button in viewport
Loading...

Разместите кнопку “ChangeColor”, возле объекта шкафов, как показано на изображении ниже.

move button to desired object
Loading...

Кнопка готова, осталось добавить скрипт смены цветов.

Применение и настройка скрипта changeColor

Добавьте скрипт “change-color.js” в папку  “scripts/configurator”.

Скрипт  “change-color.js”.



add script change color to assets
Loading...

Примените скрипт к желаемому объекту, в нашем случае это “Cabinet”. Для этого выберите объект, добавьте “Component” “Script” и из выпадающего списка выберите “changeColor”.

select script change color
Loading...
Примечание!
Стоит отметить что скрипт будет менять цвета “Diffuse“ в материале, поэтому в “Lightmap” материала должна быть черно-белая текстура запеченных теней.

Настройки материала “Cabinet_2048”.

cabinet 2048 material settings
Loading...

В настройках скрипта “changeColor”, укажите материал, для которого будет меняться цвет в параметре “Material”.
Обязательно укажите “Trigger Button” - это кнопка которая будет активировать смену цветов.
В параметре “Colors” укажите цифру, сколько будет цветов.
Далее, настройте цвета.

setup script change colors
Loading...

Готово! Запустите проект, у вас должны меняться цвета по нажатию кнопки “ChangeColor”.

result configurator playcanvas change color for material
Loading...

Заключение

В этой части урока мы сделали простой конфигуратор смены цветов материала.

Для подписчиков Patreon будет возможность просматривать проект SVOYA Apartment в режиме чтения, а также быстрое копирование-вставка необходимых ассетов и скриптов в свой личный проект.

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

Patreon
Вы читаете часть: 1 2 3 4 5

FAQ

1. О чём эта статья?
Статья продолжает разбор создания интерактивного интерьерного проекта в PlayCanvas и показывает дополнительные возможности по улучшению пользовательского опыта и функциональности.
2. Чем Part 2 отличается от Part 1?
Во второй части рассматриваются дополнительные интерактивные функции, улучшения интерфейса и новые возможности взаимодействия пользователя со сценой.
3. Нужно ли проходить Part 1 перед изучением Part 2?
Да. Вторая часть основана на материалах первой части, поэтому рекомендуется сначала ознакомиться с базовыми принципами проекта.
4. Какие новые возможности добавляются во второй части?
Во второй части рассматриваются дополнительные элементы управления, улучшения интерфейса и расширение функциональности интерактивной сцены.
5. Можно ли использовать эти решения в собственных проектах?
Да. Большинство показанных методов можно адаптировать для любых проектов на базе PlayCanvas.
6. Подходит ли этот подход для интерьерных конфигураторов?
Да. Многие рассмотренные функции могут использоваться при создании конфигураторов интерьеров, мебели и недвижимости.
7. Можно ли создавать собственные элементы интерфейса?
Да. PlayCanvas позволяет создавать кнопки, панели, меню и другие элементы управления для взаимодействия со сценой.
8. Помогает ли интерактивность улучшить презентацию проекта?
Да. Интерактивные функции делают проект более наглядным и позволяют пользователям самостоятельно исследовать различные варианты дизайна.
9. Можно ли изменять объекты в режиме реального времени?
Да. В зависимости от логики проекта пользователи могут изменять материалы, цвета, варианты отделки и другие параметры.
10. Насколько важна оптимизация при добавлении новых функций?
Очень важна. Каждая новая функция увеличивает нагрузку на систему, поэтому необходимо контролировать производительность проекта.
11. Можно ли использовать такие проекты на мобильных устройствах?
Да. При правильной оптимизации интерактивные проекты PlayCanvas могут работать на смартфонах и планшетах.
12. Подходит ли PlayCanvas для коммерческих проектов?
Да. Платформа широко используется для создания коммерческих презентаций, конфигураторов и интерактивных 3D-приложений.
13. Нужно ли знать JavaScript для реализации сложной логики?
Да. Для создания продвинутых интерактивных функций обычно требуется знание JavaScript и API PlayCanvas.
14. Можно ли расширять проект после публикации?
Да. Проект можно обновлять, добавлять новые функции и улучшать пользовательский интерфейс по мере необходимости.
15. Какие преимущества дают интерактивные WebGL-презентации?
Они позволяют пользователям взаимодействовать с проектом в реальном времени, изучать пространство и принимать решения на основе визуального опыта.
16. Для кого будет полезна эта статья?
Для разработчиков PlayCanvas, технических художников, архитектурных визуализаторов, дизайнеров интерьеров и всех, кто занимается созданием интерактивных WebGL-проектов.
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