Objects

30 个 APIpiclient.emit
object.create对象-创建
#

创建对象

输入

参数类型必填默认值说明
objectIdstring对象Id,选择模型后点击模型栏右上角的切换预览面板显示状态按钮,预览面板的对象ID的值,只在编辑情况下生效
objectPathstring对象路径,选择模型后点击模型栏右上角的切换预览面板显示状态按钮,预览面板的对象路径的值,必填,直接运行加载模式也能生效
DTOIDstringDTO对象资源ID
objectTypestringEAT_MESHEAT_MESH(模型)/EAT_SKELETAL(骨骼动画)/EAT_DATASMITH(Datasmith)/EAT_OBJECT(蓝图/POI等)/EAT_DTO(孪生体)/EAT_CAMERA(相机)
parentIdstring可以填写绑定到指定id的模型成为父级
parentTagstring跟ID二选一,ID优先
offsetstring相对父级的位置偏移量===》 0,0,0格式,对应以父级为中心的x,y,z的偏移
tagstring标签,创建物体是可设置自定义标签,可以调用另一个api根据标签获取创建的模型id等数据
iotIDstringIOT对象设置iotID值
enginestring引擎坐标
geostring经度,纬度,高程 高程为可选值
rotationstring朝向roll,pitch,yaw
scalestring1.0,1.0,1.0缩放x,y,z

调用

typescript
piclient.emit("object.create",{  
    objectId: "",//对象Id,选择模型后点击模型栏右上角的切换预览面板显示状态按钮,预览面板的对象ID的值,只在编辑情况下生效
	objectPath: "",//对象路径,选择模型后点击模型栏右上角的切换预览面板显示状态按钮,预览面板的对象路径的值,必填,直接运行加载模式也能生效
	DTOID: "", //DTO对象资源ID
	objectType: "",//EAT_MESH(模型)/EAT_SKELETAL(骨骼动画)/EAT_DATASMITH(Datasmith)/EAT_OBJECT(蓝图/POI等)/EAT_DTO(孪生体)/EAT_CAMERA(相机)
	parentId: "",//可以填写绑定到指定id的模型成为父级
	parentTag: "", //跟ID二选一,ID优先
	offset: "",//相对父级的位置偏移量===》 0,0,0格式,对应以父级为中心的x,y,z的偏移
	tag: "",//标签,创建物体是可设置自定义标签,可以调用另一个api根据标签获取创建的模型id等数据
	iotID: "", //IOT对象设置iotID值
	engine: "",//引擎坐标
	geo: "", //经度,纬度,高程 高程为可选值
	rotation: "", //朝向roll,pitch,yaw
	scale: "1.0,1.0,1.0", //缩放x,y,z
})
object.move对象-移动
#

移动对象,参数offset/engine/geo三选一,都提供则geo >> engine >> offset

输入

参数类型必填默认值说明
targetstringObjectId目标
tagstring标签
parentstringObjectId父对象
offsetstring偏移 x,y,z
enginestring0.0, 0.0, 0.0引擎坐标
geostring0.0, 0.0, 0.0经度,纬度,高程
rotationstring0.0, 0.0, 0.0朝向 roll,pitch,yaw

调用

typescript
piclient.emit("object.move",{
	target: "ObjectId",//目标
	tag: "",//标签
	parent: "ObjectId",//父对象
	offset: "", //偏移 x,y,z
	engine: "0.0, 0.0, 0.0",//引擎坐标
	geo: "0.0, 0.0, 0.0", //经度,纬度,高程
	rotation: "0.0, 0.0, 0.0", //朝向 roll,pitch,yaw
})
object.visible对象-显示隐藏
#

显示隐藏对象

输入

参数类型必填默认值说明
targetstringObjectId单个目标
targetsarray[Object1, Object2, Object3, ...]多个目标,单个目标和多个目标互斥,使用哪个另一个就需要删掉
tagstring
tagsarray[Object1, Object2, Object3, ...]多个目标,单个目标和多个目标互斥,使用哪个另一个就需要删掉
visiblestringtoggle可见性 show / hide / toggle
bAffectChildstringtruetrue/false
可选值:truefalse

输出

参数类型必填默认值说明
result示例数据

调用

