1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/feng3d-feng3d

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

feng3d

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++;
});

Модули1. @feng3d/event — система событий, реализованная на TypeScript.

  1. @feng3d/bezier — решение задачи аппроксимации и решения n-мерных кривых Безье.
  2. @feng3d/objectview — фреймворк для автоматического создания интерфейса на основе данных объекта.
  3. @feng3d/polyfill — базовые инструменты.
  4. @feng3d/task — модуль для обработки синхронных и асинхронных задач.
  5. @feng3d/watcher — наблюдатель за изменениями свойств объекта и синхронизация значений между объектами.
  6. @feng3d/serialization — сериализация и десериализация произвольных объектов.
  7. @feng3d/math — математическая библиотека.
  8. @feng3d/filesystem — библиотека файловой системы.
  9. @feng3d/shortcut — система быстрых клавиш.
  10. @feng3d/renderer — библиотека рендеринга.
  11. @feng3d/core — ядро движка.
  12. @feng3d/terrain — библиотека для работы с рельефом.
  13. @feng3d/particlesystem — система частиц.
  14. @feng3d/assets — библиотека управления ресурсами.
  15. @feng3d/parsers — парсеры.
  16. @feng3d/ui — библиотека UI.

Функциональные возможности1. Предоставляет высококачественный редактор на TypeScript.

  1. Поддерживает скрипты, позволяя реализовать всё, что вы хотите.
  2. Поддерживает пользовательские материалы, требуя только шейдерный код и структуры данных для достижения желаемого результата рендеринга.

Двигатель предоставляет базовые технические библиотеки, редактор и его плагинная система предлагают разнообразные открытые платформы для дизайнеров, веб-сайт предлагает платформу для обучения, обмена и торговли ресурсами.

Система### Двигатель

 Цель: предоставить стандартный базовый фреймворк для создания (игровых) проектов, сократить сроки разработки проектов.
 Содержание: 2D, 3D, стандартные инструменты, математические библиотеки, библиотеки рендеринга, физические библиотеки, файловые системы, звук, сетевое взаимодействие, анимация, частицы, эффекты, ландшафт, UI, плагины и другие базовые модули.
 Особенности: удобство, гибкость, простота расширения, открытый исходный код, доступен для начинающих программистов.

Редактор

 Цель: открыть окно для движка, чтобы каждый мог стать дизайнером; освободить планировщиков и программистов от бесконечных споров, позволяя планировщикам свободно создавать сценарии, а программистам — реализовывать логику. Конечная цель — сделать так, чтобы дизайнеры могли создавать проекты без программирования.
 Содержание: редактор свойств, дерево иерархии, редактор сцен, менеджер ресурсов, редактор скриптов (графический), редактор частиц, редактор анимации, редактор ландшафта, редактор UI, система учетных записей, облачное хранилище, управление проектами, совместная работа (многофункциональная, многопользовательская), система магазина, менеджер плагинов и другие.
 Особенности: удобство, гибкость, простота расширения, доступен для школьников.

Веб-сайт Цель: сделать Feng3D доступным для программистов и дизайнеров, обеспечить общение и демонстрацию работ.

 Содержание: онлайн-редактор, примеры, документация, магазин ресурсов, форум, пространство дизайнера и другие.
 Особенности: обучение, общение, обмен.## Функциональный список
  • Ядро
    • Математическая библиотека
    • Библиотека рендеринга
    • Физическая библиотека
    • Система файловых ресурсов
    • Звук
    • Библиотека сетевых протоколов
    • Система поиска путей
    • И т.д.
  • Редактор
    • Редактор свойств
    • Редактор сцен
    • Управление ресурсами
    • Магазин ресурсов
    • Система аккаунтов
    • Облачное хранилище
    • Сотрудничество в реальном времени
    • Редактор частиц
    • Редактор скриптов
    • Редактор анимации
    • Редактор ландшафта
    • Генерация сетки навигации
    • Различные плагины
      • Проекты дизайна
      • Редактор UI
      • Комплект для создания игр
        • Шаблон RPG
      • Моделирование
      • Ментальные карты
  • Веб-сайт
    • Онлайн-редактор
    • Документация
    • Примеры
    • Магазин ресурсов
    • Форум
    • Пространство для дизайнеров
  • Кроссплатформенность
    • Веб-версия
    • Клиентская версия

Функциональный список- [x] Engine

- [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]
  • Редактор

Вклад

Сначала большое спасибо всем, кто готов вносить вклад!

  1. Если у вас есть идеи или требования, вы можете опубликовать их в issues

Исходные зеркала

  1. Gitee предоставляет функциональность, не уступающую GitHub. Кроме известности, скорость доступа из Китая очень высока, что повышает эффективность разработки, как основной репозиторий.

  2. 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 )

Вы можете оставить комментарий после Вход в систему

Введение

3D-игровой движок на основе WebGL Перенести: https://gitlab.com/feng3d/feng3d.git Развернуть Свернуть
MIT
Отмена

Обновления (1)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/feng3d-feng3d.git
git@api.gitlife.ru:oschina-mirror/feng3d-feng3d.git
oschina-mirror
feng3d-feng3d
feng3d-feng3d
master