源代码管理

Wonderland Engine 项目被设计为能够很好地与任何源代码管理工具集成,最常用的是 git

由于项目文件基于 JSON,可以手动进行合并。请确保删除对象和列表中的最后元素的逗号!

UUIDs 

为了避免新对象资源 ID 的冲突,可以让编辑器生成 UUIDs,而不是简短且可读的顺序 ID:

视图 > 项目设置 > 编辑器 > ids(设置为 uuid)。

.gitignore 

以下是一个最佳实践的 .gitignore 文件。

请注意,根据您的 CI/CD 设置,您可能希望添加 cache 来减少在性能较低的构建机器上压缩图像所花费的时间。

检查 cache 的额外好处是加快克隆项目后的第一次项目加载速度。

 1# NPM 依赖
 2**/node_modules/
 3
 4# 打包的项目文件
 5**/deploy/
 6
 7# 本地编辑器数据
 8**/.editor/
 9
10# 缓存的编辑器 JS 包
11**/cache/js/
12
13# 本地 UI 状态
14**/imgui.ini
15
16# Blender 备份文件
17*.blend1

Git LFS 

Git 大文件存储扩展可以加速在您的仓库上的 Git 操作,尤其是因为 WebXR 通常包含大型的 3D 资产、纹理和音频文件。

以下是一些推荐通过 git lfs track <extensions> 跟踪的文件:

 1# 音频文件
 2*.mp3 *.wav *.ogg *.webm
 3# 视频文件
 4*.mp4
 5# 二进制 3D 模型文件
 6*.glb *.fbx *.bin *.blend *.ply
 7# 图像文件
 8*.png *.jpeg *.webp *.bmp *.exr *.hdr *.basis
 9# 字体文件
10*.ttf *.otf
11# 压缩文件
12*.zip *.tar.gz

package-lock.json 

package-lock.json 存储当前安装在您的系统上的依赖项的确切版本。使用 npm install 时,该文件将更新为与 package.json 中给定约束相匹配的最新依赖项。

您可以使用 npm ci 来安装 package-lock.json 中的确切依赖项版本。为了获得可复制的构建,您将希望提交此文件。