Skip to content

RenderUnit

概览

字段
KindUnit · 单位 Unit
Realmcommon

继承关系

  • Unit(4 属性 / 25 函数 / 6 事件)
    • SpaceUnit(3 属性 / 9 函数)
      • BasePart(23 属性 / 9 函数)
        • [RenderUnit](15 属性)

继承成员

3 个来源 / 30 属性 / 43 函数 / 6 事件

RenderUnit 是一种可在三维场景中创建的渲染组件,负责承载并展示模型资源。它提供了模型资源绑定、透明度与可见性控制、阴影投射、多区域染色、皮肤以及自定义外观等表现能力,适合用来搭建场景中的装饰物或需要独立控制渲染效果的物件。

适用场景

在搭建地图场景时,常通过创建 RenderUnit 来摆放静态模型,例如建筑、植被、道具等装饰元素,并利用其属性动态控制模型的显隐、透明度和染色效果。

使用要点

通过 game:CreateUnit("RenderUnit", config) 或 World:CreateUnit("RenderUnit", config) 创建实例,在配置中指定 RenderMeshId 等初始属性。创建后可直接读写 ModelVisible、ModelAlpha、ModelColor 系列属性来调整表现,也可以设置 CastShadow、SkinId、UseCustomAppearance 等属性丰富渲染细节。

注意事项

创建后必须设置 RenderMeshId 指定模型资源才能在场景中显示。TweenServiceRenderUnit 属性的支持有限,建议直接修改属性而非 Tween 驱动。Color 类型必须用 0-255 RGBA 四参数构造(如 Color.New(255, 0, 0, 255)),不能用 0-1 归一化值。

代码示例

创建并显示渲染单位

lua
-- @runtime client
local World = game:GetService("World")
local renderUnit = World:CreateUnit("RenderUnit", {
    Name = "SceneDecoration",
    RenderMeshId = "official://mesh/59268",
    Position = Vector3.New(0, 2, 0),
    ModelVisible = true,
    ModelAlpha = 1.0,
    ModelColor1 = Color.New(255, 255, 255, 255),
})
print("已创建渲染单位:", renderUnit.Name)

属性 (15)

Name类型默认值说明
RenderMeshIdStringofficial://mesh/59268RenderUnit 使用的模型资源 ID。
ModelAlphaFloat1控制模型的整体透明度,0 为完全透明,1 为完全不透明
LocalTransparencyModifierFloat1本地透明度乘数,影响 RenderUnit 的最终透明度。
ModelVisibleBooltrue控制 RenderUnit 模型的可见性。
CastShadowBooltrue控制 RenderUnit 是否投射阴影。
TransparentRenderBiasInt0控制 RenderUnit 的半透明渲染偏置值,用于调整渲染顺序,解决半透明物体之间的渲染遮挡问题。
ModelBindParentBoolfalse是否让 RenderUnit 的模型跟随其父节点的变换。
ModelColor1ColorColor.New(255, 255, 255, 255)模型染色区域1的颜色,使用 Color 类型表示。
ModelColor2ColorColor.New(255, 255, 255, 255)模型染色区域2的颜色,使用 Color 类型表示。
ModelColor3ColorColor.New(255, 255, 255, 255)模型染色区域3的颜色,使用 Color 类型表示。
ModelColor4ColorColor.New(255, 255, 255, 255)模型染色区域4的颜色,使用 Color 类型表示。
SkinIdString""RenderUnit 使用的皮肤资源 ID。
UseCustomAppearanceBoolfalse是否启用自定义外观。
CustomAppearanceIdString""当 UseCustomAppearance 为 true 时,指定自定义外观资源的 ID。
OcclusionTypeInt3 (不处理)RenderUnit 的 OcclusionType 属性用于设置该渲染单元在遮挡玩家时采用的规则。

关联类型