Element
元件基础
 元件相关的基础操作枚举列表
Element.SPAWN_TYPE
- 描述: 生成类型
| 成员名称 | 成员说明 | 
|---|---|
| Config | 官方配置元件 | 
| Prefab | 场景摆放实例 | 
Element.SPAWN_SOURCE
- 描述: 元件生成来源
| 成员名称 | 成员说明 | 
|---|---|
| Config | 官方配置元件 | 
| Scene | 场景摆放实例 | 
| Prefab | 自定义预设体 | 
Element.COORDINATE
- 描述: 坐标系
| 成员名称 | 成员说明 | 
|---|---|
| World | 全局坐标 | 
| Part | 局部坐标 | 
Element.CURVE
- 描述: 运动曲线
| 成员名称 | 成员说明 | 
|---|---|
| linear | 线性,匀速变化 | 
| quadIn | 二次加速,开始时加速,速度逐渐增加 | 
| cubicIn | 三次加速,开始时加速更快,速度增加得更明显 | 
| quartIn | 四次加速,开始时加速非常快,速度变化剧烈 | 
| quintIn | 五次加速,开始时的加速比 quartIn 更强烈 | 
| sineIn | 正弦加速,始时缓慢加速,速度逐渐增加,接近正弦波的形状 | 
| expoIn | 指数加速,开始时非常缓慢,随后迅速加速 | 
| circIn | 圆形加速,开始时加速,速度变化类似于圆形的路径 | 
| elasticIn | 弹性加速,开始时有弹性效果,像弹簧一样反弹 | 
| backIn | 回弹加速,开始时稍微回退,然后加速前进 | 
| bounceIn | 弹跳加速,开始时像弹球一样反弹 | 
| smooth | 平滑,平滑的过渡效果 | 
| quadOut | 二次减速,开始时速度较快,逐渐减速 | 
| cubicOut | 三次减速,开始时速度较快,减速更明显 | 
| quartOut | 四次减速,开始时速度较快,减速非常明显 | 
| quintOut | 五次减速,开始时速度较快,减速比 quartOut 更明显 | 
| sineOut | 正弦减速,开始时速度较快,减速接近正弦波的形状 | 
| expoOut | 指数减速,开始时速度较快,随后迅速减速 | 
| circOut | 圆形减速,开始时速度较快,减速类似于圆形的路径 | 
| elasticOut | 弹性减速,结束时有弹性效果,像弹簧一样反弹 | 
| backOut | 回弹减速,结束时稍微回退,然后减速 | 
Element.PresetPhyMaterial
- 描述: 物理材质
| 成员名称 | 成员说明 | 
|---|---|
| None | 无 | 
| Ice | 冰 | 
| Metal | 金属 | 
| Stone | 石头 | 
| Elastic | 弹力 | 
函数列表
ClearAllProps
- 
描述: 清除场景中所有道具 
- 
范围: 服务端 
Element:ClearAllProps()SpawnElement
- 
描述: 在场景中创建指定类型的元件实例设置其坐标位置,缩放与旋转 
- 
范围: 服务端、客户端 
- 
警告: 预设类型的元件目前只能在多场景下生成,非多场景需要在扣钉中引用到它,否则编程脚本无法获取到它 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| SpawnSource | Element.SPAWN_SOURCE | 生成元件来源,官方配置元件,场景中已经摆放好的元件,或者自定义预设 | 
| SpawnId | number|string | 生成元件ID - 官方配置元件:实例信息中获取类型ID(number),自定义预设:在预设界面中获取预设ID(string),场景元件:实例信息中获取实例ID(number) | 
| CallBack | function(elementId:number) | 生成元件完成之后的回调;elementId-生成的元件ID | 
| Pos | Engine.Vector | 元件位置坐标,默认Engine.Vector(0,0,0) | 
| Rot | Engine.Rotator | 元件旋转,默认Engine.Rotator(0,0,0) | 
| Scale | number|Engine.Vector | 元件缩放,默认1,如果传入number,则会在原本的缩放比例基础上等比进行缩放,如果传入Engine.Vector,则会直接设置缩放 | 
| Replicate | boolean | 在服务端上生成时是否在所有客户端上生成,默认false,设为true时会在所有客户端上生成同样的元件,并需要等待所有客户端的元件全部生成完成之后才会返回,耗时较长谨慎使用 | 
local pos, rot, scale = Engine.Vector(0,0,200), Engine.Rotator(0,0,0), Engine.Vector(1,1,1)self.elementId = nillocal callBack = function(elementId)    self.elementId = elementIdendElement:SpawnElement(Element.SPAWN_SOURCE.Config, 1101002001034010, callBack, pos, rot, scale)CreateProp
- 
描述: 将指定类型的道具创建到指定坐标 
- 
范围: 服务端、客户端 
- 
警告: 如果在服务端上进行生成时,则会同时在所有客户端上生成同样的元件,需要等待所有端的元件全部生成完成之后才会返回,谨慎使用在服务端上进行元件生成 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| PropId | number | 道具ID | 
| Pos | Engine.Vector | 生成位置坐标 | 
| Seconds | number | 多少秒之后消失 | 
| CallBack | function(elementId:number) | 生成道具完成之后的回调;elementId-生成的元件ID | 
local pos, seconds = Engine.Vector(0,0,200), 10self.elementId = nillocal callBack = function(elementId)    self.elementId = elementIdendElement:CreateProp(1106025000000000, pos, seconds, callBack)Destroy
- 
描述: 销毁元件,异步操作,在当前帧结束之前销毁 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
Element:Destroy(343)DestroyByTime
- 
描述: 在指定时间后,销毁指定元件实例 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
| Seconds | number | 等待多少秒之后销毁元件实例 | 
Element:DestroyByTime(343, 2)SetPosition
- 
描述: 设置并改变元件位置 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
| Pos | Engine.Vector | 位置坐标 | 
| Coordinate | Element.COORDINATE | 参照坐标 | 
local pos = Engine.Vector(1000, 1000, 200)Element:SetPosition(343, pos, Element.COORDINATE.World)SetForward
- 
描述: 设置并改变元件朝向 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
| Forward | Engine.Vector | 元件朝向方向向量 | 
Element:SetForward(343, Engine.Vector(0, 90, 90))SetScale
- 
描述: 设置并改变元件的缩放 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
| Scale | Engine.Vector|number | 元件缩放 | 
local scale = Engine.Vector(2, 2, 2)Element:SetScale(343, scale)SetRotation
- 
描述: 设置并改变元件的旋转方向 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
| Rot | Engine.Rotator | 元件旋转 | 
| Coordinate | Element.COORDINATE | 参照坐标 | 
local rot = Engine.Rotator(90, 180, 0)Element:SetRotation(343, rot, Element.COORDINATE.Part)SetRotationQuaternion
- 
描述: 使用四元数设置元件的旋转 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
| Quat | Engine.Quat | 四元数 | 
| Coordinate | Element.COORDINATE | 参照坐标 | 
local quat = Engine.Quat(1, 1, 1, 1)Element:SetRotationQuaternion(343, quat, Element.COORDINATE.Part)SetEnableCollision
- 
描述: 设置并改变元件的是否可碰撞属性 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
| EnableCollision | boolean | 是否开启可碰撞属性 | 
Element:SetEnableCollision(343, true)SetPhysics
- 
描述: 设置是否开启受外力作用。若需要开启抓举,需要先开启受外力作用。若需要关闭抓举,需要先将受外力作用关闭 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
| AffectAbleByForce | boolean | 是否开启受外力作用 | 
| CarriAble | boolean | 是否可被抓举 | 
| CollisionCharMesh | boolean | 在开启受外力作用后,是否保留与角色mesh的碰撞,默认为false | 
Element:SetPhysics(343, true, true)SetVisibility
- 
描述: 设置并改变元件的是否可见属性 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
| Visible | boolean | 是否可见 | 
Element:SetVisibility(343, false)SetColor
- 
描述: 设置元件的颜色 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
| Area | number | 变色区域:1,2,3,4 | 
| Color | string | 颜色,十六进制代码:#FFFFFFFF,Alpha固定为255 | 
local area, color = 1, "#FFFFFFFF"Element:SetColor(343, area, color)EnableAllMotionUnit
- 
描述: 启用|禁用目标元件的所有运动单元,无视启动条件 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
| Enable | boolean | 是否启用所有运动单元 | 
Element:EnableAllMotionUnit(343, true)EnableMotionUnitByIndex
- 
描述: 启用|禁用目标元件的指定编号运动单元,无视启动条件 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
| Index | number | 运动单元指定编号:1、2、3… | 
| Enable | boolean | 是否启用所有运动单元 | 
Element:EnableMotionUnitByIndex(343, 1, true)AddForce
- 
描述: 对具备物理特性的指定元件添加对应向量的力 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 场景元件实例ID | 
| ForceVector | Engine.Vector | 作用力向量 | 
local forceVec = Engine.Vector(0, 0, 2000)Element:AddForce(343, forceVec)BindingToElement
- 
描述: 将目标元件附加到指定父元件上 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ChildId | number | 子元件场景实例ID | 
| ParentId | number | 父元件场景实例ID,父元件为模组时不能被附加 | 
Element:BindingToElement(343, 347)BindingToCharacterOrNPC
- 
描述: 将目标元件附加到指定父角色上 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ChildId | number | 子元件场景实例ID | 
| ParentId | number | 父元件场景实例ID | 
| SocketName | Character.SOCKET_NAME | 骨骼附着点 | 
| SocketMode | Character.SOCKET_MODE | 骨骼吸附模式 | 
local localPlayerId = Character:GetLocalPlayerId()Element:BindingToCharacterOrNPC(343, localPlayerId, Character.SOCKET_NAME.Head, Character.SOCKET_MODE.SnapToTarget)UnBinding
- 
描述: 解除元件的附加逻辑 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ChildId | number | 子元件场景实例ID | 
Element:UnBinding(343)TrackTarget
- 
描述: 让指定元件实例追踪目标实例,元件可以做加速运动且保持一个指定的相对距离 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| SourceId | number | 追踪元件场景实例ID | 
| TargetId | number | 追踪目标元件场景实例ID | 
| InitSpeed | number | 初始速度 | 
| Acceleration | number | 加速度 | 
| MaxVelocity | number | 最大速度 | 
| DistanceKeep | number | 保持距离 | 
local initSpeed, acceleration, maxVelocity, distanceKeep = 500, 100, 1000, 500Element:TrackTarget(343, 347, initSpeed, acceleration, maxVelocity, distanceKeep)StopTracking
- 
描述: 让指定元件实例停止追踪运动 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 追踪元件场景实例ID | 
Element:StopTracking(343)LinearMotion
- 
描述: 让元件直线移动。 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
| Direction | Engine.Vector | 运动方向 | 
| InitSpeed | number | 初始速度 | 
| Acceleration | number | 加速度 | 
| MaxSpeed | number | 最大速度 | 
| Duration | number | 运动时间 | 
local direction, initSpeed, acceleration, maxSpeed, duration = Engine.Vector(0, 1, 0), 500, 100, 1000, 10Element:LinearMotion(343, direction, initSpeed, acceleration, maxSpeed, duration)CircularMotion
- 
描述: 让元件圆周运动,以当前坐标点与中心点之间的距离为半径。 
- 
范围: 服务端、客户端 
- 
警告: 只支持运动表演,运动期间元件无碰撞 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
| Center | Engine.Vector | 圆周运动中心点位置 | 
| Angle | number | 角速度 | 
| Duration | number | 运动时间 | 
| Axis | Engine.Vector | 圆周运动旋转轴方向向量,默认为(0, 0, 1) | 
local center, angle, duration, axis = Engine.Vector(0, 0, 200), 50, 10, Engine.Vector(0, 0, 1)Element:CircularMotion(343, center, angle, duration, axis)ParabolicMotion
- 
描述: 让元件抛物线运动。 
- 
范围: 服务端、客户端 
- 
警告: 只支持运动表演,运动期间元件无碰撞 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
| Endpos | Engine.Vector | 抛物线落点位置 | 
| MaxHeight | number | 抛物线最大高度 | 
| Duration | number | 运动时间 | 
local endpos, maxHeight, duration = Engine.Vector(0, 0, 100), 500, 10Element:ParabolicMotion(343, endpos, maxHeight, duration)StopElementMotion
- 
描述: 停止元件运动表演,包括LinearMotion、CircularMotion、ParabolicMotion 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
Element:StopElementMotion(343)SetReplicates
- 
描述: 设置元件是否进行客户端和服务端同步,开启后在服务端进行元件位移等操作时,会自动同步给客户端 
- 
描述: 元件默认为开启状态 
- 
范围: 服务端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
| Replicates | boolean | 是否开启同步 | 
Element:SetReplicates(343, false)MoveTo
- 
描述: 设置元件位置,使元件按指定方式移动到该位置 
- 
范围: 服务端、客户端 
- 
警告: 移动中被设置位置也会回到持续移动状态。 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
| Pos | Engine.Vector | 目标位置 | 
| Duration | number | 运动时间 | 
| Curve | Element.CURVE | 运动曲线类型 | 
| BeginPos | Engine.Vector | 开始位置,不传则使用当前位置 | 
local pos, duration, beginPos = Engine.Vector(0, 0, 100), 5, Engine.Vector(1000, 1000, 100)Element:MoveTo(343, pos, duration, Element.CURVE.linear, beginPos)StopMoveTo
- 
描述: 停止元件移动运动 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
Element:StopMoveTo(343)RotateTo
- 
描述: 设置元件旋转,使元件按指定方式旋转到该位置 
- 
范围: 服务端、客户端 
- 
警告: 旋转中被设置旋转也会回到持续旋转的状态。 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
| Rot | Engine.Rotator | 目标朝向 | 
| Duration | number | 运动时间 | 
| Curve | Element.CURVE | 运动曲线类型 | 
| BeginRot | Engine.Rotator | 开始朝向,不传则使用当前朝向 | 
local rot, duration, beginRot = Engine.Rotator(180, 180, 0), 5, Engine.Rotator(0, 0, 0)Element:RotateTo(343, rot, duration, Element.CURVE.linear, beginRot)StopRotateTo
- 
描述: 停止元件旋转 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
Element:StopRotateTo(343)ScaleTo
- 
描述: 设置元件缩放,使元件按指定方式缩放到该大小 
- 
范围: 服务端、客户端 
- 
警告: 缩放中被设置缩放也会回到持续缩放的状态。 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
| Scale | Engine.Vector | 目标缩放 | 
| Duration | number | 运动时间 | 
| Curve | Element.CURVE | 运动曲线类型 | 
| BeginScale | Engine.Vector | 开始缩放,不传则使用当前缩放 | 
local scale, duration, beginScale = Engine.Vector(2, 2, 2), 2, Engine.Vector(1, 1, 1)Element:ScaleTo(343, scale, duration, Element.CURVE.linear, beginScale)StopScaleTo
- 
描述: 停止元件缩放 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
Element:StopScaleTo(343)SetMask
- 
描述: 设置元件的遮罩属性。支持:无,半透,剪影,缩进 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
| MaskType | number | 遮罩规则:1-无、2-半透、3-剪影、4-缩进 | 
Element:SetMask(343, 2)DisablePhysicsActorMultiSyncOptimizeSwitch
- 
描述: 设置元件投掷修正 
- 
范围: 服务端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
| Val | boolean | 是否进行修正 | 
Element:DisablePhysicsActorMultiSyncOptimizeSwitch(343, true)IsType
- 
描述: 判断元件是否为指定类型,是返回true,否返回false 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
| TypeId | number | 元件类型ID,请选择场景中元件,点击编辑,在实例信息中获取类型ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| isType | boolean | 元件是否为指定类型 | 
local isType = Element:IsType(343, 1101002001034000)IsBeGrabbed
- 
描述: 判断元件是否被举起,是返回true,否返回false 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| isBeGrabbed | boolean | 是否被举起 | 
local isBeGrabbed = Element:IsBeGrabbed(343)IsCanBeGrabbed
- 
描述: 判断元件是否可举起,是返回true,否返回false 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| isCanBeGrabbed | boolean | 是否可举起 | 
local isCanBeGrabbed = Element:IsCanBeGrabbed(343)IsVisible
- 
描述: 判断元件是否可见,是返回true,否返回false 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| isVisible | boolean | 是否可见 | 
local isVisible = Element:IsVisible(343)IsOpenPysical
- 
描述: 判断元件是否开启物理,是返回true,否返回false 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| isOpenPysical | boolean | 是否开启物理 | 
local isOpenPysical = Element:IsOpenPysical(343)IsOpenCollision
- 
描述: 判断元件是否开启碰撞,是返回true,否返回false 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| isOpenCollision | boolean | 是否开启碰撞 | 
local isOpenCollision = Element:IsOpenCollision(343)GetType
- 
描述: 返回指定元件实例的元件类型id 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| typeId | number | 元件类型Id | 
local typeId = Element:GetType(343)GetChildElementsFromCharacter
- 
描述: 获取挂载在角色身上的所有元件 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| PlayerId | number | 角色ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| idList | number[] | 是挂载在角色身上的所有元件id数组 | 
local localPlayerId = Character:GetLocalPlayerId()local idList = Element:GetChildElementsFromCharacter(localPlayerId)GetPosition
- 
描述: 以Engine.Vector形式返回指定元件实例的世界坐标 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| pos | Engine.Vector | 元件世界坐标 | 
local pos = Element:GetPosition(343)PartToWordPosition
- 
描述: 将元件自身编辑中心坐标系中的相对坐标转化为世界坐标中的位置 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
| PartPos | Engine.Vector | 相对于元件自身朝向偏移某个位置的坐标 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| worldPos | Engine.Vector | 一个元件自身朝向偏移某个位置的坐标在世界坐标下的位置 | 
local partPos = Engine.Vector(10, 10, 10)local worldPos = Element:PartToWordPosition(343, partPos)GetScale
- 
描述: 以Engine.Vector形式返回指定元件实例的缩放数据 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| scale | Engine.Vector | 元件实例的缩放数据 | 
local scale = Element:GetScale(343)GetRotation
- 
描述: 以Engine.Rotator形式返回指定元件实例的旋转数据 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| rot | Engine.Rotator | 元件实例的旋转数据 | 
local rot = Element:GetRotation(343)GetRotationQuaternion
- 
描述: 以四元数形式返回指定元件实例的旋转数据 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| quat | Engine.Quat | 元件实例的四元数旋转数据 | 
local quat = Element:GetRotationQuaternion(343)GetForward
- 
描述: 以Engine.Vector形式返回指定元件实例的正面朝向方向向量数据 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| forward | Engine.Vector | 元件实例的正面朝向方向向量数据 | 
local forward = Element:GetForward(343)GetAttachParentCharacter
- 
描述: 返回元件附加的父角色id 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| playerId | number | 父角色id | 
local playerId = Element:GetAttachParentCharacter(343)GetAttachParentElement
- 
描述: 返回元件附加的父元件id 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| elementId | number | 父元件id | 
local elementId = Element:GetAttachParentElement(343)GetChildElementsFromElement
- 
描述: 返回附加在元件上的子元件数组 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| idList | number[] | 子元件id数组 | 
local idList = Element:GetChildElementsFromElement(343)GetElementsInTriggerBox
- 
描述: 返回某个触发盒内的元件数组 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件场景实例ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| idList | number[] | 触发盒内的元件id数组 | 
local idList = Element:GetElementsInTriggerBox(343)GetElementsInSphere
- 
描述: 返回某个球形区域内的元件数组。注意:填写的半径单位为厘米 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| Center | Engine.Vector | 球形区域中心坐标 | 
| Radius | number | 球半径 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| idList | number[] | 球形区域内的元件id数组 | 
local center, radius = Engine.Vector(0, 0, 200), 500local idList = Element:GetElementsInSphere(center, radius)GetElementsInRegio
- 
描述: 返回某个矩形区域内的元件数组。注意:填写的长宽高单位为厘米 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| Center | Engine.Vector | 矩形区域中心坐标 | 
| Length | number | 矩形长 | 
| Width | number | 矩形宽 | 
| Height | number | 矩形高 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| idList | number[] | 矩形区域内的元件id数组 | 
local center, length, width, height = Engine.Vector(0, 0, 200), 500, 500, 500local idList = Element:GetElementsInRegio(center, length, width, height)ResetElement
- 
描述: 重置元件 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件ID | 
Element:ResetElement(ElementId)SetFriction
- 
描述: 设置滑动摩擦系数 
- 
范围: 服务端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件ID | 
| Value | number | 修改值 | 
Element:SetFriction(ElementId, Value)SetPresetPhyMaterial
- 
描述: 设置表面属性 
- 
描述: 普通积木元件没有表面属性,设置表面属性后摩擦力会失效 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件ID | 
| Material | Element.PresetPhyMaterial | 修改值 | 
Element:SetPresetPhyMaterial(ElementId, Element.PresetPhyMaterial.Ice)GetMotionCenter
- 
描述: 获取元件运动中心位置 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| center | Engine.Vector | 元件运动中心位置 | 
local center = Element:GetMotionCenter(ElementId)SetMass
- 
描述: 设置质量 
- 
范围: 服务端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件ID | 
| Value | number | 修改值 | 
Element:SetMass(975, 200)GetColor
- 
描述: 获取元件的颜色 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| colors | string[] | 返回颜色字符串(颜色,十六进制代码:#FFFFFFFF) | 
Element:GetColor(ElementId)SetSkin
- 
描述: 设置元件皮肤 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件ID | 
| SkinId | number | 皮肤 | 
Element:SetSkin(985, 2)SetSkinParams
- 
描述: 设置元件皮肤参数 
- 
描述: 不同皮肤有效参数不同 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件ID | 
| Params | table | 皮肤参数 | 
local Params = {}Params.UVScale = 1Params.Metallic = 0.5Element:SetSkinParams(ElementId,Params)SetPoker
- 
描述: 设置扑克牌参数 
- 
描述: 不同扑克牌支持的类型可能不同 
- 
描述: 花色 1:红心 2:方块 3:黑桃 4:梅花 5:王 6:特殊 
- 
描述: 花色为王时 牌面值 1:大王 2:小王 
- 
描述: 花色为特殊时 牌面值 1:盲牌 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ElementId | number | 元件ID | 
| Type | number | 花色 | 
| Index | number | 牌面值 1-13 | 
Element:SetPoker(ElementId,1,3)AddSpline
- 
描述: 添加一条轨迹线 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| Pos | Engine.Vector | 轨迹线起始位置坐标,默认Engine.Vector(0,0,0) | 
| Rot | Engine.Rotator | 轨迹线起始位置旋转,默认Engine.Rotator(0,0,0) | 
| Scale | Engine.Vector | 轨迹线大小缩放,默认Engine.Vector(1,1,1) | 
| BindElementId | number | 附加的元件id,如果不传,则放置在世界中 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| splineId | number | 轨迹线ID | 
local splineId = Element:AddSpline(Engine.Vector(0,0,500), Engine.Rotator(0,0,0), Engine.Vector(1,1,1), 225)RemoveSpline
- 
描述: 移除轨迹线 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| SplineId | number | 轨迹线ID | 
local splineId = Element:AddSpline(Engine.Vector(0,0,500), Engine.Rotator(0,0,0), Engine.Vector(1,1,1), 225)Element:RemoveSpline(splineId)UpdateSplinePoints
- 
描述: 刷新轨迹线节点 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| SplineId | number | 轨迹线ID | 
| SplinePoints | Engine.Vector[] | 轨迹线节点数组 | 
local splineId = Element:AddSpline(Engine.Vector(0,0,500), Engine.Rotator(0,0,0), Engine.Vector(1,1,1), 225)Element:UpdateSplinePoints(splineId, {Engine.Vector(0, 0, 0), Engine.Vector(0, 300, -200), Engine.Vector(0, 500, -500)})UpdateSplineColor
- 
描述: 更新轨迹线颜色 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| SplineId | number | 轨迹线ID | 
| Color | string | 颜色,十六进制代码:#FFFFFFFF | 
| Index | number | 第几段轨迹线,不传默认应用到所有段 | 
| StartAlpha | number | 起始透明度,0-1,不传默认为1 | 
| EndAlpha | number | 终止透明度,0-1,不传默认为1 | 
local splineId = Element:AddSpline(Engine.Vector(0,0,500), Engine.Rotator(0,0,0), Engine.Vector(1,1,1), 225)Element:UpdateSplineColor(splineId, "#FFFFFFFF")SetSplineSpeed
- 
描述: 设置轨迹线流动速度 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| SplineId | number | 轨迹线ID | 
| Speed | number | 轨迹线流动速度[0,1] | 
local splineId = Element:AddSpline(Engine.Vector(0,0,500), Engine.Rotator(0,0,0), Engine.Vector(1,1,1), 225)Element:SetSplineSpeed(splineId, 0)