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)