FileMesh

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

파일메쉬 개체는 부모로 지정될 때 텍스처화된 메시를 BasePart에 적용합니다. 속성은 SpecialMesh 개체에 상속됩니다.

파일 메시가 무엇인가요?

파일메쉬는 사용자가 업로드한 메쉬를 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.Position 에서 상대 위치를 결정하며, 메쉬가 표시될 BasePart 는 메쉬의 디스플레이 위치입니다.

  • 병렬 읽기

    메쉬의 규모는 메쉬의 원래 크기에 비해 메쉬의 크기를 결정합니다.

  • 병렬 읽기

    메시의 텍스처 색상을 변경하여 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를 사용하여 수행할 수 없으며, Blender와 같은 외부 3D 모델링 응용 프로그램을 사용하여 수행해야 합니다.

코드 샘플

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

메서드

이벤트