DataModelMesh

사용되지 않는 항목 표시

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

만들 수 없음
찾아볼 수 없음

데이터 모델 메시는 메시 클래스가 내려오는 추상 클래스입니다.

메쉬 클래스는 부모로 지정되면 BaseParts 부품의 모양을 미리 정의된 메쉬로 변경하는 개체입니다.참고, 부품의 모양만 변경하고 부품의 물리학/충돌 경계는 변경하지 않습니다.부품의 충돌을 변경하는 부품에 메쉬를 적용하려는 개발자는 MeshParts를 사용해야 합니다.

MeshPartCharacterMesh 클래스는 DataModelMesh에서 내려오지 않습니다.

요약

속성

  • 병렬 읽기

    메쉬의 오프셋은 메쉬가 표시될 BasePart.Position 에서 상대 위치를 결정하며, 메쉬가 표시될 BasePart 는 메쉬의 디스플레이 위치입니다.

  • 병렬 읽기

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

  • 병렬 읽기

    메시의 텍스처 색상을 변경하여 FileMesh.TextureId와 함께 사용됩니다.

속성

Offset

병렬 읽기

메시의 오프셋은 메시가 표시될 의 거리를 결정합니다.

메시 오프셋을 사용하는 방법

오프셋 속성은 메시가 렌더링될 상대 위치를 변경합니다.예를 들어, 오프셋 0, 5, 0은 메시가 위치 BasePart의 5스터드 위에 표시되도록 합니다.

위치 BasePart 는 변경되지 않아 부품의 물리적 충돌 상자가 동일한 위치에 유지됩니다.아래 이미지에서 녹색 외곽선(a SelectionBox)이 BasePart의 범위를 보여주는 것처럼 이것이 보여집니다.

메시 오프셋의 다른 용도

메시 오프셋 속성에 대한 흥미로운 사용 방법이 많이 있습니다.

  • 오프셋과 는 엔진이 이동되지 않기 때문에 상대적으로 저렴한 비용으로 애니메이션될 수 있으며, 물리 또는 충돌 계산을 수행할 필요가 없습니다.
  • 메쉬와 충돌 영역 사이의 관계 변경(BasePart에 의해 결정)

코드 샘플

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

Mesh Offset and Scale

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.Parent = part
-- selection box to show part extents
local box = Instance.new("SelectionBox")
box.Adornee = part
box.Parent = part
-- parent part to workspace
part.Parent = workspace
-- animate offset and scale with a tween
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()

Scale

병렬 읽기

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

메쉬 규모 사용 방법

사용되는 메쉬 유형에 따라 저울 속성이 약간 다르게 작동합니다.BasePart의 크기가 변경되지 않아 부품의 물리적 충돌 상자가 동일하게 유지됩니다.

  • SpecialMesh 메쉬의 원래 크기에 대해 SpecialMesh.FileType 설정된 '파일 메쉬' 규모와 관련하여 Roblox에 업로드된 메쉬의 메쉬 크기를 유지하는 개체
  • BlockMesh 개체 또는 SpecialMesh 개체에서 SpecialMesh.FileType '벽', '쐐기' 또는 '구' 규모가 부모의 BasePart.Size 에 비례해 일관되게 설정됨
  • CylinderMesh 개체 또는 SpecialMesh 부모의 SpecialMesh.FileType 대비 '실린더' 규모로 설정된 개체(BasePart.Size 의 부모).실린더 높이 축에 대해 균일하게 유지하고 실린더의 길이와 너비에 대한 1:1 비율을 가장 낮은 값을 사용하여 유지합니다.
  • SpecialMesh 개체에 SpecialMesh.FileType 가 '머리'로 설정되어 현재 표준이 아닌 방식으로 확장됩니다.개발자는 이 동작을 변경할 계획이 있기 때문에 이것에 의존해서는 안됩니다.
  • SpecialMesh 표준이 아닌 방식으로 '몸통' 규모로 설정된 개체 SpecialMesh.FileType개발자는 이 메쉬 입력폐기할 계획이 있기 때문에 이것에 의존해서는 안 됩니다.

메쉬 규모 시연

위의 행동은 다음 시연 이미지에서 볼 수 있습니다.

브릭, 웨지 및 스피어 메쉬에 대한 부품 크기에 대한 선형 확장.

파일 메쉬 메쉬에 대한 원래 업로드된 메쉬에 대한 선형 확장 '파일 메쉬' 메쉬

‘실린더’ 메쉬에 대한 비유니폼 제한된 스케일링

메쉬 스케일의 다른 용도

메시 오프셋 속성에 대한 흥미로운 사용 방법이 많이 있습니다.

  • DataModelMesh.Offset 및 규모는 엔진이 물리적/충돌 계산을 수행할 필요가 없기 때문에 상대적으로 저렴한 TweenService 비용으로 애니메이션될 수 있으며, 변경되지 않은 BasePart 때문에 계산되지 않습니다.
  • 메쉬와 충돌 영역 사이의 관계 변경(BasePart에 의해 결정)

코드 샘플

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

Mesh Offset and Scale

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.Parent = part
-- selection box to show part extents
local box = Instance.new("SelectionBox")
box.Adornee = part
box.Parent = part
-- parent part to workspace
part.Parent = workspace
-- animate offset and scale with a tween
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()

VertexColor

병렬 읽기

벡스 컬러 는 의 색상 변화를 결정합니다 TextureFileMesh .이 속성은 Vector3 대신 Color3이며, 변환하려면 Color3.R , Color3.GColor3.B 속성을 사용하십시오.

이 속성은 텍스처의 기본 수정을 허용하지만, 텍스처를 완전히 변경하면 더 많은 제어를 제공합니다. 자세한 내용은 MeshPart에 참조하십시오.

메서드

이벤트