PeopleTracker 场景动作数据说明

该组件的 data.json 用于描述“人/车”在场景中的创建、运动与标注流程。文件是一个数组,每个元素

代表一条动作链(action pipeline)。

顶层结构

actionType : 当前节点的动作类型(如 object.create / object.destroy )。

actionParams : 该动作所需的参数对象。

acitonNext :(原字段拼写保留)后续动作数组,按顺序串联,可嵌套。

各动作的参数说明

object.create

objectId : 目标对象 ID;留空则由引擎生成,填入后可被后续动作(如运动、销毁)引用。

objectPath : 资源路径,如车 /Game/Meshes/Traffic/Cars/PS_Car35.PS_Car35 ,人

/Game/Characters/... ,POI /Script/PiCIMOS.ScenePOI_Icon 。

objectType : 对象类型(1=车辆,4=角色,11=POI 图标等)。

engine : 引擎坐标 "x,y,z" 。

geo : 经纬度坐标字符串(可选)。

location / rotation / scale : 位置 / 旋转 / 缩放(逗号分隔字符串)。

parentId : 父对象 ID(创建 POI 挂载时可用)。

offset : 父对象相对偏移(如 "0,0,450" )。

object.motionCorrection

target : 要移动的对象 ID,留空时通常指向最近创建的对象。

pathID : 预设路径 ID(如 ScenePathFollow_2 、 ScenePathFollow_4 )。

offsetXY / offsetZ : 路径偏移。

engine / geo / rotation : 可选的直接姿态设置。

speed : 速度(可选;留空则由 length + time 推导)。

length : 路径段长度。

time : 用时(秒,字符串)。

object.setMaterial

target : 目标对象 ID。

componentIndex / sectionIndex : 指定部件与材质片段。

materialId : 直接引用已有材质 ID。

materialPath : 材质资源路径。

children : 是否递归子级。 poi.modifyPOI

poiId : POI ID,留空时通常作用于最近创建的 POI。

geoPos : 经纬度位置。

isGeoType : 是否启用地理坐标。

visibility : "1" 显示 / "0" 隐藏。

modelStatus : POI 绑定模型的显示状态/动画状态。

labelData : 文本内容。

labelSize : 文本字号。

labelColor : 文本颜色。

iconWebUrl : 自定义图标 URL。

object.destroy

target : 要销毁的对象 ID。必须与创建时的 objectId 一致,或是场景中已存在的对象 ID(如

SceneMeshObject_5041 )。

常见动作链

1. 创建主体 → 路径运动 → 创建 POI → 修改 POI

2. 创建角色 → 替换材质 → 路径运动 → 创建 POI → 修改 POI

3. 创建对象 → 路径运动 → 销毁对象( object.destroy , target 指向同一对象 ID)

motionCorrection 参数要点

路径: pathID 。

运动:用 length + time 或直接给 speed 。

偏移: offsetXY / offsetZ 。

POI 相关要点

创建: objectType: "11" + objectPath: "/Script/PiCIMOS.ScenePOI_Icon" 。

修改: poi.modifyPOI 设置可见性、文本、颜色、图标等。

示例(节选)

{

"actionType": "object.create",

"actionParams": {

"objectPath": "/Game/Meshes/Traffic/Cars/PS_Car35.PS_Car35",

"objectType": "1",

"engine": "-314398.000000,113226.000000,26744.000000",

"scale": "1.0,1.0,1.0"

},

"acitonNext": [

{

"actionType": "object.motionCorrection",角色示例要点

objectType: "4" 创建角色,示例路径

/Game/Characters/PS_Characters/PS_Workman3/... 。

可先 object.setMaterial 替换材质,再执行 object.motionCorrection 路径移动,最后创建

并修改 POI 标签。

使用建议

保持 acitonNext 字段名与现有数据一致(尽管拼写有误)。

若外部逻辑需要绑定 ID,请在 objectId / poiId 明确填值。

路径运动时间/长度保持成对配置,或提供 speed 由引擎计算。

颜色与文本等 UI 字段建议遵循项目统一的颜色/字体规范。

销毁对象时, target 必须指向已创建的对象 ID,避免空指针。

"actionParams": { "pathID": "ScenePathFollow_2", "length": 150, "time": "2"

}

},

{

"actionType": "object.create",

"actionParams": {

"objectPath": "/Script/PiCIMOS.ScenePOI_Icon",

"objectType": "11",

"offset": "0,0,450",

"scale": "1.0,1.0,1.0"

},

"acitonNext": [

{

"actionType": "poi.modifyPOI",

"actionParams": {

"labelData": "BBB",

"labelSize": "52",

"labelColor": "red",

"visibility": "1",

"isGeoType": true

}

}

]

}

]

}