feng3d — это игровой движок для создания 3D игр на языке TypeScript, использующий WebGL. Цель проекта — создание отличного 3D игрового движка и удобного редактора для быстрого разработки проектов.
Пример: https://feng3d.com/feng3d
Исходный код: https://gitee.com/feng3d/feng3d.git
Документация: https://feng3d.com/feng3d/docs
npm install feng3d
import { Color4, Node3D, ticker } from 'feng3d';
// Создание корневого узла
const root = new Node3D();
root.addComponent('WebGLRenderer3D');
const scene = root.addComponent('Scene3D');
scene.background = new Color4(0.408, 0.38, 0.357, 1.0);
const camera = new Node3D().addComponent('Camera3D');
scene.entity.addChild(camera.entity);
const cube = Node3D.createPrimitive('Cube');
cube.y = -1;
cube.z = 3;
scene.entity.addChild(cube);
ticker.onFrame(() =>
{
cube.ry++;
});
Двигатель предоставляет базовые технические библиотеки, редактор и его плагинная система предлагают разнообразные открытые платформы для дизайнеров, веб-сайт предлагает платформу для обучения, обмена и торговли ресурсами.
Цель: предоставить стандартный базовый фреймворк для создания (игровых) проектов, сократить сроки разработки проектов.
Содержание: 2D, 3D, стандартные инструменты, математические библиотеки, библиотеки рендеринга, физические библиотеки, файловые системы, звук, сетевое взаимодействие, анимация, частицы, эффекты, ландшафт, UI, плагины и другие базовые модули.
Особенности: удобство, гибкость, простота расширения, открытый исходный код, доступен для начинающих программистов.
Цель: открыть окно для движка, чтобы каждый мог стать дизайнером; освободить планировщиков и программистов от бесконечных споров, позволяя планировщикам свободно создавать сценарии, а программистам — реализовывать логику. Конечная цель — сделать так, чтобы дизайнеры могли создавать проекты без программирования.
Содержание: редактор свойств, дерево иерархии, редактор сцен, менеджер ресурсов, редактор скриптов (графический), редактор частиц, редактор анимации, редактор ландшафта, редактор UI, система учетных записей, облачное хранилище, управление проектами, совместная работа (многофункциональная, многопользовательская), система магазина, менеджер плагинов и другие.
Особенности: удобство, гибкость, простота расширения, доступен для школьников.
Содержание: онлайн-редактор, примеры, документация, магазин ресурсов, форум, пространство дизайнера и другие.
Особенности: обучение, общение, обмен.## Функциональный список
- [x] Serialization system
- [x] Event system
- [x] Listeners
- [x] Mathematical library
- [x] Data structures library
- [x] File system
- [x] Object representation foundation
- [x] Hotkeys system
- [x] Rendering library
- [x] Entity and component system
- [x] Animation
- [x] Property animations
- [x] Skeletal animations
- [x] Particle system
- [x] Audio
- [x] Resources system
- [x] Camera
- [x] Controller
- [x] Textures
- [x] Materials
- [x] Geometry
- [x] Lighting
- [x] Sky
- [x] Terrain
- [x] Water
- [x] Scene
- [x] Raycasting selection
- [x] Mouse event support for objects
- [x] Placement components- [x] 2D модуль
- [x] Канвас
- [x]
Сначала большое спасибо всем, кто готов вносить вклад!
Gitee предоставляет функциональность, не уступающую GitHub. Кроме известности, скорость доступа из Китая очень высока, что повышает эффективность разработки, как основной репозиторий.
GitHub доступен из Китая медленнее, иногда даже недоступен, поэтому не используется как основной репозиторий. Будет периодически синхронизироваться с Gitee.
Сайт: http://feng3d.com/
GitLab: https://gitlab.com/feng3d/feng3d.git
Gitee: https://gitee.com/feng3d
GitHub: https://github.com/feng3d-labs
QQ-группа Feng3D: 519732759
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )