Skip to content

项目结构

projects 目录下,请看向名称为 demo 的项目,它有着每个项目的标准格式。

在每个项目下,都有 6 个单元值得关注。

root
├── ...
└── /projects
└── /demo
├── /.vn
├── /assets
├── /plugins
├── /story
├── /world
└── package.json

缓存目录为 /.vn,存放编译后的中间表示(IR),以及类型提示文件。

资源目录有 4 个:

  • assets: 存放所有游戏资源,包括立绘、背景、音频、视频等。
  • plugins: 存放所有插件。
  • story: 存放所有剧本脚本,包括对话、场景切换、动画等。
  • world: 存放所有世界配置,包括相机、场景、立绘等。

其中提供了 6 个命令行脚本,用于编译资源与脚本:

如果使用 VS Code 作为编辑器,可以将光标移动至左侧脚本名称上(如 "init""build:asset"),选择执行脚本。

{
"scripts": {
"build:asset": "shx-cli asset",
"build:world": "shx-cli world",
"build:story": "shx-cli story",
"build": "pnpm build:asset && pnpm build:world && pnpm build:story && pnpm build:bound",
"use": "shx-cli use",
"init": "pnpm i"
}
}

1. 初始化项目

在首次安装、或新建项目后,请先执行 "init"pnpm i 来与代码库同步依赖。

指令功能
init初始化项目,安装依赖(反复执行不会产生影响)。

2. 编译资源

在每个工作流完成(或修改)后,请记得执行对应的指令来编译资源。

指令功能
build:asset扫描资源,将 assets 目录下的资源解析为 .vn/assets.d.ts
build:world编译世界配置,将 world 目录下的配置编译为 .vn/worldIR/...
build:story编译剧本,将 story 目录下的剧本脚本编译为 .vn/storyIR/...
build执行上述所有脚本(编译整个项目)。

3. 链接资源

如果需要打包、调试、预览项目,请先使用 use 指令,将资源链接到引擎中。

指令功能
use将项目资源通过符号链接到 ShxNovel 引擎中。

这样一来,只有在打包 / 发布项目时,才会将资源(复制)打包到最终的游戏包中。