플레이어 캐릭터가 앉을 수 있는 BasePart 유형입니다. 캐릭터가 활성화된 자리 개체를 터치하면 부품에 Weld 와 기본 캐릭터 스크립트가 플레이하는 앉는 애니메이션이 표시됩니다.
Seats는 어떻게 작동합니까?
Class.Humanoid 및 BasePart를 포함하는 모델이 'HumanoidRootPart'(일반적으로 플레이어 캐릭터)를 만질 때 <
Class.Seat.Occupant 속성이 자리에 앉아있는 Humanoid 자리에 설정되었습니다. 또한 Humanoid.SeatPart 인 하이퍼 자리의 하이퍼 자리 속성이 자리에 앉아있습니다.
또한 Seat:Sit() 함수를 사용하여 캐릭터가 자리에 앉아야 할 수도 있습니다.
캐릭터가 자리에서 나가는 방법은 두 가지가 있습니다. 플레이어가 점프하면 자리에서 제거됩니다. 그러나 이것은 또한 자리 접합을 수동으로 파괴하여 수행할 수 있습니다:
자리:FindFirstChild("SeatWeld"):Destroy()
참고 자리에는 대기 시간(현재 3초)이 있으며 캐릭터당 1개의 자리에 대해 기본적으로 3초입니다. 즉, 캐릭터가 자리에서 나올 때 3초 동안 동일한 자리에 앉을 수 없습니다. 이 대기 시간 동작은 변경될 수 있으며 개발자에게 의존할 수 없습니다.
Seats를 사용하면 어떤 용도입니까?
자리는 명백한 것에서 가장 이상한 것까지 다양한 용도가 있습니다.
- 프로그래밍 없이 의자 또는 벤치를 만드는 것
- 차량 등의 이동 개체에 앉을 수 있도록 허용
- 자리에 앉은 캐릭터가 컨트롤하는 인터페이스 생성을 위해 Seat.Occupant 속성을 사용합니다.
코드 샘플
local Players = game:GetService("Players")
local seat = Instance.new("Seat")
seat.Anchored = true
seat.Position = Vector3.new(0, 1, 0)
seat.Parent = workspace
local currentPlayer = nil
local function onOccupantChanged()
local humanoid = seat.Occupant
if humanoid then
local character = humanoid.Parent
local player = Players:GetPlayerFromCharacter(character)
if player then
print(player.Name .. " has sat down")
currentPlayer = player
return
end
end
if currentPlayer then
print(currentPlayer.Name .. " has got up")
currentPlayer = nil
end
end
seat:GetPropertyChangedSignal("Occupant"):Connect(onOccupantChanged)
요약
속성
의자가 사용 가능한지 여부. 설정을 true로 설정하면 의자가 정상적인 부품으로 작동합니다.
자리에 앉아있는 인간형.
개체의 전체 모양을 설정합니다.
물리적으로 부품이 움직일 수 없는지 여부를 결정합니다.
부품 조립의 각도 속도.
부품 조립의 중심 공간.
부품 조립의 직선 속도.
부품 조립의 총 질량.
조립의 루트 부분에 대한 참조.
부품의 뒷면 표면 유형을 결정합니다 (+Z 방향).
부품의 하단 면에 대한 표면 유형을 결정합니다(Y 방향).
부품의 색을 결정합니다.
세계에서 BasePart의 위치 및 방향을 결정합니다.
부품이 다른 부품과 충돌할 수 있는지 여부를 결정합니다.
공간 쿼리 작업 중에 부품이 고려되는지 여부를 결정합니다.
부품에 화재가 발생하는지 여부를 결정합니다. Touched 및 TouchEnded 이벤트가 부품에서 발생하는지 여부를 결정합니다.
부품이 그림자를 캐스트하는지 여부를 결정합니다.
부품의 중심 마사가 위치한 세계 위치를 설명합니다.
부품 충돌 그룹의 이름을 설명합니다.
부품의 색을 결정합니다.
부품의 현재 물리적 속성을 나타냅니다.
부품의 여러 물리적 속성을 결정합니다.
부품 및 조립에 대한 공기 동력 힘을 활성화하거나 비활성화합니다.
물리적 엔터티의 CFrame 의 물리적 부분입니다.
물리적 엔진에 의해 보는 BasePart의 실제 크기.
부품의 앞면에 대한 표면 유형을 결정합니다(Z 방향).
부품의 왼쪽 표면 유형을 결정합니다(ـX 방향).
로컬 클라이언트에만 표시되는 BasePart.Transparency 의 배수를 결정합니다.
Studio에서 부품을 선택할 수 있는지 여부를 결정합니다.
부품의 질량, 밀도 및 볼륨의 제품을 설명합니다.
부품이 유연 신체총 질량이나 비활성에 기여하는지 여부를 결정합니다.
부품의 텍스처 및 기본 물리 속성을 결정합니다.
Class.MaterialVariant 의 이름.
부품의 회전을 설명합니다.
부품의 피벗 오프셋을 지정합니다. CFrame 에서.
세계의 부품 위치를 설명합니다.
마지막으로 기록된 물리 업데이트 이후의 시간.
부품이 하늘 상자를 얼마나 반영하는지 결정합니다.
크기 조정 메서드에 의해 허용되는 가장 작은 변경 내용을 설명합니다.
부품의 크기를 조정할 수 있는 얼굴을 설명합니다.
부품의 오른쪽 면에 대한 표면 유형을 결정합니다 (+X 방향).
조립의 뿌리 부분을 결정하는 주요 규칙입니다.
부품의 회전은 세 축에 대한 도 단위입니다.
부품의 크기 (길이, 너비, 높이)를 결정합니다.
부품의 상단 면에 대한 표면 유형을 결정합니다 (+Y 방향).
부품의 불투명도(부품 불투명도의 부품 반대)를 결정하는 방법을 결정합니다.
메서드
Seat에 앉으라고 지시한 특정 Humanoid 의 캐릭터를 강제합니다.
조립에 각진 충격을 적용합니다.
조립의 중심에 충격을 적용하십시오. 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에서 상속되었습니다물리적 이동의 결과로 부품이 다른 부품을 만지지 않게 되면 화재가 발생합니다.
물리적 이동의 결과로 부품이 다른 부품을 만질 때 발생합니다.