开源使命
使命宣言
PlayCanvas 致力于通过开源技术,让更多人参与 Web 3D 开发。我们的使命是提供免费、开放且文档完善的工具,让任何人都能使用、修改和参与贡献,使每个人都能创造功能强大、富有交互性的 3D 体验,不受背景和预算限制。
为什么开源?
我们相信,Web 的未来是交互式和三维的。通过开放核心技术的源码,我们希望实现:
🌍 普及 3D 开发:降低入门门槛,让世界各地的开发者都能使用先进的 Web 3D 技术,不受资金条件限制。
🔧 鼓励创新:让社区能够扩展、修改和改进工具,带来仅凭我们自己无法想象的创新。
🤝 建立信任:透明的代码使开发者能够准确理解工具的工作方式,提升可信度和可靠性。
📚 推动行业发展:分享知识和代码,推动整个 Web 3D 开发生态进步。
🌱 保障长期发展:即使公司不断变化和成长,开源也能确保工具持续存在并不断演进。
我们在 GitHub 上的项目
我们使用 GitHub 管理开源项目。访问我们的 GitHub 组织,探索完整的开源生态。
点击组织主页上的 Follow 按钮,即可在个人动态面板中看到我们的活动!
以下是部分主要仓库:
| 仓库 | 说明 | 许可证 |
|---|---|---|
| engine | 用于 Web 3D 应用的 JavaScript 运行时 | MIT |
| editor | 用于构建 WebGL、WebGPU 和 WebXR 应用的可视化编辑环境 | MIT |
| react | 用于声明式构建 3D 场景的 React 组件 | MIT |
| web-components | 基于 Web 标准进行 3D 开发的 Web Components | MIT |
| supersplat | SuperSplat Editor:浏览器中的 3D 高斯泼溅编辑器 | MIT |
| supersplat-viewer | SuperSplat Viewer:用于已发布高斯泼溅场景的开源查看器,可通过 npm 嵌入应用 | MIT |
| splat-transform | 转换、变换和分析高斯泼溅数据的命令行工具与库 | MIT |
| model-viewer | glTF 与 3D 高斯泼溅查看器 | MIT |
| pcui | 用于构建浏览器工具的完整 UI 库 | MIT |
就连本网站也采用 MIT 许可证开源。欢迎参与贡献,让它变得更好!
为 PlayCanvas 做贡献
我们欢迎各种经验水平的开发者参与!无论是修正文档中的错别字,还是实现重要新功能,你的贡献都会让所有人的 PlayCanvas 体验更好。
开始参与
- 选择感兴趣的领域:浏览仓库,寻找自己感兴趣的内容。
- 查看现有问题:刚开始参与时,可以在各仓库中寻找标记为 good first issue 的问题。
- 发起讨论:实现较大修改前,先提交 issue 讨论你的想法。
- 阅读指南:各仓库的
CONTRIBUTING.md文件包含具体的贡献要求。
贡献流程
1. 提交问题
- 报告缺陷:发现问题后,请提交详细的 issue,并附上复现步骤。
- 功能建议:将想法提交到对应仓库的 issue 中。
- 一般问题:使用 GitHub Discussions 交流。
2. 提交拉取请求
- 先讨论:重要变更应先通过 issue 讨论,再开始编码。
- 遵循指南:遵守对应仓库的代码风格和贡献要求。
- 保持聚焦:PR 应尽量小,每次专注于一个功能或修复。
- 包含测试:在适当情况下添加或更新测试。
- 完成 CLA:签署贡献者许可协议。
3. 审查流程
- 维护者会审查 PR 并提供反馈。
- 请及时处理审查中提出的修改要求。
- 请耐心等待;认真审查需要时间,也有助于保证代码质量。
支持 PlayCanvas
为仓库点亮 Star ⭐
为仓库点亮 Star 是支持 PlayCanvas 最简单的方式之一,它可以:
- 提升可见度:更多 Star 能帮助更多开发者发现工具。
- 表达认可:让我们了解你认为有价值的项目。
- 了解受欢迎程度:帮助我们判断哪些工具对社区最重要。
欢迎关注以下主要仓库:
订阅仓库更新 👀
通过 Watch 订阅感兴趣的仓库,及时了解 PlayCanvas 开发进展:
你会收到什么?
- Issue 通知:了解新报告的缺陷和功能建议。
- 拉取请求更新:了解正在开发的新功能。
- 版本发布公告:及时了解新版本和功能。
- 讨论提醒:参与重要的设计与架构讨论。
如何订阅
- 在 GitHub 上访问任意 PlayCanvas 仓库。
- 点击右上角的 Watch(👁️)按钮。
- 选择通知级别:
- All Activity:接收所有活动通知。
- Issues, PRs, Releases:仅接收重要更新。
- Releases Only:仅接收新版本公告。
建议订阅的仓库
结语
参与 PlayCanvas 贡献,不仅是在改进软件,也是在共同构建交互式 Web 体验的未来。每一次缺陷修复、功能建议、文档改进和 Star,都能让世界各地的开发者更容易参与 Web 3D 开发。
**准备好参与了吗?**从我们的 GitHub 组织中寻找感兴趣的项目吧。PlayCanvas 社区会帮助你迈出第一步!🙌