Repolode
billpwchan

billpwchan/sakura-fantasy

Браузерное 3D-путешествие на лодке по долине японской реки: сцена на three.js рендерится в реальном времени в любое время суток и во все четыре сезона.

Звёзды
98
Форки
6
Открытые issues
1
Последний коммит
вчера

Что это?

Sakura Fantasy — интерактивная сцена, в которой вы плывёте на речной лодке с тростниковой крышей по японской долине. Маршрут проходит через аллеи цветущей сакуры, алый барабанный мост, деревню у пятиъярусной пагоды, бамбуковое ущелье, тоннель из ворот тории и озеро. Растительность создана на основе фотограмметрических сканов настоящих японских растений, а освещение меняется вслед за солнцем в течение дня. Предусмотрено пять погодных состояний: ясная погода, туман, дождь, гроза и снег.

Музыка создаётся на лету по мере путешествия: используются кото, сякухати и сё в японских ладах, а также полевые записи храмовых колоколов и звуков садов Киото, выбранные с учётом местоположения, сезона и времени суток. Кодовая база — около 10 000 строк обычного JavaScript на three.js, без игрового движка и фреймворков. Посетители могут управлять лодкой, менять сезон, время суток и погоду, переключать режимы камеры и экспортировать фотографии; параметры URL позволяют сразу открыть любую сцену.

В проекте предусмотрен этап сборки, который создаёт статический сайт; ресурсы включены в репозиторий.

Ключевые возможности

  • 01Процедурно сгенерированная долина с растениями на основе фотограмметрии и сменой сезонов.
  • 02Динамические солнце, небо и туман, а также пять погодных состояний.
  • 03Отражения на воде, следы за лодкой, пена и лепестки, отображаемые в реальном времени.
  • 04Генеративная музыка в реальном времени с японскими инструментами и записями, привязанными к местоположению.
  • 05Управление с клавиатуры, несколько режимов камеры и режим фотосъёмки с экспортом в PNG.
  • 06Параметры URL для перехода к любому сезону, времени суток, погоде или позиции.

Сценарии использования

  • Изучение техник рендеринга WebGL в реальном времени с помощью three.js.
  • Изучение процедурной генерации миров и потоковой загрузки уровней детализации в браузере.
  • Использование проекта как примера генерации звука с помощью Web Audio API.
  • Просмотр атмосферной интерактивной 3D-сцены как самостоятельного проекта.

Быстрый старт

  1. 1

    Клонируйте репозиторий

    git clone https://github.com/billpwchan/sakura-fantasy.git
  2. 2

    Перейдите в папку проекта

    cd sakura-fantasy
  3. 3

    Установите зависимости

    npm install
  4. 4

    Запустите сервер разработки и откройте http://127.0.0.1:5190

    npm run dev

Что важно знать

  • В поле лицензии указано NOASSERTION. В README сказано, что код распространяется по лицензии MIT, а лицензии ресурсов перечислены отдельно в CREDITS.md. Перед повторным использованием ознакомьтесь с этими условиями.
  • На телефонах и планшетах предоставляется урезанный quick tier. Показатели производительности в README получены на высокопроизводительном Apple M4 Max.

Темы

Частые вопросы

Что такое sakura-fantasy?
Браузерное 3D-путешествие на лодке по долине японской реки: сцена на three.js рендерится в реальном времени в любое время суток и во все четыре сезона. Sakura Fantasy — интерактивная сцена, в которой вы плывёте на речной лодке с тростниковой крышей по японской долине. Маршрут проходит через аллеи цветущей сакуры, алый барабанный мост, деревню у пятиъярусной пагоды, бамбуковое ущелье, тоннель из ворот тории и озеро. Растительность создана на основе фотограмметрических сканов настоящих японских растений, а освещение меняется вслед за солнцем в течение дня. Предусмотрено пять погодных состояний: ясная погода, туман, дождь, гроза и снег.
sakura-fantasy можно использовать бесплатно? Какая у него лицензия?
sakura-fantasy распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
sakura-fantasy всё ещё поддерживается?
Активно поддерживается. Последний коммит в sakura-fantasy — 19 окт. 2026 г..
Для чего можно использовать sakura-fantasy?
Изучение техник рендеринга WebGL в реальном времени с помощью three.js. Изучение процедурной генерации миров и потоковой загрузки уровней детализации в браузере. Использование проекта как примера генерации звука с помощью Web Audio API. Просмотр атмосферной интерактивной 3D-сцены как самостоятельного проекта.
Как установить sakura-fantasy?
Клонируйте репозиторий: git clone https://github.com/billpwchan/sakura-fantasy.git Перейдите в папку проекта: cd sakura-fantasy Установите зависимости: npm install Запустите сервер разработки и откройте http://127.0.0.1:5190: npm run dev
Где скачать sakura-fantasy?
Исходный код и инструкции по установке — на GitHub: https://github.com/billpwchan/sakura-fantasy

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты