feng3d

feng3d

feng3d是使用TypeScript进行编写基于WebGL的3D游戏引擎,致力于打造一个优秀的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
  2. @feng3d/bezier
  3. @feng3d/objectview
  4. @feng3d/polyfill
  5. @feng3d/task
  6. @feng3d/watcher
  7. @feng3d/serialization
  8. @feng3d/math
  9. @feng3d/filesystem
  10. @feng3d/shortcut
  11. @feng3d/renderer
  12. @feng3d/core
  13. @feng3d/terrain
  14. @feng3d/particlesystem
  15. @feng3d/assets
  16. @feng3d/parsers
  17. @feng3d/ui

特性

  1. 提供优质的typescript编辑器
  2. 支持脚本,你能够在这里实现所有你想做的事情。
  3. 支持自定义材质,只需要你提供shader代码以及所有到的数据结构就可以实现你想要的渲染效果。

引擎提供基础技术库支持,编辑器提供以及其插件系统提供多样化的开放设计平台,网站提供设计师学习沟通分享与资源交易平台。

系统

引擎

目的为制作游戏项目提供常用的基础框架缩短项目开发周期
内容:2D、3D常用工具数学库渲染库物理库文件管理声音网络通讯动画粒子特效地形UI插件等基本模块
特点易用灵活易扩展开源入门程序员可直接上手

编辑器

目的为引擎开一扇窗户让每个人都可成为设计师解放策划与程序员的无尽纠葛策划可以尽情设计场景程序可以尽情实现功能逻辑最终目标是让设计师无需编程即可完成理想中的项目
内容属性编辑器层级树场景编辑器资源管理器、(图像化脚本编辑器粒子编辑器动画编辑器地形编辑器UI编辑器账号系统云存储项目管理、(多平台多用户协同设计商场系统插件管理器
特点易用灵活易扩展小学门槛

网站

目的为程序员设计师轻易上手feng3d交流展示作品
内容在线编辑器示例文档资源商场论坛设计师空间等
特点学习交流分享

功能清单

  • 引擎
    • 数学库
    • 渲染库
    • 物理库
    • 文件资源系统
    • 声音
    • 网络库
    • 寻路导航
    • 等等
  • 编辑器
    • 属性编辑
    • 场景编辑
    • 资源管理
    • 资源商城
    • 账号系统
    • 云存储
    • 协同设计
    • 粒子编辑器
    • 脚本编辑器
    • 动画编辑器
    • 地形编辑器
    • 导航网格生成
    • 各类插件
      • 设计图
      • UI编辑
      • 游戏制作套件
        • RPG游戏模板
      • 建模
      • 思维导图
  • 网站
    • 在线编辑器
    • 文档
    • 示例
    • 资源商城
    • 论坛
    • 设计师空间
  • 跨平台
    • 网页端
    • 客户端

功能清单

  • 引擎

    • 序列化系统
    • 事件系统
    • 监听器
    • 数学库
    • 数据结构库
    • 文件系统
    • 对象视图框架
    • 快捷键系统
    • 渲染库
    • 实体组件系统
    • 动画
      • 通用属性动画
      • 骨骼动画
      • 粒子系统
    • 音频
    • 资源系统
    • 摄像机
    • 控制器
    • 纹理
    • 材质
    • 几何体
    • 灯光
    • 天空盒
    • 地形
    • 场景
    • 射线拾取
    • 游戏对象支持鼠标事件
    • 布局组件
  • 2d模块

    • 画布
    • [x]
  • 编辑器

贡献

首先感谢天底下所有愿意奉献的人!

  1. 如果你有什么想法或者需求欢迎在 issues 发布

源镜像

  1. gitee 提供了不亚于github的功能。除了知名度,国内访问速度非常快,开发效率,作为主要仓库。

  2. github 国内访问较慢,有时甚至无法访问,放弃作为主仓库,将会不定期从gitee上同步。

关于

网站:http://feng3d.com/

gitlab: https://gitlab.com/feng3d/feng3d.git

getee:https://gitee.com/feng3d

github:https://github.com/feng3d-labs

feng3d交流QQ群:519732759

Generated using TypeDoc