Cocos Creator 引擎
Cocos Creator 是 Cocos 家族新一代的游戏开发工具,它提供了一套完整的 3D 和 2D 功能,同时为游戏开发者提供了直观、低成本且便于协作的工作流程。 Cocos 引擎是 Cocos Creator 编辑器的运行时框架。
Cocos Creator 继承了其前代版本的诸多优点和酷炫功能,如高性能的底层 C++ 实现、直观的编辑器、跨平台支持。它支持原生平台、网页平台以及快速扩展的即时游戏平台,包括 Windows、Mac、iOS、Android、鸿蒙操作系统、Web、Facebook 即时游戏、微信小游戏和抖音小游戏。
此外,Cocos Creator 将引擎技术提升到了一个全新的水平,在各种平台上实现了高性能和可扩展性,同时具备完全的可扩展性和便捷的开发体验。
- 现代图形技术:GFX 实现旨在适应现代图形 API,在 Windows 和 Android 上使用 Vulkan,在 Mac OS 和 iOS 上使用 Metal,在 Web 平台上使用 WebGL。
- 高性能:运行时引擎由一半 C++ 和一半 TypeScript 构建,底层基础设施、原生平台适配、渲染器和场景管理都用 C++ 编写,以确保高运行时性能。我们持续将重要工作尽可能地转移到原生端。
- 可定制的渲染管线:渲染管线设计为完全可定制,它已经支持了所有平台上的内置前向和延迟渲染管线。开发者可以按照相同的方法自定义他们自己的渲染管线。
- 可扩展的表面着色器:材质系统基于使用 GLSL 300 的 Cocos 效果格式构建,着色器程序将自动转换为适合的运行时格式。表面着色器允许完全自定义表面材质,同时确保通用光照模型。
- 基于物理的渲染(PBR):标准效果采用基于物理的渲染,结合基于物理的相机和基于物理指标的光照,开发者可以轻松实现在不同环境下的逼真和无缝的渲染效果。
- 易用的 TypeScript API:用户级 API 集以 TypeScript 提供,配合强大的 VSCode 编辑器,使用 Cocos Creator 进行开发效率非常高。
除了这些亮点外,Cocos Creator 还提供了内置的动画系统、物理系统、粒子系统、地形编辑支持、复杂的 UI 系统、即时预览等功能。
这个开源仓库是 Cocos Creator 的运行时引擎,该引擎自然集成在 Cocos Creator 中,旨在仅作为基本运行时库,而不是独立使用。
开发和贡献注意事项
Cocos Creator 引擎是开源的,欢迎社区参与。要使用 Cocos Creator 编辑器进行开源引擎开发,你应该 fork 这个仓库,并在编辑器中设置自定义引擎。
先决条件
克隆
将此仓库克隆到本地环境中。
安装
在克隆的引擎文件夹中,运行以下命令来设置开发环境:
# 下载并构建引擎依赖项
npm install
这就是设置引擎开发环境所需要做的全部工作。
构建
- 如果在 Cocos Creator 中运行,引擎将在编辑器窗口打开后自动编译和构建。有关在 Cocos Creator 中修改引擎的更多说明,请参阅引擎定制工作流程。
- 在编辑器外部,你需要运行以下命令来构建:
npm run build
如果你想开发原生应用程序,请参阅 native readme。
贡献
你可以通过多种方式为 Cocos Creator 开源引擎做出贡献,我们非常感激:
- 通过创建 issue 报告 bug 或提出功能请求。
- 参与 issues 中的讨论。
- 如果你修复或改进了任何内容,实现了任何功能,请创建一个 pull request。
- 通过向使用文档仓库提交 pull request 来改进文档。
- 在我们的论坛中帮助其他开发者。
贡献注意事项
如果你想提交 pull request,必须满足一些要求才能被接受:
- 遵循我们的 C++ 编码风格指南 和 TypeScript 编码风格参考。
- 尝试在你的编码环境中集成 ESLint 和 C++ 自动修复工具。
- 在你的 pull request 中链接相关的 issues 或讨论,并清楚地说明你的 pull request 的目的。
- 通过所有自动持续集成测试。
- 请文件所有者或引擎开发者审查你的 pull request。
- 获得引擎架构师的一个有效批准。
示例项目
- Mind Your Step 3D:初学者逐步教程项目仓库。
- 测试用例:每个引擎模块的单元测试场景。
- 示例用例:简单但富有表现力的演示场景,用于基准测试和特定主题的案例研究。
- Awesome Cocos:你可以在这里找到其他有用的工具和展示案例。