모든 부품이 고체 모델링에 기초한 상위 클래스입니다.
요약
속성
고체 모델링 부품을 렌더링하는 데 사용되는 세부 수준입니다.
고체 모델링 부품의 부드러운 그림자에 영향을 주는 각도입니다.
이 고체 모델에 있는 폴리곤의 수.
상속된 색 속성을 사용하여 PartOperation을 다시 채색할 수 있는지 여부를 설정합니다.
부품의 물리가 메쉬에 얼마나 세밀한 레벨을 가질지 결정합니다.
공기 동력 및 회전력을 계산하는 데 사용되는 기하학적 표현을 결정합니다.
물리적으로 부품이 움직일 수 없는지 여부를 결정합니다.
부품 조립의 각도 속도.
부품 조립의 중심 공간.
부품 조립의 직선 속도.
부품 조립의 총 질량.
조립의 루트 부분에 대한 참조.
부품의 뒷면 표면 유형을 결정합니다 (+Z 방향).
부품의 하단 면에 대한 표면 유형을 결정합니다(Y 방향).
부품의 색을 결정합니다.
세계에서 BasePart의 위치 및 방향을 결정합니다.
부품이 다른 부품과 충돌할 수 있는지 여부를 결정합니다.
공간 쿼리 작업 중에 부품이 고려되는지 여부를 결정합니다.
부품에 화재가 발생하는지 여부를 결정합니다. Touched 및 TouchEnded 이벤트가 부품에서 발생하는지 여부를 결정합니다.
부품이 그림자를 캐스트하는지 여부를 결정합니다.
부품의 중심 마사가 위치한 세계 위치를 설명합니다.
부품 충돌 그룹의 이름을 설명합니다.
부품의 색을 결정합니다.
부품의 현재 물리적 속성을 나타냅니다.
부품의 여러 물리적 속성을 결정합니다.
부품 및 조립에 대한 공기 동력 힘을 활성화하거나 비활성화합니다.
물리적 엔터티의 CFrame 의 물리적 부분입니다.
물리적 엔진에 의해 보는 BasePart의 실제 크기.
부품의 앞면에 대한 표면 유형을 결정합니다(Z 방향).
부품의 왼쪽 표면 유형을 결정합니다(ـX 방향).
로컬 클라이언트에만 표시되는 BasePart.Transparency 의 배수를 결정합니다.
Studio에서 부품을 선택할 수 있는지 여부를 결정합니다.
부품의 질량, 밀도 및 볼륨의 제품을 설명합니다.
부품이 유연 신체총 질량이나 비활성에 기여하는지 여부를 결정합니다.
부품의 텍스처 및 기본 물리 속성을 결정합니다.
Class.MaterialVariant 의 이름.
부품의 회전을 설명합니다.
부품의 피벗 오프셋을 지정합니다. CFrame 에서.
세계의 부품 위치를 설명합니다.
마지막으로 기록된 물리 업데이트 이후의 시간.
부품이 하늘 상자를 얼마나 반영하는지 결정합니다.
크기 조정 메서드에 의해 허용되는 가장 작은 변경 내용을 설명합니다.
부품의 크기를 조정할 수 있는 얼굴을 설명합니다.
부품의 오른쪽 면에 대한 표면 유형을 결정합니다 (+X 방향).
조립의 뿌리 부분을 결정하는 주요 규칙입니다.
부품의 회전은 세 축에 대한 도 단위입니다.
부품의 크기 (길이, 너비, 높이)를 결정합니다.
부품의 상단 면에 대한 표면 유형을 결정합니다 (+Y 방향).
부품의 불투명도(부품 불투명도의 부품 반대)를 결정하는 방법을 결정합니다.
메서드
이 PartOperation 의 기하학을 다른 PartOperation 의 기하학으로 대체합니다.
조립에 각진 충격을 적용합니다.
조립의 중심에 충격을 적용하십시오. center of mass .
지정된 위치에 임팩트를 적용합니다.
부품이 서로 충돌할 수 있는지 여부를 반환합니다.
부품 소유자의 네트워크 소유권을 설정할 수 있는지 여부를 확인합니다.
모든 종류의 고정 관절을 통해 개체에 연결된 부품 테이블을 반환합니다.Returns a table of parts connected to the object by any kind of rigid joint.
이 부분에 연결된 모든 관절 또는 제한을 반환합니다.
Class.BasePart.Mass|Mass 속성의 값을 반환합니다.
이 부분의 네트워크 소유자인 현재 플레이어를 반환하거나 서버의 경우 일반 0을 반환합니다.
이 부분에 대한 네트워크 소유자를 게임 엔진이 자동으로 결정하면 true를 반환합니다.
부품 조립의 기본 부분을 반환합니다.
이 부품과 교차하는 모든 BasePart.CanCollide 진실한 부품의 테이블을 반환합니다.
이 부품과 관련된 지정된 위치에 대해 부품 조립의 직선 속도를 반환합니다.
부품에 연결할 개체가 있으면 참이 되고 그렇지 않으면 참이 되지 않습니다.
Studio 크기 조정 도구를 사용하는 것과 같이 개체의 크기를 변경합니다.
이 모든 연결된 부품에 대해 지정된 플레이어를 네트워크 소유자로 설정합니다.
게임 엔진이 물리적 시뮬레이션을 처리할 클라이언트 또는 서버를 결정하도록 동적으로 결정합니다.
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
주기 모듈의 다른 부품과 중첩된 기하구조의 부품을 기반으로 새로운 IntersectOperation를 생성합니다.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
주어진 배열에 있는 부품의 지오메트리를 제거한 새로운 UnionOperation를 부품으로 만듭니다.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
새로운 UnionOperation 를 부품에서 만들고 지정된 배열에 있는 부품의 기하학을 점유합니다.
Class.PVInstance의 피벗을 가져옵니다.
모든 후손 PVInstance 과 함께 폼 PVInstances 으로 핵심이 이제 CFrame 에 위치 하도록 변환 합니다.
이벤트
이벤트가 BasePart에서 상속되었습니다물리적 이동의 결과로 부품이 다른 부품을 만지지 않게 되면 화재가 발생합니다.
물리적 이동의 결과로 부품이 다른 부품을 만질 때 발생합니다.
속성
RenderFidelity
이 속성은 고정밀도 모델링된 부품이 표시될 수 있는 세부 정보 수준을 결정합니다. Enum.RenderFidelity 열거형의 가능한 값에 설정될 수 있습니다.
기본값은 Automatic 으로, 부품의 세부 정보는 다음 표에 나와 있듯이 카메라와의 거리에 따라 기반됩니다.
<tbody><tr><td>250개 미만의 스터드</td><td>가장 높은</td></tr><tr><td>250-500 스터드</td><td>중</td></tr><tr><td>500 이상의 스터드</td><td>가장 낮은</td></tr></tbody>
카메라에서의 거리 | 렌더링 퀄리티 |
---|
SmoothingAngle
이 속성은 고정 모델 부품의 페이스 넘겨줘야 하는 면 정상 사이의 각도를 나타냅니다. 일반적으로 차이가 값보다 작으면 일반 차이를 부드럽게 조정하기 위해 일반 차이를 조정합니다. 30~70 사이의 값은 일반
다른 재료 또는 다른 색상 간의 노멀을 부드럽게 하는 것은 영향을 주지 않습니다.
UsePartColor
Class.PartOperation 을 다시 채색하려면 Class.BasePart.Color 또는 Class.BasePart.BrickColor 속성을 사용하여 전체 유니온을 컬러링하거나 색상을 지정합니다. 유니온이 컬러링된
메서드
SubstituteGeometry
이 모듈은 PartOperation 의 기하를 다른 모듈의 기하와 교체하는 기능을 제공합니다. 이를 통해 주요 부
Class.PartOperation 에 자식이 있는 경우, Attachments 또는 Constraints 를 호출하는 경우, 영향을 받는 인스턴스를 계산하려면 1>Class.GeometryService:CalculateConstraintsToPreserve()|CalculateConstraintsToPreserve()1> 를
매개 변수
이 PartOperation 의 기하구조가 이 PartOperation 의 기하구조와 바꿉니다.
반환
코드 샘플
local GeometryService = game:GetService("GeometryService")
local mainPart = workspace.PurpleBlock
local otherParts = {workspace.BlueBlock}
local options = {
CollisionFidelity = Enum.CollisionFidelity.Default,
RenderFidelity = Enum.RenderFidelity.Automatic,
SplitApart = false
}
local constraintOptions = {
tolerance = 0.1,
weldConstraintPreserve = Enum.WeldConstraintPreserve.All
}
-- Perform union operation in pcall() since it's asyncronous
local success, newParts = pcall(function()
return GeometryService:UnionAsync(mainPart, otherParts, options)
end)
if success and #newParts > 0 and mainPart:IsA("PartOperation") then
-- Set first part in resulting operation as part to use for substitution
-- First part is simply an option; this can be any PartOperation
local substitutePart = newParts[1]
-- Reposition part to the position of main part
substitutePart.CFrame = mainPart.CFrame
-- Calculate constraints/attachments to either preserve or drop
local recommendedTable = GeometryService:CalculateConstraintsToPreserve(mainPart, newParts, constraintOptions)
-- Substitute main part's geometry with substitution geometry
mainPart:SubstituteGeometry(substitutePart)
-- Drop constraints/attachments that are not automatically preserved with substitution
for _, item in pairs(recommendedTable) do
if item.Attachment then
if item.ConstraintParent == nil then
item.Constraint.Parent = nil
end
if item.AttachmentParent == nil then
item.Attachment.Parent = nil
end
elseif item.WeldConstraint then
if item.Parent == nil then
item.WeldConstraint.Parent = nil
end
end
end
-- Destroy other parts
for _, otherPart in pairs(otherParts) do
otherPart.Parent = nil
otherPart:Destroy()
end
end