Практичні поради для Playcanvas

Vasyl Lukianenko
Vasyl Lukianenko
3D Artist and Technical Author

Рекомендації роботи з Playcanvas

За довгий час роботи в Playcanvas та роботи в команді, ми зібрали найкращі практики, які застосовуємо у кожному нашому проекті.

Найменування об'єктів

Правильні імена це шлях від хаосу до порядку. Рекомендуємо дотримуватися наступних правил у назвах:

Asset Type

Prefix

Example

Static Mesh

SM_

SM_Floor

Dynamic Mesh

DM_

DM_Fish

Materials

M_

M_Roof_Rust

Textures

T_

T_Brick_D

Sounds

S_

S_Swirl

Fonts

Font_

Font_Raleway

Для всіх текстур необхідно додавати постфікс до імені.

Наприклад: 
T_Texture_Name_N
T_Texture_Name_AO

Texture Type

Postfix

Example

Ambient Occlusion

_AO

T_Wall_AO

Diffuse

_D

T_Concrete_D

Metalness

_M

T_Door_Handle_M

Glossiness

_G

T_Paint_G

Roughness

_R

T_Toy_R

Emissive

_E

T_Pendant_Spot_E

Normal

_N

T_Barelief_N

Light Map

_LM

T_House_LM

Важливо!
У назвах не використовувати прогалини. Замініть пробіли на нижнє підкреслення “_”.

Найменування матеріалів

Розглянемо приклад для SM_Car_03, у якого є 3 ID.

У 3Ds Max ми можемо називати матеріали як завгодно, але для Playcanvas правильний неймінг є обов'язковою умовою.

Наприклад:
M_Car_03_0
M_Car_03_1
M_Car_03_2

Ідентифікатор в кінці назва показує порядок Id Multimaterial в 3Ds Max.

Експорт об'єктів

Для експорту об'єктів з 3Ds Max необхідно використовувати лише формат FBX.

Налаштування експорту наведено нижче.

export from 3dsmax fbx to playcanvas settings
Loading...

Імпорт у Playcanvas

Імпорт моделей здійснюється звичайним перетягуванням файлів FBX на панель Assets.

Після імпорту будуть автоматично створені файли *.glb, які ми будемо надалі використовувати в нашій роботі.

Важливо!
Видалення всіх FBX файлів з Assets необхідно проводити тільки в самому кінці проекту!

Структура папок

📁 Mesh - папка для об'єктів. Необхідно створити окрему папку для кожного файлу FBX.

Наприклад:
SM_Floor_01 (папка)
SM_Walls (папка)
SM_Kitchen_Appliciance_01 (папка)
SM_Sofa_01 (папка)

Такі папки можуть містити власні унікальні текстури та матеріали, які належать до конкретного FBX.

📁 Textures - папка з різними текстурами.

📁 Cubemap - папка для картинок і матеріалів cubemap.

📁 Scripts - папка для скриптів.

Оптимізація текстур

Усі текстури повинні суворо відповідати розмірам і бути кратними.

Наприклад:
4096x4096
2048x2048
1024x1024
512x512
256x256

Не забувайте застосовувати компресію, коли зберігаєте картинки у Photoshop.

Використовуйте File → Save for Web та встановлюйте якість на 90%.

Рекомендую також використовувати JPEG Optimize утиліту, яка дозволяє стискати картинки у кілька разів без втрати якості.

Завантажити JPEG Optimize та докладну інструкцію можна передплатникам Patreon.

Patreon

Також можна користуватися вбудованими можливостями Playcanvas і використовувати BASIS компресію в інспекторі ассетів.

Прозорість

Для того, щоб прозорість відображалася правильно на всіх пристроях, ви повинні використовувати чорно-білу карту.

black white map opacity for playcanvas
Loading...

Cubemap

Cubemap це особливий тип текстурних ассетів. Вони формуються з 6 текстурних ресурсів, де кожна текстура є межею куба.

Для конвертації звичайної 360° панорами в cubemap скористайтеся сервісом:

https://matheowis.github.io/HDRI-to-CubeMap/
PlayCanvas Developer Resources
PlayCanvas Tutorials
3D Ground Playcanvas Articles

Редагування статті

Автор залишає за собою право редагувати та доповнювати статтю за необхідності.
Щоб не пропустити оновлення, підписуйтесь на Patreon!

Patreon

FAQ

1. Про що ця стаття?
Стаття присвячена найкращим практикам роботи з PlayCanvas і рекомендаціям, які допомагають створювати швидші, стабільніші та простіші в підтримці веб-3D проєкти.
2. Що таке PlayCanvas?
PlayCanvas — це хмарний рушій для створення інтерактивної 3D-графіки, конфігураторів, вебзастосунків, ігор і візуалізацій, які працюють безпосередньо в браузері.
3. Чому важливо дотримуватися Best Practices?
Правильна організація проєкту допомагає покращити продуктивність, зменшити кількість помилок і спростити подальшу підтримку застосунку.
4. Які переваги дає оптимізація в PlayCanvas?
Оптимізація дозволяє прискорити завантаження сцени, зменшити використання пам'яті та забезпечити стабільнішу роботу на різних пристроях.
5. Чи потрібно оптимізувати 3D-моделі перед імпортом?
Так. Чим краще підготовлені моделі, тим швидше працюватиме проєкт і тим менше ресурсів знадобиться користувачам.
6. Чи важлива оптимізація текстур?
Так. Текстури часто займають значну частину пам'яті та безпосередньо впливають на швидкість завантаження сцени.
7. Чи варто використовувати стиснення ресурсів?
Так. Стиснення моделей, текстур та інших файлів допомагає зменшити розмір проєкту та прискорити його завантаження через інтернет.
8. Як кількість об'єктів у сцені впливає на продуктивність?
Велика кількість об'єктів може збільшувати навантаження на процесор і відеокарту, тому сцени бажано робити максимально оптимізованими.
9. Чи потрібно використовувати LOD-системи?
Так. Level of Detail дозволяє відображати менш деталізовані версії об'єктів на великій відстані та покращувати продуктивність.
10. Чи важливо зменшувати кількість матеріалів?
Так. Використання меншої кількості матеріалів і текстурних наборів допомагає скоротити кількість draw calls.
11. Що таке draw calls і чому вони важливі?
Draw calls — це команди від процесора до відеокарти на відмальовування об'єктів. Їхня велика кількість може суттєво знижувати продуктивність.
12. Чи потрібно тестувати проєкт на мобільних пристроях?
Так. Навіть якщо проєкт створюється для комп'ютерів, перевірка на мобільних пристроях допомагає виявити потенційні проблеми з продуктивністю.
13. Чи впливає якість освітлення на швидкість роботи?
Так. Складне динамічне освітлення може значно збільшувати навантаження на систему.
14. Чи варто використовувати систему контролю версій?
Так. Контроль версій допомагає безпечно працювати над проєктом, відстежувати зміни та відновлювати попередні версії за потреби.
15. Чи корисні профілювання та аналіз продуктивності?
Так. Регулярний аналіз продуктивності допомагає знаходити вузькі місця та своєчасно усувати проблеми.
16. Для кого будуть корисні ці рекомендації?
Для розробників PlayCanvas, технічних художників, 3D-художників, веброзробників і всіх, хто створює інтерактивні 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