Decal

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

デカールオブジェクトは、BasePartの顔に画像を適用するオブジェクトです。

デカールはどうして機能しますか?

デカールは、BasePart に適用される画像を親にします。この画像の適用される表面は、FaceInstance.Face プロパティによります。デカールのサイズは、BasePart.Size のサイズと顔のアセプト比率を変更す

デカールが適用される画像は、Decal.Texture プロパティで決定されます。画像は、コミュニティガイドラインに従ってアップロードできます。画像をアップロードする方法については、テクスチャとデカールを参照してください。

デカールの代替

デカールはさまざまなアプリケーションがありますが、いくつかの場合、開発者は次のクラスの 1 つを代わりに選択することがあります。

  • 繰り返しのタイルテクスチャの場合、Texture オブジェクトを使用する必要があります
  • GUI 要素を適用するには、SurfaceGui オブジェクトが使用される必要があります
  • 画像の照明の効果を変更する必要がある場合は、SurfaceGui オブジェクトを使用する必要があります

コードサンプル

Changing Decal Texture

-- create part
local part = Instance.new("Part")
part.Size = Vector3.new(5, 1, 5)
part.Position = Vector3.new(0, 0.5, 0)
part.Anchored = true
part.TopSurface = Enum.SurfaceType.Smooth
part.BrickColor = BrickColor.new("Toothpaste")
-- create decal
local decal = Instance.new("Decal")
decal.Face = Enum.NormalId.Top
decal.Parent = part
-- create sound
local sound = Instance.new("Sound")
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = part
-- define faces
local happyFace = "http://www.roblox.com/asset/?id=26424652"
local sadFace = "http://www.roblox.com/asset/?id=147144198"
decal.Texture = happyFace
-- touched event
local cooldown = false
part.Touched:Connect(function(hit)
if not cooldown then
if hit and hit.Parent then
cooldown = true
sound:Play()
decal.Texture = sadFace
task.wait(1)
decal.Texture = happyFace
task.wait(0.2)
cooldown = false
end
end
end)
-- add to workspace
part.Parent = workspace

概要

プロパティ

  • 並列読み取り

    Class.Decal の Decal の色。

  • 非表示
    複製されていません
    並列読み取り

    デカールの Decal.Transparency プロパティの乗数として機能します。エフェクトはローカルプレイヤーにのみ表示されます。

  • Texture:ContentId
    並列読み取り

    Class.Decal によって適用される画像の Class.Id。

  • 並列読み取り

    0 が完全に不透明で 1 が完全に透明な Decal の透明度を決めます。

  • 並列読み取り

    複数のデカールが同じ顔を持つときのレンダリングオーダーを決めます。

FaceInstance から継承した プロパティ
  • 並列読み取り

    オブジェクトが置かれるレンガの顔を設定します。

プロパティ

Color3

並列読み取り

Class.Decal の Decal の色。

開発者は、このプロパティがデカールの色ではなく、デカールの色を設定するだけであることに注意する必要があります。これは、Decal に関連付けられた画像が元々白であった場合、色を変更することはできません。

ユニオンで Color3 の RGB プロパティを減少することで、ディザイナーはデカールをより暗くすることができます。

コードサンプル

Decal Color3

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Size = Vector3.new(10, 10, 1)
part.Position = Vector3.new(0, 5, 0)
part.Anchored = true
part.Transparency = 1
local decal = Instance.new("Decal")
decal.Face = Enum.NormalId.Front
decal.Texture = "http://www.roblox.com/asset/?id=1145367640" -- white circle
decal.Parent = part
part.Parent = workspace
local redTween = TweenService:Create(
decal,
TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out),
{ Color3 = Color3.new(1, 0, 0) }
)
local greenTween = TweenService:Create(
decal,
TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out),
{ Color3 = Color3.new(0, 1, 0) }
)
local blueTween = TweenService:Create(
decal,
TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out),
{ Color3 = Color3.new(0, 0, 1) }
)
while true do
redTween:Play()
redTween.Completed:Wait()
greenTween:Play()
greenTween.Completed:Wait()
blueTween:Play()
blueTween.Completed:Wait()
end

LocalTransparencyModifier

非表示
複製されていません
並列読み取り

デカールの Decal.Transparency プロパティの乗数として機能します。エフェクトは Players.LocalPlayer にのみ表示されます。

このプロパティは、Decal.Transparency が別のスクリプトによって設定されている場合に使用する必要があります。Decal.Transparency のメリットは、オリジナルの Decal の 1> Class.Decal1> を変更することなく変更できることです。

