Skip to content

概览

World 工作流是整个引擎中 连接「创作内容」与「运行时表现」 的核心部分。

在视觉小说中,我们往往同时面对两类创作者:

  • 程序侧:关心结构、生命周期、类型安全、可维护性(以及着色器与性能优化)

  • 艺术 / 剧本侧:关心画面、角色、镜头、节奏,而不希望被 Three.js 或底层实现打扰

World 的目标,正是在不直接暴露底层渲染细节的前提下,为剧本提供一个稳定、可声明、可补全的视觉世界模型。

在这部分,我们只需要关注 /world 目录。

root
├── /packages/...
└── /projects
└── /demo
1 ├── /.vn
2 ├── /assets
3 ├── /plugins
4 ├── /story
5 ├── /world
6 └── package.json

/world 目录下,存放了所有与世界相关的配置和脚本文件,一个示例可能是:

/world
├── bg.example.ts
├── stand.example.ts
└── camera.example.ts

您可以自由创建并组织这些以 .ts 为后缀的视觉对象文件。编写过程比较简单,仅需掌握最基础的 JavaScript 语法即可上手。

World 并不直接加载资源,也不要求你操作场景里的对象。它的职责更偏向于 “声明”:

  • 如何创建纹理(Texture),立绘或背景(Visual)
  • 有哪些场景、相机、灯光、渲染目标(Scene, Camera, Light, RT)

基于 Assets 工作流提供的资源符号,World 可以整理、命名、结构化舞台上的所有对象,最终形成一份 worldIR,服务于剧本,用于更好地编排演出。

记得构建

修改完毕后,请使用 "build:world" 来产生其他工作流可用的 .vn/worldIR 文件。