MaterialService

非推奨を表示
作成できません
サービス

MaterialService is the game service responsible for managing materials. It is the container for global MaterialVariant instances. MaterialVariant can be child or descendant of MaterialService. For each base Material type, MaterialService internally keeps a set of MaterialVariant references. MaterialVariant.Name is the key to access it. The MaterialVariant.Name and MaterialVariant.BaseMaterial are combined to work as an identifier. If more than one MaterialVariant object has the same name and BaseMaterial under MaterialService, only one of them can be used.

MaterialService has some (Material)Name properties. Assigning a MaterialVariant Name replaces the built-in material with the specified MaterialVariant. If the MaterialService can't find a matching MaterialVariant, it falls back to built-in material. Note BaseMaterial should also match, for example, a MaterialVariant with BaseMaterial Grass can only be assigned to MaterialService.GrassName, not AsphaltName or any other names. These properties are not scriptable but can read and write using MaterialService:GetBaseMaterialOverride() and MaterialService:SetBaseMaterialOverride() function.

MaterialService has a MaterialService.Use2022Materials property that switches between legacy materials and new materials introduced in year 2022. Because legacy and user-generated (new) terrain materials use different encoding, using legacy terrain materials and MaterialVariant at the same time has a performance penalty. If your game is using pre-2022 terrain materials, avoid overriding any built-in materials. Migrate to 2022 materials if possible.

概要

プロパティ

方法

プロパティ

AsphaltName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Asphalt. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Asphalt.

BasaltName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Basalt. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Basalt.

BrickName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Brick. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Brick.

CardboardName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

CarpetName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

CeramicTilesName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

ClayRoofTilesName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

CobblestoneName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Cobblestone. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Cobblestone.

ConcreteName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Concrete. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Concrete.

CorrodedMetalName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in CorrodedMetal. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to CorrodedMetal.

CrackedLavaName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in CrackedLava. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to CrackedLava.

DiamondPlateName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in DiamondPlate. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to DiamondPlate.

FabricName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Fabric. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Fabric.

FoilName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Foil. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Foil.

GlacierName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Glacier. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Glacier.

GraniteName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Granite. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Granite.

GrassName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Grass. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Grass.

GroundName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Ground. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Ground.

IceName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Ice. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Ice.

LeafyGrassName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in LeafyGrass. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to LeafyGrass.

LeatherName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

LimestoneName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Limestone. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Limestone.

MarbleName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Marble. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Marble.

MetalName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Metal. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Metal.

MudName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Mud. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Mud.

PavementName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Pavement. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Pavement.

PebbleName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Pebble. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Pebble.

PlasterName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

PlasticName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Plastic. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Plastic.

RockName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Rock. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Rock.

RoofShinglesName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

RubberName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

SaltName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Salt. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Salt.

SandName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Sand. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Sand.

SandstoneName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Sandstone. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Sandstone.

SlateName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Slate. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Slate.

SmoothPlasticName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in SmoothPlastic. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to SmoothPlastic.

SnowName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Snow. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Snow.

Use2022Materials

複製されていません
並列読み取り
robloxのスクリプトセキュリティ

When it's false, built-in materials use the material pack before 2022. When it's true, built-in materials use the material pack released in 2022.

WoodName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in Wood. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to Wood.

WoodPlanksName

スクリプト作成できません
並列読み取り
robloxのセキュリティ

Specify MaterialVariant name to override built-in WoodPlanks. The Specified MaterialVariant must have MaterialVariant.BaseMaterial set to WoodPlanks.

方法

GetBaseMaterialOverride

Get the override MaterialVariant name of specified Material type.

パラメータ

material: Enum.Material

Material type to be fetched.


戻り値

MaterialVariant name currently set as override.

GetMaterialVariant

Get the effective MaterialVariant reference given a MaterialVariant name and BaseMaterial. This MaterialVariant must be a descendant of MaterialService. Returns nil if no matching instance exists.

パラメータ

material: Enum.Material

BaseMaterial of MaterialVariant.

name: string

Name of MaterialVariant.


戻り値

A MaterialVariant instance that matches parameters.

SetBaseMaterialOverride

void

Set a MaterialVariant name that overrides a built-in material.

パラメータ

material: Enum.Material

The Material type to be changed.

name: string

Name of the MaterialVariant object.


戻り値

void

イベント