typescript
piclient.emit("object.visible",{
	target: "ObjectId",//单个目标
	targets: [Object1, Object2, Object3, ...],//多个目标,单个目标和多个目标互斥,使用哪个另一个就需要删掉
	tag: "",
	tags: [Object1, Object2, Object3, ...],//多个目标,单个目标和多个目标互斥,使用哪个另一个就需要删掉
	visible: "toggle",//可见性 show / hide / toggle
	bAffectChild: "true", //true/false
})
object.destroy对象-销毁
#

销毁对象

输入

参数类型必填默认值说明
targetstringObjectId模型id,两个参数二选一
tagstring模型id_Spawn模型名称+ _Spawn,只有车位场景才能使用

输出

参数类型必填默认值说明
result示例数据

调用

typescript
piclient.emit("object.destroy",{
	target: "ObjectId",//目标
	tag: "模型id_Spawn",//模型名称+ _Spawn,只有车位场景才能使用
})
object.layerVisible对象-图层显隐
#

图层显隐

输入

参数类型必填默认值说明
layerNamestring图层名
visiblestringtoggle可见性 show / hide / toggle

调用

typescript
piclient.emit("object.layerVisible",{
	layerName: "",//图层名
	visible: "toggle",//可见性 show / hide / toggle
})
object.setMaterial对象-设置材质
#

设置材质

输入

参数类型必填默认值说明
targetstringObjectId目标对象
tagstring模型标记
componentIndexstring0组件序号,-1表示所有组件全部替换
sectionIndexstring0材质位置序号,-1表示所有部位全部替换
materialIdstring从材质库中选择材质并从预览详情页面获取材质ID
materialPathstring从材质库中选择材质并从预览详情页面获取材质路径
childrenbooleantrue是否连所有子对象一起处理

调用

typescript
piclient.emit("object.setMaterial",{
	target: "ObjectId",//目标对象
	tag: "",//模型标记
	componentIndex: "0", //组件序号,-1表示所有组件全部替换
	sectionIndex: "0", //材质位置序号,-1表示所有部位全部替换
	materialId: "", //从材质库中选择材质并从详情页面获取材质ID
	materialPath: "", //从材质库中选择材质并从预览详情页面获取材质路径
	children: true, //是否连所有子对象一起处理
})
object.callFunction对象-调用函数
#

调用函数,暂不支持传参,可以是Actor子类的蓝图目标

输入

参数类型必填默认值说明
targetstringObjectId可以是Actor子类的蓝图目标(虽然大纲视图不显示)
functionstring暂不支持传参

输出

参数类型必填默认值说明
result示例数据

调用

typescript
piclient.emit("object.callFunction",{
	target: "ObjectId", //可以是Actor子类的蓝图目标(虽然大纲视图不显示)
	function: "", //暂不支持传参
})
object.playAnimation对象-播放动画
#

播放动画

输入

参数类型必填默认值说明
targetstringObjectId必须是动画对象
bPlaystringtruetrue播放动画/false暂停动画
LoopPlaystring1-1表示循环播放
PlayRatestring1.0-1表示倒放动画
StartOffsetstring0
bRandomStartbooleantrue是否随机开始
bRestoreStatusbooleantrue是否恢复
playbackPercentstring播放到动画的百分比,0为开头,100为结尾

输出

参数类型必填默认值说明
result示例数据

调用

typescript
piclient.emit("object.playAnimation",{
	target: "ObjectId", //必须是动画对象
	bPlay: "true", //true播放动画/false暂停动画
	LoopPlay: "1", //-1表示循环播放
	PlayRate: "1.0", //-1表示倒放动画
	StartOffset: "0",
	bRandomStart: true, //是否随机开始
	bRestoreStatus: true, //是否恢复
})
object.playAnimationSet对象-播放动画集
#

播放动画集

输入

参数类型必填默认值说明
targetstringObjectId必须是动画集对象
Animationstring动画名称
bPlaystringfalse播放动画/暂停动画
LoopPlaystring1-1表示循环播放
PlayRatestring1.0-1表示倒放动画
StartOffsetstring0
bRandomStartbooleantrue是否随机开始
bRestoreStatusbooleantrue是否恢复
RestoreLastStatusstringERLS_RESET恢复上一个动画,ERLS_RESET(重置)/ERLS_REVERSE(反转)/ERLS_RETAIN(保留)

输出

参数类型必填默认值说明
result示例数据