Class.Decal がローカル透明度モジュールを 1 に設定すると、Decal.Transparency は、元の透明度にかかわらず完全に不可視になります。Class.Decal.Transparency が 0 に設定されると、デカールのレンダリング透明度が 1>Class.Decal.Transparency1> の値に一致します。この式は次のとおり


Displayed Transparency = Transparency + ((1 - Transparency) * LocalTransparencyModifier)

注意、このプロパティはクライアントにのみ使用する必要があり、サーバーには複製されません。

For a variant of this property for BaseParts , see BasePart.LocalTransparencyModifier .

Texture

ContentId
並列読み取り

Class.Decal によって適用される画像のコンテンツ ID。

デカールをアップロードするには?

画像は、コミュニティガイドラインに従っていることを Roblox にアップロードできます。画像のアップロード方法については、「テクスチャとデカール」を参照してください。

デカールのコンテンツID を見つけるには?

Class.Sound や Animation オブジェクトとは違い、デカールのコンテンツ ID は、URL の番号 と同じではありません。デカールのコンテンツ ID を見つけるには、2つの主要な方法があります:

  • Roblox Studio のテクスチャプロパティに URL を入れます。Roblox は自動的にプロパティを正しいコンテンツ ID に更新します。これは、Roblox Studio でのみ機能し、スクリプトやゲームが実行されている間は実行できません。
  • ゲームにデカールを挿入することは通常、「マイデカール」のツールボックスで行われます。コンテンツ ID は、挿入されたデカールによって見つけることができます。注意、 InsertService:LoadAsset() は、開発者がこのメソッドを自動化したい場合にも使用できます。

コードサンプル

Changing Decal Texture

-- create part
local part = Instance.new("Part")
part.Size = Vector3.new(5, 1, 5)
part.Position = Vector3.new(0, 0.5, 0)
part.Anchored = true
part.TopSurface = Enum.SurfaceType.Smooth
part.BrickColor = BrickColor.new("Toothpaste")
-- create decal
local decal = Instance.new("Decal")
decal.Face = Enum.NormalId.Top
decal.Parent = part
-- create sound
local sound = Instance.new("Sound")
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = part
-- define faces
local happyFace = "http://www.roblox.com/asset/?id=26424652"
local sadFace = "http://www.roblox.com/asset/?id=147144198"
decal.Texture = happyFace
-- touched event
local cooldown = false
part.Touched:Connect(function(hit)
if not cooldown then
if hit and hit.Parent then
cooldown = true
sound:Play()
decal.Texture = sadFace
task.wait(1)
decal.Texture = happyFace
task.wait(0.2)
cooldown = false
end
end
end)
-- add to workspace
part.Parent = workspace

Transparency

並列読み取り

0 が完全に不透明で 1 が完全に透明な Decal の透明度を決めます。

注、Decals は、Roblox にアップロードされたオリジナル画像ファイルの透明度も尊重します。これは、透明度を変更することができますが、 透明度 プロパティを使用することなく、Roblox にアップロードする前に透明度を変更できることを意味します。

Decal.LocalTransparencyModifier は、デカールの透明度を変更する可能性のある他のスクリプトに対して、デカールの透明度を増加させる減算子の役割を果たし、プレイヤーのキャラクターには使用されるべきです。

For BaseParts , see BasePart.Transparency .

コードサンプル

Fading Decal

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Size = Vector3.new(10, 10, 1)
part.Position = Vector3.new(0, 5, 0)
part.Anchored = true
part.Transparency = 1
local decal = Instance.new("Decal")
decal.Face = Enum.NormalId.Front
decal.Texture = "http://www.roblox.com/asset/?id=699259085" -- roblox logo
decal.Parent = part
part.Parent = workspace
local tween = TweenService:Create(
decal,
TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, -1, true),
{ Transparency = 1 }
)
tween:Play()

ZIndex

並列読み取り

ZIndex は、同じ Face のデカールが BasePart のレンダリング優先順位の順に表示されることを決定します。デカールは、最も優先順位の高い値でレンダリングされます。つまり、ZIndex のより高い値のデカ

有効な値の範囲は -MAX_INT から MAX_INT 、含まれる (2,147,483,647 または (2^31 - 1)) です。未来にデカールをレイヤーする必要があるかどうかはわからない場合は、100 を含む 100 倍の値を使用するこ

参照してください:

  • GuiObject.ZIndex 、同様の動作を持つプロパティですが、GUI 要素の場合

方法

イベント