파일 메쉬 개체는 부모가 되는 BasePart에 텍스처 메쉬를 적용합니다. 그것의 속성은 SpecialMesh 개체에서 상속됩니다.
파일 메쉬란 무엇입니까?
파일 메쉬는 사용자가 업로드한 메쉬를 BasePart할 수 있습니다. 적용된 메쉬는 FileMesh.MeshId에 따라 결정됩니다. 또한 텍스처를 이 메쉬에 적용하려면 FileMesh.TextureId할 수 있습니다.
이 클래스는 개발자가 사용할 수는 없지만, 모든 FileMesh 속성은 SpecialMesh 개체를 상속합니다. SpecialMesh는 파일 메쉬 개체와 동일하게 2>Class.SpecialMesh
메쉬에 대한 자세한 내용은 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 의 상대 위치를 결정합니다.
메쉬의 크기는 메쉬의 원래 크기와 비례됩니다.
Class.FileMesh.TextureId 와 함께 사용되는 메쉬의 텍스처 색상을 변경합니다.
속성
MeshId
메쉬 ID는 표시될 메쉬의 콘텐츠 ID입니다.
메쉬의 콘텐츠 ID는 개발자가 Roblox 웹 사이트에 메쉬를 업로드할 때 생성됩니다.
메쉬를 만드는 방법?
현재 MeshParts 또는 자산 관리자를 사용하여 메쉬만 업로드할 수 있습니다. 업로드된 후 메쉬 아이디는 메쉬 속성에 사용할 수 있습니다. 자세한 내용은 메쉬 를 참조하십시오.
코드 샘플
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 속성이 Empty 문자열로 설정되면 메쉬에 텍스처가 적용되지 않습니다.
메쉬의 텍스처를 변경하려면 어떻게 해야 하나요?
텍스처Id 속성을 사용하여 메쉬의 텍스처를 변경하지 않고 메쉬를 다시 업로드할 필요 없습니다. 이를 수행하려면 메쉬의 원본 텍스처 파일을 Roblox에 업로드해야 합니다. 이 옵션은 Roblox Studio의 '내보내기 선택' 옵션을 사용하여 수행할 수 있습니다. 이
새로운 텍스처는 다시 Roblox에 업로드되고 콘텐츠 ID는 TextureId 속성을 사용하여 메쉬에 적용할 수 있습니다.
텍스처 메쉬를 만드는 방법?
메쉬는 유비 맵핑된 경우에만 텍스처링할 수 있습니다. 유비 맵핑은 메쉬에 텍스처를 적용하는 방법을 참조하십시오. 이 작업은 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