调用

typescript
piclient.emit("object.playAnimationSet",{
	target: "ObjectId", //必须是动画集对象
	Animation: "", //动画名称
	bPlay: "false", //播放动画/暂停动画
	LoopPlay: "1", //-1表示循环播放
	PlayRate: "1.0", //-1表示倒放动画
	StartOffset: "0",
	bRandomStart: true, //是否随机开始
	bRestoreStatus: true, //是否恢复
	RestoreLastStatus: "ERLS_RESET", //恢复上一个动画,ERLS_RESET(重置)/ERLS_REVERSE(反转)/ERLS_RETAIN(保留)
})
object.playAnimationInstance对象-播放物体动画
#

播放物体动画

输入

参数类型必填默认值说明
targetstringObjectId必须带物体动画的对象
bPlaystringtrue播放动画/暂停动画
bLoopingstringtruetrue表示循环播放
PlayRatestring1.0-1表示倒放动画

调用

typescript
piclient.emit("object.playAnimationInstance",{
	target: "ObjectId", //必须带物体动画的对象
	bPlay: "true", //播放动画/暂停动画
	bLooping: "true", //true表示循环播放
	PlayRate: "1.0", //-1表示倒放动画
})
object.playScatterSetAnimation对象-播放阵列动画
#

播放阵列对象特定的动画,前提是阵列对象存在,且设置好了动画参数

输入

参数类型必填默认值说明
objectIdstring阵列对象ID
animationParameterstring两级阵列播放序列

调用

typescript
piclient.emit("object.playScatterSetAnimation",{
	objectId: "",// 阵列对象ID
	animationParameter: "",// 两级阵列播放序列
})
object.resetScatterSetWithId对象-重置阵列对象
#

重置阵列对象到配置的状态

输入

参数类型必填默认值说明
objectIdstring阵列对象ID

调用

typescript
piclient.emit("object.resetScatterSetWithId",{
	objectId: "",// 阵列对象ID
})
object.setWaterMaterialProperty对象-修改水材质属性
#

修改水材质属性

输入

参数类型必填默认值说明
targetstringObjectId
PropertyFractionInstring0.04透明浑浊度
PropertyWaterRoughnessstring0.05水面反射
PropertyWaterSpecularstring0.22水面高光度
PropertycColorstringFFFFFFFF水面颜色
PropertyDirectionOffsetstring0.5水流方向
PropertyFoamOffsetstring1泡沫流动方向
PropertyGlobalSpeedstring1泡沫流动速率
PropertySizestring6水面波浪大小
PropertyWaveLengthstring16384水面波浪强度

调用

typescript
piclient.emit("object.setWaterMaterialProperty",{
	target: "ObjectId",
	PropertyFractionIn: "0.04", //透明浑浊度
	PropertyWaterRoughness: "0.05", //水面反射
	PropertyWaterSpecular: "0.22", //水面高光度
	PropertycColor: "FFFFFFFF", //水面颜色
	PropertyDirectionOffset: "0.5", //水流方向
	PropertyFoamOffset: "1", //泡沫流动方向
	PropertyGlobalSpeed: "1", //泡沫流动速率
	PropertySize: "6", //水面波浪大小
	PropertyWaveLength: "16384", //水面波浪强度
})
object.getRangeInfo对象-范围信息
#

球形范围内其他对象信息

输入

参数类型必填默认值说明
targetstringObjectId
tagstring
rangestring10单位m

调用

typescript
//调用触发事件
piclient.emit("object.getRangeInfo",{
	target: "ObjectId",
	tag: "",
	range: "10", //单位m
})
//监听事件获取回调信息
piclient.on("object.getRangeInfo","",(res) => {
	alert(JSON.stringify(res))
})
object.motionCorrection对象-运动纠偏
#

对象运动纠偏同步,参数engine/geo二选一,都提供则geo >> engine

输入

参数类型必填默认值说明
targetstringObjectId
tagstring
pathIDstringObjectId
offsetXYstring0
offsetZstring0
enginestring0.0, 0.0, 0.0
geostring0.0, 0.0, 0.0经度,纬度,高程
rotationstring0.0, 0.0, 0.0roll,pitch,yaw
speedstring0m/s 速度/时间两个只需要传一个,默认速度优先级最高,填0就是停止,只设置时间的话,需要把速度值置空清除
可选值:ms
lengthstring0m
timestring2s 时间/速度两个只需要传一个,默认速度优先级最高,速度填0就是停止,只设置时间的话,需要把速度值置空清除

