모든 부품이 솔리드 모델링에 기반하여 상속하는 추상 클래스.
요약
속성
단단한 모델링된 부품을 렌더링하는 데 사용되는 세부 수준.
모델링된 부품의 부드러운 그림자에 영향을 주는 도 단위의 각도.
이 솔리드 모델의 다각형 수입니다.
상속된 색 속성을 사용하여 PartOperation를 다시 색칠할 수 있는지 여부를 설정합니다.
부품의 물리학이 메쉬에 준수할 수준의 세부 정보를 결정합니다.
공기역학 힘과 토크를 계산하는 데 사용되는 기하학적 표현을 결정합니다.
부품이 물리적으로 이동할 수 없는지 여부를 결정합니다.
부품 조립의 각속도.
세계 공간에서 부품의 질량 중심.
부품 조립의 선형 속도.
부품 조립의 총 질량.
어셈블리의 루트 부분에 대한 참조.
부품이 조명에 대해 CastShadow와 유사하게 물리적으로 오디오 시뮬레이션과 상호작용할지 여부를 결정합니다.
부품의 뒷면 표면 유형을 결정합니다.
부품의 아래쪽 면에 대한 표면 유형을 결정합니다.
부품의 색상을 결정합니다.
세계에서 BasePart 의 위치와 방향을 결정합니다.
부품이 다른 부품과 충돌할 수 있는지 여부를 결정합니다.
부품이 공간 쿼리 작업 중에 고려되는지 여부를 결정합니다.
부품에서 Touched 및 TouchEnded 이벤트가 발생하는지 여부를 결정합니다.
부품이 그림자를 던지는지 여부를 결정합니다.
부품의 질량 중심이 위치한 세계 위치를 설명합니다.
부품의 충돌 그룹 이름을 설명합니다.
부품의 색상을 결정합니다.
부품의 현재 물리적 속성을 나타냅니다.
부품의 물리적 속성을 여러 가지 결정합니다.
부품과 조립에서 공기역학 힘을 활성화하거나 비활성화하는 데 사용됩니다.
물리 엔진에서 보는 BasePart의 실제 크기.
부품의 앞면 표면 유형을 결정합니다.
부품의 왼쪽 면의 표면 유형을 결정합니다.
로컬 클라이언트에만 표시되는 BasePart.Transparency의 배수를 결정합니다.
부품이 Studio에서 선택 가능한지 여부를 결정합니다.
부품의 질량, 밀도와 용량의 곱을 설명합니다. Describes the mass of the part, the product of its density and volume.
부품이 단단한 신체총 질량이나 중력에 기여하는지 여부를 결정합니다.
부품의 텍스처와 기본 물리적 속성을 결정합니다.
이름 의 MaterialVariant .
세계에서 부품의 회전을 설명합니다.
부품의 피벗 오프셋을 부품의 CFrame에서 지정합니다.
세계에서 부품의 위치를 설명합니다.
마지막으로 기록된 물리 업데이트 이후 시간.
부품이 하늘상자를 얼마나 반영하는지 결정합니다.
Resize() 메서드에서 허용하는 가장 작은 크기 변경을 설명합니다.
부품을 재설정할 수 있는 얼굴을 설명합니다.
부품의 오른쪽 면에 대한 표면 유형을 결정합니다.
어셈블리의 루트 부분을 결정하는 주 규칙.
세 축에 대한 부품의 회전 정도(도).
부품의 차원(길이, 너비, 높이)을 결정합니다.
부품의 상단 면에 대한 표면 유형을 결정합니다.
부품을 얼마나 볼 수 있는지 결정합니다(부품 불투명도의 반대).
메서드
이 PartOperation 의 기하학을 다른 PartOperation 의 기하학으로 대체합니다.
어셈블리에 각진 펄스를 적용합니다.
조립의 center of mass에 임펄스를 적용하여 조립에 적용합니다.
지정된 위치에 임펄스를 조립에 적용합니다.
부품이 서로 충돌할 수 있는지 여부를 반환합니다.
부품의 네트워크 소유권을 설정할 수 있는지 확인합니다.
어떤 종류의 강성 조인으로 개체에 연결된 부품의 테이블을 반환합니다.
이 부분에 연결된 모든 조인 또는 제약 조건을 반환합니다.
Mass 속성의 값을 반환합니다.
이 부분의 네트워크 소유자인 현재 플레이어를 반환하거나 서버의 경우 nil 입니다.
게임 엔진이 이 부분에 대한 네트워크 소유자를 자동으로 결정하면 true를 반환합니다.
부품 집합의 기본 부분을 반환합니다.
이 부분과 교차하는 모든 BasePart.CanCollide 진실한 부품의 테이블을 반환합니다.
이 부품과 관련하여 지정된 위치에서 부품의 선형 속도를 반환합니다.
개체가 장소에 유지될 부품에 연결되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
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 를 생성하고, 지정된 배열에 있는 부품의 기하학을 더합니다.
PVInstance의 피벗을 가져옵니다.
피벗이 지금 지정된 PVInstance 에 위치하도록 모든 하위 요소 PVInstances 와 함께 변환하여 피벗이 지금 지정된 CFrame 에 위치합니다.
이벤트
이벤트가 BasePart에서 상속되었습니다물리적 이동의 결과로 부품이 다른 부품에 접촉하지 않게 되면 발생합니다.
물리적 이동의 결과로 부품이 다른 부품에 닿을 때 발생합니다.
속성
RenderFidelity
이 속성은 솔리드 모델링된 부품이 표시될 세부 수준을 결정합니다.Enum.RenderFidelity 열거형의 가능한 값으로 설정할 수 있습니다.
기본값은 Automatic 이며, 부품의 세부 정보는 다음 표에 설명된 대로 카메라와의 거리에 따라 결정됩니다.
<th>렌더링 정확도</th></tr></thead><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
이 속성은 단단한 모델링된 부품의 페이스 정상 사이의 임계값에 대한 각도(도)를 나타냅니다.This property represents an angle in degrees for a threshold value between face normals on a solid modeled part.정상 차이가 값보다 작으면 정상이 차이를 부드럽게 하기 위해 조정됩니다.3070도 사이의 값은 일반적으로 좋은 결과를 생성하지만, 90180도 사이의 값은 날카로운 가장자리의 조합에 "그림자" 효과를 일으킬 수 있으므로 권장되지 않습니다.
부드러움이 서로 다른 재료 또는 색상 간의 정상에 영향을 주지 않는다는 점에 유의하십시오.

