Браузерная 3D-игра о парусной яхте: лови ветер, настраивай грот и стаксель, проходи буи Лазурного архипелага.
Играть: https://sailwind.178.212.13.132.sslip.io/
| Действие | Клавиши |
|---|---|
| Руль | A / D или ← / → |
| Грот | W / S или ползунок «Грот» |
| Стаксель | Q / E или ползунок «Стаксель» |
| Подъём каждого паруса | Ползунок «Подъём»: 0–100% |
| Пауза | Пробел или Escape |
| Камера | Перетаскивание мышью, колесо — приближение |
На телефонах и планшетах есть экранные кнопки.
Высота грота и стакселя регулируется независимо от их углов. Ползунок задаёт нужную высоту, парус плавно движется к ней: полный подъём или спуск занимает 5 секунд игрового времени. Рядом показаны текущий и выбранный проценты. Тяга зависит от фактически раскрытой площади; при спущенных парусах сохраняются инерция и дрейф по течению. Пауза останавливает подъём. При первом запуске и после «Начать заново» оба паруса спущены (0%) и выставлены вдоль яхты (0°). Нажми «Выйти в море», затем подними паруса ползунками «Подъём» и настрой углы.
Нужен Node.js 22.12+ (или 20.19+) и браузер с WebGL 2.
npm install
npm run dev # http://localhost:5173
npm test
npm run build # статический dist/Стек: JavaScript, Three.js, Vite. Без сервера и базы данных.
Корпус яхты загружается из public/models/oceanis.glb (около 1,58 МБ); паруса и верёвки управляются игрой. Кормовые рули и оба штурвала поворачиваются вместе с рулём. Масштаб корпуса проверяется тестами против контура столкновений с берегом.
Подготовка модели через Blender и схема креплений: tools/yacht/README.md.