调用

typescript
piclient.emit("object.motionCorrection",{
	target: "ObjectId",
	tag: "",
	pathID: "ObjectId",
	offsetXY: "0",
	offsetZ: "0",
	engine: "0.0, 0.0, 0.0",
	geo: "0.0, 0.0, 0.0", //经度,纬度,高程
	rotation: "0.0, 0.0, 0.0", //roll,pitch,yaw
	speed: "0", //m/s 速度/时间两个只需要传一个,默认速度优先级最高,填0就是停止,只设置时间的话,需要把速度值置空清除
	length: "0", //m
	time: "2", //s 时间/速度两个只需要传一个,默认速度优先级最高,速度填0就是停止,只设置时间的话,需要把速度值置空清除
})
object.setCollision对象-碰撞
#

对象碰撞

输入

参数类型必填默认值说明
targetstringObjectId
tagstring
Collisionstringtoggle切换状态 toggle/true/false
可选值:toggletruefalse
bAffectChildstringtruetrue是开启,false是关闭

调用

typescript
piclient.emit("object.setCollision",{
	target: "ObjectId",
	tag: "",
	Collision: "toggle",//切换状态 toggle/true/false
	bAffectChild: "true",//true是开启,false是关闭
})
object.highlight对象-高亮
#

对象高亮

输入

参数类型必填默认值说明
targetstringObjectId
tagstring
highlightstringtoggle可见性 toggle/true/false
可选值:toggletruefalse
bAffectChildstringtrue是否覆盖子级true/false
可选值:truefalse

调用

typescript
piclient.emit("object.highlight",{
	target: "ObjectId",
	tag: "",
	highlight: "toggle",//可见性toggle/true/false
	bAffectChild: "true",//是否覆盖子级true/false
})
object.blur对象-虚化
#

对象虚化

输入

参数类型必填默认值说明
targetstringObjectId
tagstring
blurstringtoggletoggle/true/false
可选值:toggletruefalse
bAffectChildstringtruetrue/false
可选值:truefalse
tintColorstring#FFFFFF虚化颜色
lightnessstring0.5
opacitystring0.2

调用

typescript
piclient.emit("object.blur",{
	target: "ObjectId",
	tag: "",
	blur: "toggle", //toggle/true/false
	bAffectChild: "true",//true/false
	tintColor: "#FFFFFF", //虚化颜色
	lightness: "0.5",
	opacity: "0.2",
})
object.opacity对象-透明度
#

对象设置透明度

输入

参数类型必填默认值说明
targetstringObjectId
tagstring
opacitystring0.5
bAffectChildstringtruetrue/false
可选值:truefalse

调用

typescript
piclient.emit("object.opacity",{
	target: "ObjectId",
	tag: "",
	opacity: "0.5",
	bAffectChild: "true",//true/false
})
object.getInfo对象-信息
#

得到对象信息

输入

参数类型必填默认值说明
targetstringObjectId对象id
tagstring对象自定义标签
displayNamestringString视图大纲中的名称

调用

typescript
//调用触发事件
piclient.emit("object.getInfo",{
	target: "ObjectId",
	tag: "",//对象自定义标签
	displayName: "String", //视图大纲中的名称
}) 
//监听事件获取回调信息
piclient.on("object.getInfo","",(res) => {
	alert(JSON.stringify(res))
})
object.getChild对象-子物体
#

得到对象子物体列表

输入

参数类型必填默认值说明
targetstringObjectName场景中的任意对象
tagstringString
displayNamestringString视图大纲中的名称

调用

typescript
//调用触发事件
piclient.emit("object.getChild",{
	target: "ObjectName", //场景中的任意对象
	tag: "String",
	displayName: "String", //视图大纲中的名称
}) 
//监听事件获取回调信息
piclient.on("object.getChild","",(res) => {
	alert(JSON.stringify(res))
})
object.setTag对象-标记
#

设置对象标记

输入

参数类型必填默认值说明
targetstringObjectId场景中的任意对象
tagstring
displayNamestring视图大纲中的名称
newTagstring
clearbooleantrue清除模型自身Tag

