Model
继承自:
描述
模型节点
属性
模型尺寸 |
材料类型 |
设置模型的材质,即资源id |
模型的颜色 |
模型id,即资源id |
模型重力 |
模型摩擦力 |
模型反弹力,比如物体撞击在地面上会根据此值来计算反弹高度 |
模型质量 |
模型移动速度 |
模型角速度 |
模型的包围盒大小 |
模型的中心点所在世界坐标 |
模型是否支持重力 |
锚定状态,为true时此物体不受外部环境物理影响,但是会给外部提供物理输入。例如:有外来物体撞击到此物体,此物体不会产生移动,但是会对外来物体产生碰撞反弹力。 |
物理类型 |
开启此物体的物理状态。为true时物体的物理属性可以使用 |
是否可以碰撞。设为false时为trigger状态 |
是否触发碰撞回调函数:Touched和TouchEnded事件 |
int),可以通过PhysXService:SetCollideInfo函数设置任意两个组之间是否会产生碰撞 |
消隐层 |
忽略流同步 |
材质贴图覆盖 |
是否打开阴影 |
能否跟着走 |
显示物理包围盒 |
是否接受投影 |
函数
获取动画ID |
获取动画骨骼 |
获取骨骼动画 |
获取模型动画 |
获取属性动画 |
获取骨骼动画 |
获取人形动画 |
获取动画制作器 |
bool IsLoadFinish () |
---|
是否加载完成 |
获取渲染位置 |
获取渲染旋转 |
获取渲染欧拉角 |
获取已经加载的资源类型 |
开启或关闭动画事件 |
设置动画优先级 |
设置动画权重 |
设置骨骼动画旋转 |
添加力 |
添加扭矩 |
添加力位置 |
设置材质 |
void SetMaterialByNameOrIndex (string findKey, bool byName, bool isSkinMeshRender, int materialIndex, string resId, LuaFunction callback) |
---|
设置材质 |
设置材质资源实例 |
播放动画 |
播放动画Ex |
停止动画 |
停止动画Ex |
停止所有动画 |
获取动画优先级 |
获取动画权重 |
获取锚点世界坐标(仅脚本可用) |
是否绑定 |
设置材质 |
SandboxNode GetMaterialByNameOrIndex (string findKey, bool byName, bool isSkinMeshRender, int materialIndex) |
---|
获取材质节点 |
获取材料实例 |
通过节点名查询该骨骼节点对象 |
按名称获取骨骼节点 |
事件
模型被其他模型碰撞时,会触发一个Touched通知 |
模型被其他模型碰撞结束时,会触发一个TouchEnded通知 |
模型触发动画事件时发送一个AnimationEvent通知 |
动画帧事件触发 |
加载完成时触发事件 |
代码示例
--创建实例
local newModel= SandboxNode.new('Model')
--设置名字
newModel.Name = "my_model"
--设置模型
newModel.ModelId = string.format("sandboxAsset://entity/%s/body.omod","100010")
--设置位置
newModel.Position = Vector3.new(500,700,500)
--设置父节点 将模型节点添加到Workspace中
newModel:SetParent(Workspace)
--播放动画
local player = game:GetService("Players").LocalPlayer.Character
player:PlayAnimation("100114", 1.0, 0, 1, 1.0) --"100114 吃的动作"
player:StopAnimation("100114") --"100114 某个指定动作"