Skip to content

RenderTriggerUnit ​

RenderTriggerUnit 是兼具运行时模型渲染与触发检测能力的场景单位;RenderMeshId 指定实际渲染网格,DisplayModelId 只用于编辑器预览。

概览 ​

RenderTriggerUnit 是兼具运行时模型渲染与触发检测能力的场景单位;RenderMeshId 指定实际渲染网格,DisplayModelId 只用于编辑器预览。

继承自 TriggerUnit;可通过 World:CreateUnit("RenderTriggerUnit", ...) 创建;返回单个单位

函数 ​

SetRenderMeshWithDefaultSkin ​

签名:SetRenderMeshWithDefaultSkin(renderMeshId: String)

SetRenderMeshWithDefaultSkin 是 RenderTriggerUnit 的成员函数,用于切换该单元使用的模型,并为新模型应用默认皮肤。参数 renderMeshId 为必填的字符串,表示目标模型资源 ID。

参数类型说明
renderMeshIdString模型资源

切换为项目配置的模型并应用默认皮肤

lua
-- @runtime server
local world = game:GetService("World")
local renderTrigger = world:CreateUnit("RenderTriggerUnit", {})
if renderTrigger == nil then return end
-- 用单位自身的 RenderMeshId(Meta 默认值)演示,不硬编码资源 ID
renderTrigger:SetRenderMeshWithDefaultSkin(renderTrigger.RenderMeshId)
print("已切换模型:", renderTrigger.RenderMeshId)
renderTrigger:Destroy()

属性 ​

名称类型默认值说明
RenderMeshIdStringofficial://mesh/59268渲染使用的网格资源路径。
ModelAlphaFloat1模型整体透明度,0 为完全透明,1 为完全不透明。取值范围 [0, 1]。
LocalTransparencyModifierFloat1该单元的本地透明度乘数,用于在本地客户端进一步调整模型透明度。
ModelVisibleBooltrue模型是否可见,隐藏后仍参与物理碰撞。
CastShadowBooltrue模型是否向场景投射阴影。
ModelBindParentBoolfalse启用后,当父节点为 WorldUnit、RenderUnit、TriggerUnit、PhysicsUnit 等支持父子带动的单位时,模型渲染表现跟随父节点变换自动同步。
PhysicsMeshIdStringofficial://mesh/59268物理网格资源路径。缺省时默认使用 RenderMeshId 作为物理资源。
DisplayModelIdString""用于在编辑器中预览的模型资源 ID,不影响运行时实际渲染的模型。
ModelColor1ColorColor.New(255, 255, 255, 255)染色区域 1 的颜色。
ModelColor2ColorColor.New(255, 255, 255, 255)染色区域 2 的颜色。
ModelColor3ColorColor.New(255, 255, 255, 255)染色区域 3 的颜色。
ModelColor4ColorColor.New(255, 255, 255, 255)染色区域 4 的颜色。
SkinIdString""模型使用的皮肤资源路径。
UseSkinListBoolfalse多槽位皮肤开关;启用后按各子网格的 SkinSlots 配置皮肤与染色。
SkinSlotsArray[]各子网格的皮肤与染色配置列表;元素包含 SkinId 和 ModelColor1~4。
UseCustomAppearanceBoolfalse是否使用自定义外观替代默认模型渲染。
CustomAppearanceIdString""自定义外观的资源 ID(启用自定义外观后生效)。
OcclusionTypeInt3模型遮挡住摄像机与玩家之间的视线时的处理策略:0=组件半透明,1=镜头前推,2=玩家虚影,3=不处理,4=镜头前推(无玩家虚影)。