FileMesh

非推奨を表示

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

ファイルメッシュオブジェクトは、親になったときにテクスチャメッシュを BasePart に適用します。そのプロパティは SpecialMesh オブジェクトに継承されます。

FileMesh とは何ですか?

ファイルメッシュでは、ユーザーがアップロードしたメッシュを BasePart に適用できます。適用されるメッシュは、FileMesh.MeshId プロパティに依存します。テクスチャは、FileMesh.TextureId を使用して、このメッシュにも適用できます。

抽象クラスではなく、開発者によって使用できますが、すべての FileMesh プロパティは SpecialMesh オブジェクトに継承されます。A SpecialMesh は、ファイルメッシュオブジェクトの設定が SpecialMesh.MeshType に設定されているときと同じように振る舞います。両方のオブジェクトが機能しているものの、SpecialMesh オブジェクトは公式にサポートされているクラスです。

メッシュの使用に関する詳細は、SpecialMeshを参照してください。

コードサンプル

In this code sample a BasePart is instanced with a FileMesh. The DataModelMesh.Scale and DataModelMesh.Offset properties of the FileMesh are then animated using TweenService.

FileMesh Offset and Scale

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()

概要

プロパティ

  • MeshId:ContentId
    並列読み取り

    MeshId は表示されるメッシュのコンテンツ IDです。

  • TextureId:ContentId
    並列読み取り

    TextureId は、メッシュに適用されるテクスチャのコンテンツ IDです。

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

    メッシュのオフセットは、メッシュが表示される BasePart.PositionBasePart から相対位置を決定します。

  • 並列読み取り

    メッシュのスケールは、オリジナルの寸法に対するメッシュのサイズを決定します。

  • 並列読み取り

    FileMesh.TextureId で使用されるメッシュのテクスチャの色を変更します。

プロパティ

MeshId

ContentId
並列読み取り

MeshId は表示されるメッシュのコンテンツ IDです。

メッシュのコンテンツ ID は、開発者がメッシュを Roblox にアップロードすると生成されます。

コードサンプル

In this code sample a BasePart is instanced with a SpecialMesh. The DataModelMesh.VertexColor property of the SpecialMesh is then animated using TweenService.

Mesh VertexColor

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

ContentId
並列読み取り

TextureId は、メッシュテクスチャに適用される画像のコンテンツIDです。TextureId プロパティが空の文字列に設定されると、メッシュにテクスチャが適用されません。

メッシュのテクスチャを変更する方法は?

TextureId プロパティを使用すると、メッシュを再アップロードすることなく、メッシュのテクスチャを変更できます。これを行うには、必要なテクスチャで Roblox に新しい画像をアップロードする必要があります。オリジナルのテクスチャ画像ファイルは、Roblox Studio の「エクスポート選択」オプションでメッシュをエクスポートすることで入手できます。画像ファイルは、輸出された .obj ファイルとともに保存されます。

新しいテクスチャは、デカールとして Roblox に再アップロードでき、テクスチャIDプロパティを使用してメッシュにコンテンツIDを適用できます。

テクスチャメッシュを作成するにはどうすればよいですか?

メッシュは、メッシュが UV マッピングされた場合にのみテクスチャ化できます。UV マッピングは、メッシュにテクスチャマップを投影する方法を指します。これは Roblox Studio を使用してはできません、外部の 3D モデリングアプリケーション (例: Blender) を使用して行う必要があります。

コードサンプル

In this code sample a BasePart is instanced with a SpecialMesh. The DataModelMesh.VertexColor property of the SpecialMesh is then animated using TweenService.

Mesh VertexColor

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

方法

イベント