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
}
}
]
}
]
}