引言:粉色材质与静默丢组件的根源
美术导出的 .lh 场景加载后节点全部创建成功,但材质全是粉色占位、脚本组件一个没执行——排查发现是异步资源未就绪时节点树已遍历完毕,依赖外部 .lmat/.lani 的属性全部丢失。官方工具链掩盖了这些时序细节,自定义导出或重组场景时它们会集中暴露。
一、文件结构与类型识别
1.1 场景树的 JSON 表达
.lh 文件是描述场景树的 JSON,每个节点以 type 标识类型:
{
"version": "1.0.0",
"type": "Scene",
"child": [
{
"type": "Sprite3D",
"name": "MainCamera",
"props": { "transform": {}, "isMain": true },
"components": [],
"child": []
}
]
}
内置类型包括 Scene、Sprite3D、MeshSprite3D、SkinnedMeshSprite3D、DirectionLight 等;自定义脚本节点的 type 是注册的类名。type 到构造函数的映射是解析的第一步,找不到映射即类型错误。
1.2 props 的三类值语义
props 字典的值按语义分三类,解析策略各不相同:
- 简单值(数值、布尔、字符串):直接赋值;
订阅专栏 解锁全文

18

被折叠的 条评论
为什么被折叠?