调用

typescript
//调用触发事件
piclient.emit("object.setTag",{
	target: "ObjectId", //场景中的任意对象
	tag: "",
	displayName: "", //视图大纲中的名称
	newTag: "",
	clear: true, //清除模型自身Tag
})
object.getScreenInfo对象-屏幕信息
#

得到对象屏幕坐标

输入

参数类型必填默认值说明
targetstringObjectId
tagstringString
selectionIndexstringString

输出

参数类型必填默认值说明
targetIdstring
projectIdstring
ScreenObjectsarray[]

调用

typescript
//调用触发事件
piclient.emit("object.getScreenInfo",{
	target: "ObjectId",
	tag: "String",
	selectionIndex: "String",
})
//监听事件获取回调信息
piclient.on("object.getScreenInfo","",(res) => {
	alert(JSON.stringify(res))
})
object.stopScreenInfo对象-停止屏幕信息
#

停止推送对象屏幕信息

输入

参数类型必填默认值说明
targetstringObjectId
selectionIndexstring
isAllbooleantruetrue/false是否停止全部推送
可选值:truefalse

调用

typescript
piclient.emit("object.stopScreenInfo",{
	target: "ObjectId",
	selectionIndex: "",
	isAll: true, //true/false是否停止全部推送
})
object.getDroneInfo对象-无人机信息
#

开启发送无人机信息

输入

参数类型必填默认值说明
bSendDroneInfostringfalse

调用

typescript
piclient.emit("object.getDroneInfo",{
	bSendDroneInfo: "false",
})
object.moveSync对象-位置同步
#

对象位置同步,参数engine/geo二选一,都提供则geo >> engine

输入

参数类型必填默认值说明
targetstringObjectId
tagstring
enginestring0.0, 0.0, 0.0
geostring0.0, 0.0, 0.0经度,纬度,高程
rotationstring0.0, 0.0, 0.0roll,pitch,yaw
speedstring0m/s
可选值:ms
timestring2s
targetTypestringmeshmesh/character/boat
可选值:meshcharacterboat

调用

typescript
piclient.emit("object.moveSync",{
	target: "ObjectId",
	tag: "",
	engine: "0.0, 0.0, 0.0",//引擎坐标
	geo: "0.0, 0.0, 0.0", //经度,纬度,高程
	rotation: "0.0, 0.0, 0.0", //朝向roll,pitch,yaw
	speed: "0", //m/s速度m/s 速度时间二选一,速度优先
	time: "2", //时间s 为0则秒到
})
//监听事件获取回调信息
piclient.on("object.moveSync","",(res) => {
	alert(JSON.stringify(res))
})
object.scale对象-缩放
#

缩放对象,默认时间是0

输入

参数类型必填默认值说明
targetstringObjectId
tagstring
scalestring1.0,1.0,1.0x,y,z
timestring0时间s

调用

typescript
piclient.emit("object.scale",{
	target: "ObjectId",
	tag: "",
	scale: "1.0,1.0,1.0", //x,y,z
	time: "0", //时间s
})
object.rotate对象-旋转
#

旋转对象,默认时间是0

输入

参数类型必填默认值说明
targetstringObjectId
tagstring
rotationstring0.0, 0.0, 0.0roll,pitch,yaw
timestring0时间s

调用

typescript
piclient.emit("object.rotate",{
	target: "ObjectId",
	tag: "",
	rotation: "0.0, 0.0, 0.0", //roll,pitch,yaw
	time: "0", //时间s
})
object.multiSelectSetTag对象-框选筛选
#

开启框选对象tag筛选

输入

参数类型必填默认值说明
tagstringString

调用

typescript
piclient.emit("object.multiSelectSetTag",{
	tag: "String",
})
object.update对象-更新
#

更新对象属性

输入

参数类型必填默认值说明
targetsarray[Object1, Object2, Object3, ...]
tagsarray[Object1, Object2, Object3, ...]
highlightstring00/1点击高亮
bAffectChildstringtruetrue/false
可选值:truefalse
displayNamestringString

调用

typescript
piclient.emit("object.update",{
	targets: [Object1, Object2, Object3, ...],
	tags: [Object1, Object2, Object3, ...],
	highlight: "0", //0/1点击高亮
	bAffectChild: "true", //true/false
	displayName: "String",
})