FileMesh
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
ファイルメッシュオブジェクトは、BasePartに親を持つと、テクスチャメッシュを適用します。そのプロパティは SpecialMesh オブジェクトに継承されます。
ファイルメッシュとは何ですか?
ファイルメッシュは、ユーザーがアップロードしたメッシュを BasePart に適用できるようにします。適用されるメッシュは、FileMesh.MeshId プロパティによって depend する必要があります。テクスチャを適用するには FileMesh.TextureId も使用できます。
抽象クラスではないため、開発者によって使用されることができますが、すべての FileMesh プロパティは SpecialMesh オブジェクトに継承されます。A SpecialMesh は FileMesh
メッシュの使用に関する詳細は、SpecialMesh ページを参照してください。
コードサンプル
local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Size = Vector3.new(4, 8, 4)
part.Position = Vector3.new(0, 4, 0)
part.Anchored = true
part.CanCollide = false
local mesh = Instance.new("FileMesh") -- advised to use SpecialMesh instead
mesh.MeshId = "rbxassetid://1086413449"
mesh.TextureId = "rbxassetid://1461576423"
mesh.Offset = Vector3.new(0, 0, 0)
mesh.Scale = Vector3.new(4, 4, 4)
mesh.Parent = part
local box = Instance.new("SelectionBox")
box.Adornee = part
box.Parent = part
part.Parent = workspace
local tween = TweenService:Create(
mesh,
TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, -1, true, 0),
{ Scale = Vector3.new(1, 1, 1), Offset = Vector3.new(0, 3, 0) }
)
tween:Play()
概要
プロパティ
メッシュID は、表示するメッシュのコンテンツ ID です。
テクスチャID は、メッシュに適用するテクスチャのコンテンツ ID です。
メッシュのオフセットは、メッシュが表示される BasePart.Position の BasePart から相対位置を決定します。
メッシュのスケールは、メッシュのオリジナルサイズに対するメッシュのサイズを決定します。
Class.FileMesh.TextureId を使用しているメッシュのテクスチャの色を変更します。
プロパティ
MeshId
メッシュID は、表示するメッシュのコンテンツ ID です。
メッシュのコンテンツ ID は、開発者がメッシュを Roblox ウェブサイトにアップロードすると生成されます。
メッシュを作成するには?
メッシュは現在、MeshParts またはアセットマネージャーを使用してのみアップロードできます。アップロードされたメッシュのコンテンツ ID は、メッシュ のメッシュId プロパティで使用できます。詳細は、メッシュを参照してください。
コードサンプル
local TweenService = game:GetService("TweenService")
-- instance a part and a mesh
local part = Instance.new("Part")
part.Size = Vector3.new(4, 8, 4)
part.Position = Vector3.new(0, 4, 0)
part.Anchored = true
part.CanCollide = false
local mesh = Instance.new("SpecialMesh")
mesh.MeshType = Enum.MeshType.FileMesh
mesh.MeshId = "rbxassetid://1086413449"
mesh.TextureId = "rbxassetid://1461576423"
mesh.Offset = Vector3.new(0, 0, 0)
mesh.Scale = Vector3.new(4, 4, 4)
mesh.VertexColor = Vector3.new(1, 1, 1)
mesh.Parent = part
-- parent part to workspace
part.Parent = workspace
-- create tweens
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
local blackTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 0, 0) })
local redTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(1, 0, 0) })
local greenTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 1, 0) })
local blueTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 0, 1) })
local resetTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(1, 1, 1) })
-- animate
while true do
blackTween:Play()
blackTween.Completed:Wait()
redTween:Play()
redTween.Completed:Wait()
greenTween:Play()
greenTween.Completed:Wait()
blueTween:Play()
blueTween.Completed:Wait()
resetTween:Play()
resetTween.Completed:Wait()
task.wait()
end
TextureId
テクスチャID は、メッシュテクスチャに適用する画像のコンテンツIDです。テクスチャIDプロパティを空の文字列に設定すると、メッシュにテクスチャが適用されません。
メッシュのテクスチャを変更するには、どうすればよいですか?
テクスチャId プロパティを使用すると、メッシュのテクスチャを変更するだけでなく、メッシュを再アップロードする必要もありません。これをするには、Roblox Studio の [エクスポート] オプションを使用して、必要なテクスチャをメッシュにアップロードする必要があります。メッシュファイルは、エクスポートされ
新しいテクスチャは Roblox にデカールとして再アップロードでき、テクスチャId プロパティを使用してメッシュに適用できます。
テクスチャメッシュを作成するには?
メッシュにテクスチャを追加するには、メッシュが UV マップされている必要があります。UV マップは、メッシュにテクスチャを追加するプラクティスを指します。これは、Roblox Studio ではできません。外部の 3D モデリングアプリケーションを使用して、Blender などのように、これを行う必要があります。
コードサンプル
local TweenService = game:GetService("TweenService")
-- instance a part and a mesh
local part = Instance.new("Part")
part.Size = Vector3.new(4, 8, 4)
part.Position = Vector3.new(0, 4, 0)
part.Anchored = true
part.CanCollide = false
local mesh = Instance.new("SpecialMesh")
mesh.MeshType = Enum.MeshType.FileMesh
mesh.MeshId = "rbxassetid://1086413449"
mesh.TextureId = "rbxassetid://1461576423"
mesh.Offset = Vector3.new(0, 0, 0)
mesh.Scale = Vector3.new(4, 4, 4)
mesh.VertexColor = Vector3.new(1, 1, 1)
mesh.Parent = part
-- parent part to workspace
part.Parent = workspace
-- create tweens
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
local blackTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 0, 0) })
local redTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(1, 0, 0) })
local greenTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 1, 0) })
local blueTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 0, 1) })
local resetTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(1, 1, 1) })
-- animate
while true do
blackTween:Play()
blackTween.Completed:Wait()
redTween:Play()
redTween.Completed:Wait()
greenTween:Play()
greenTween.Completed:Wait()
blueTween:Play()
blueTween.Completed:Wait()
resetTween:Play()
resetTween.Completed:Wait()
task.wait()
end