<figcaption><code>Class.PartOperation.SmoothingAngle|SmoothingAngle</code> = 0</figcaption>

<figcaption><code>Class.PartOperation.SmoothingAngle|SmoothingAngle</code> = 50</figcaption>
UsePartColor
PartOperation 또는 BasePart.Color 또는 BasePart.BrickColor 속성을 사용하여 색상을 변경할 수 있는지 여부를 설정합니다.참이면 전체 연합이 Color 또는 BrickColor에 따라 색상이 지정됩니다.거짓일 경우 연합의 부품은 양파 작업이 수행되기 전의 원래 색상을 유지합니다.
메서드
SubstituteGeometry
이 PartOperation 의 기하학을 다른 PartOperation 의 기하학으로 대체합니다.이렇게 하면 솔리드 모델링 작업인 UnionAsync() , SubtractAsync() 또는 IntersectAsync() 의 기하학을 사용하면서도 주요 부분의 속성, 특성, 태그 및 자식을 유지할 수 있습니다(예: Attachments , Constraints , ParticleEmitters , 라이트 오브젝트, 데칼 및 더 많은 것).이 접근법은 또한 원래 PartOperation를 완전히 교체하는 잠재적 "깜빡임"을 회피합니다.
이 메서드를 자식 PartOperation 또는 자식 Attachments 또는 자식 Constraints 과 함께 호출하는 경우 CalculateConstraintsToPreserve() 에 영향을 받는 인스턴스를 계산한 다음 권장 부모가 nil 인 인스턴스를 삭제해야 합니다.
매개 변수
이 PartOperation 의 기하학이 이 PartOperation 의 기하학을 대체할 것인 기체입니다.
반환
코드 샘플
The following example substitutes the geometry of one PartOperation with the geometry of another PartOperation, then drops constraints/attachments that should not be preserved after substitution.
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