PlayCanvas: Хватит писать код в браузере
Последние несколько лет я специализируюсь на разработке 3D-конфигураторов разной сложности, используя стэк Three.js, R3F и различные WebGL-библиотеки. С PlayCanvas вплотную я не сталкивался, но все изменилось пару месяцев назад, когда мне пришлось зайти в проект именно на этом движке. Более того, работать предстояло не в одиночку, а в команде, состоящей как из разработчиков, так и из 3D-артистов. И здесь мы моментально уперлись в главную проблему — синхронизацию изменений. Встроенный редактор PlayCanvas оказался совершенно не приспособлен к одновременной работе нескольких человек в реальном времени. Мы столкнулись с классическим «code hell»: код перезатирался другими разработчиками, конфликты превращали файлы в кашу, а любые правки геометрии или настроек сцены, сделанные артистами, иногда непредсказуемо влияли на сохранение скриптов. Работать в таких условиях было, мягко говоря, сложно. Увидев этот процесс изнутри, я сразу задумался об оптимизации. Мне критически не хватало привычного флоу: контроля версий через GitHub, возможности работать в ветках и, самое главное, писать код в любимом IDE (VS Code/Zed), а не в браузере. Главная загвоздка заключалась в архитектуре: как писать код локально, изолированно от других, но запускать проект с актуальными 3D-данными (модели, материалы, настройки сцены), которые лежат в облаке PlayCanvas? Обдумав детали, я пришел к гибридному решению, которое, как мне кажется, кардинально меняет опыт разработки под PlayCanvas. О том, как это реализовано, я и расскажу в этой статье.
https://habr.com/ru/articles/983262/
#javascript #playcanvas #3d #оптимизация #оптимизация_рабочего_времени