Class.DragDetector 인스턴스는 3D 개체와 상호 작용을 용이하게 하고 장려하며, 문을 열고 서랍을 슬라이딩하고 등과 같은 경험에서 3D 개체를 사용하는 것과 같은 것을 도와줍니다. 주요 기능은 다음과 같습니다.
모든 입력(마우스, 터치, 게임 패드 및 VR)에 드래그할 수 있도록 DragDetector 를 배치하십시오. 이 경우 단일 줄의 코드가 없습니다.
여러 가지 DragStyle 옵션 중에서 선택하고, 개체가 이동 모션에 대해 ResponseStyle 를 통해 응답하는 방법을 정의하고, 옵션적으로 축 또는 이동 제한을 적용합니다.
스크립트는 끊김 눈금에 대응하여 룸 내에서 라이트 수준을 조정하거나 논리적 결정을 내리는 등의 작업을 수행할 수 있습니다.
플레이어는 고정된 부품이나 모델을 조작할 수 있으며, 해제 시 정확히 배치한 위치에 있습니다.
DragDetectors 작업은 Studio에서 드래그 탐지기를 사용하는 한 작동합니다. 선택하기 , 이동하기 , 0> 크기 조정하기0>, 또는 편집 중에 드래그 개체를 쉽게 테스트하고 조정할 수 있도록 로테이
세부 정보 및 사용 예시는 D 끌기 감지기 가이드를 참조하십시오.
요약
속성
이 DragDetector 의 부모에 마우스가 활성화되면 커서 아이콘을 표시하도록 합니다.
제한 힘이 개체의 중심 마스에 적용되는지 여부.
이동의 주 축, 참조 프레임에 대해 상대적으로 표시됩니다.
피벗의 CFrame는 드래그 디텍터의 ReferenceInstance에 따라.
제안된 움직임을 생성하는 데 사용되는 패러다임입니다.
Class.DragDetector 가 사용자 입력에 응답합니다.
게임 패드 입력 중에 이동 모드의 변경자 Enum.KeyCode 를 수정합니다.
키보드 입력 중에 키 모드 변경기 Enum.KeyCode 를 사용하여 이동 모드의 보조 모드.
Class.DragDetector.MinDragAngle|MinDragAngle 과 함께 사용하면 이동 생성 시도를 방지합니다.
Class.DragDetector.MinDragTranslation|MinDragTranslation 과 함께 사용하면 이동 생성 시도를 방지합니다.
목표에 도달하기 위해 적용된 최대 힘.
목표에 도달하기 위해 적용된 최대 회전력.
Class.DragDetector.MaxDragAngle|MaxDragAngle 과 함께 사용하면 이동 생성 시도를 방지합니다.
Class.DragDetector.MaxDragTranslation|MaxDragTranslation 과 함께 사용하면 이동 생성 시도를 방지합니다.
참조 프레임과 관련된 이동 축의 회전 YXZ 를 지정합니다.
플레이어가 DragDetector 와 상호 작용할 수 있는 권한 수준을 제어합니다.
드래그 감지기에 대한 참조 프레임이 있는 CFrame 인스턴스.
드래그 감지기에 영향을 미치는 개체를 이동하거나 이동하지 않는 패러다임.
값이 더 높을수록 개체가 목표에 도달하는 속도가 빨라집니다.
사용자 입력이 DragDetector 복제본에 서버로 복제되거나 특정 클라이언트에 로컬로 남습니다.
이동의 보조 축.
Class.DragDetector.DragStyle|DragStyle 가 Enum.DragDetectorDragStyle.RotateTrackball 의 경우, 총에 기여하는 방향 회전을 추가하는 데 대한 배수입니다.
Class.DragDetector.DragStyle|DragStyle 가 Enum.DragDetectorDragStyle.RotateTrackball 인 경우, 롤 회전을 총에 추가하는 데 대한 배수입니다.
VR 입력 중에 이동 모드의 변경자 Enum.KeyCode 를 수정합니다.
세계 공간에 표현된 Axis입니다.
세계 공간에 표현된 SecondaryAxis입니다.
이 ClickDetector 또는 DragDetector 에 마우스가 있는 경우 커서 아이콘을 표시하도록 합니다.
플레이어가 상호 작용할 수 있는 ClickDetector 또는 DragDetector 사이의 최대 거리.
메서드
제안된 이동을 수정하거나 제한하는 함수를 추가합니다.
이동 경로에 대해 CFrame 참조를 반환합니다.
새 매개 변수를 사용하여 드래그를 다시 시작하려면 스크립트에서 호출할 수 있습니다.
Class.DragDetector.DragStyle|DragStyle가 Enum.DragDetectorDragStyle.Scriptable로 설정된 경우에만 사용할 함수를 전달합니다.
Class.DragDetector.Permission Policy|Permission Policy가 Enum.DragDetectorPermissionPolicy.Scriptable로 설정된 경우에만 사용할 수 있는 함수를 패스합니다.
이벤트
- DragContinue(playerWhoDragged : Player,cursorRay : Ray,viewFrame : CFrame,vrInputFrame : OptionalCoordinateFrame,isModeSwitchKeyDown : bool):RBXScriptSignal
Class.DragDetector.DragStart|DragStart 가 시작된 후 사용자가 개체를 계속 드래그하면 화재가 발생합니다.
사용자가 개체를 드래그하지 않을 때 화재됩니다.
사용자가 개체를 드래그하기 시작하면 화재됩니다.
플레이어가 ClickDetector 또는 DragDetector 의 부모와 상호 작용할 때 발생합니다.
플레이어가 ClickDetector 또는 DragDetector 의 부모가 있는 경우 화면에 마우스를 올 때 화재됩니다.
플레이어의 커서가 부모의 ClickDetector 또는 DragDetector 에서 벗어나면 화면이 켜집니다.
플레이어가 마우스 커서를 ClickDetector 또는 DragDetector 에 올리면 화면에 나타납니다.
속성
ActivatedCursorIcon
이 DragDetector 의 부모에 마우스가 활성화되면 커서 아이콘을 표시하도록 설정합니다. 이 속성을 비워두면 감지기가 기본 아이콘을 사용합니다.
활성화된 커서 아이콘을 변경하려면 이 속성을 사용하려는 이미지의 자산 ID로 설정합니다.
ApplyAtCenterOfMass
사용자가 클릭한 위치에 제한 힘이 적용되지 않으면 제한 힘이 개체의 중심 마스에 적용됩니다. 사용자가 클릭한 위치에 제한 힘이 적용되면 제한 힘이 개체의 중심 마스에 적용됩니다. 부모 개체가 앵커되지 않은 경우에만 해당됩니다.
DragFrame
Class.DragDetector.ReferenceInstance|ReferenceInstance 가 설정되면 참조 프레임에 대한 피벗 대역의 CFrame 이 됩니다; 그렇지 않으면 피벗 대역의 CFrame 이 드래그의 시작 부분에 대한 드래그의 프레임입니다.
GamepadModeSwitchKeyCode
게임 패드 입력 중에 Enum.KeyCode 을 이중 모드 전환하는 데 사용합니다. 단지 드래그 감지기의 DragStyle 가 주 및 보조 모드 모두를 가지고 있는 경우에만 적용됩니다.
KeyboardModeSwitchKeyCode
키보드 입력 중에 Enum.KeyCode 이동 모드의 이중 모드를 전환하는 데 사용됩니다. 드래그 감지기의 주 및 보조 모드가 모두 있는 경우에만 적용됩니다.
MaxDragAngle
이 크기가 MinDragAngle 보다 크면 번역이 해당 범위 내에 잘리게 됩니다.
이 제약 사항은 없습니다; 단순히 이동 생성기를 제한하기 위해 드래그 탐지기의 시도를 방지합니다. 자세한 내용은 AddConstraintFunction() 를 참조하십시오. 드래그에 사용자 제약 사항을 추가하려면.
Class.DragDetector.DragStyle|DragStyle 이 Enum.DragDetectorDragStyle.RotateAxis 이면에 대해서만 유용합니다.
MaxDragTranslation
모든 차원에서, 이 크기가 MinDragTranslation 보다 크면 번역이 범위 내에 잘리게 됩니다.
이 제약 사항은 없습니다; 단순히 이동 생성기를 제한하기 위해 드래그 탐지기의 시도를 방지합니다. 자세한 내용은 AddConstraintFunction() 를 참조하십시오. 드래그에 사용자 제약 사항을 추가하려면.
MinDragAngle
이 값이 MaxDragAngle 보다 작다면 번역이 해당 범위 내에 잘리게 됩니다.
이 제약 사항은 없습니다; 단순히 이동 생성기를 제한하기 위해 드래그 탐지기의 시도를 방지합니다. 자세한 내용은 AddConstraintFunction() 를 참조하십시오. 드래그에 사용자 제약 사항을 추가하려면.
Class.DragDetector.DragStyle|DragStyle 이 Enum.DragDetectorDragStyle.RotateAxis 이면에 대해서만 유용합니다.
MinDragTranslation
모든 차원에서, 이 경우 MaxDragTranslation 보다 작다면, 번역은 해당 범위 내에 잘리게 됩니다.
이 제약 사항은 없습니다; 단순히 이동 생성기를 제한하기 위해 드래그 탐지기의 시도를 방지합니다. 자세한 내용은 AddConstraintFunction() 를 참조하십시오. 드래그에 사용자 제약 사항을 추가하려면.
Orientation
참조 프레임( Y 포함)에 대한 축의 회전을 지정합니다( Y 축의 경우 참조 프레임 자체의 방향을 변경하지 않음). 직선 번역 및 축 회전은 이 재정렬 Y 축에 있으며, 평면
PermissionPolicy
플레이어가 DragDetector 와 상호 작용할 수 있는 권한 수준을 제어합니다. 기본은 Enum.DragDetectorPermissionPolicy.Everybody입니다.
ReferenceInstance
드래그 감지기에 대한 참조 프레임이 있는 인스턴스의 CFrame 이 참조 프레임입니다. DragFrame 는 이 CFrame 에 대해 익스프레스 됩니다 2>Class.DragDetector:GetReferenceFrame()|Get Reference Frame2> 메서드를
이 인스턴스가 PVInstance인 경우 참조 프레임은 그의 피벗이 됩니다; Attachment 이면 세계 CFrame 기반이 됩니다. 이 경우 2> nil</
ResponseStyle
제안된 이동이 계산되고 잠재적으로 제한된 후, 이것은 개체에 영향을 미치는 DragDetector 개체를 이동하거나 이동하지 않는 데 사용되는 패러다임입니다. 옵션은 Enum.DragDetectorResponseStyle 참조.
RunLocally
클라이언트가 거짓(기본)인 경우, 클라이언트는 복제된 신호(DragStart, DragContinue, DragEnd를 서버에 보내고 커서 광선을 처리하고, 데이터 모델을 변경
만약 그렇다면, 클라이언트는 이 신호를 처리하고 서버에 다시 복제하지 않습니다. 클라이언트 LocalScripts 는 이러한 이벤트에 응답하고 서버에 다시 복제해야 하는 변경 사항을 보낼 수 있습니다.
TrackballRadialPullFactor
커서가 트랙볼 밖에 있으면 DragDetector 는 공을 커서 방향으로 밀어 넣으려는 것처럼 회전하는 직선 끌기 회전을 적용할 수 있습니다. 이 속성은 총을 기여하는 0에서 1 배수를 추
TrackballRollFactor
커서가 트랙볼 밖에 있으면 DragDetector 는 볼을 듣기 앞에 있는 빈 레코드에 마운트된 것처럼 롤 회전을 적용할 수 있습니다. 이 속성은 총에 적용하는 0~1 배수입니다
VRSwitchKeyCode
VR 입력 중에 Enum.KeyCode 이 세컨더리 모션 모드를 전환하는 데 사용되는 DragStyle 입니다. 이 드래그 감지기의 주 모드와 보조 모드가 모두 있는 경우에만 적용됩니다.
메서드
AddConstraintFunction
제안된 이동 수정하거나 제한하기 위한 함수를 추가합니다. 이 함수는 CFrame 의 제안된 이동 및 Datatype.CFrame 의 수정된 이동을 입력하고 출력하며, 모든 입력과 출력은 참
추가 제약 함수를 제거하려면 Disconnect() 연결 개체에서 Disconnect()|Disconnect()를 호출하십시오.
매개 변수
이 메서드를 사용하여 추가된 함수의 우선 순위 주문. 더 높은 값은 하위 값보다 우선 순위가 높습니다.
반환
이 연결 개체를 사용하여 제약 함수를 제거합니다.
RestartDrag
새 매개 변수를 사용하여 드래그를 다시 시작하려면 스크립트에서 호출할 수 있습니다, if DragStyle , Axis 또는 SecondaryAxis 변경.
반환
SetDragStyleFunction
패스 하나를 사용 하려면, 만약 DragStyle 가 Enum.DragDetectorDragStyle.Scriptable 로 설정 되어 있다면, 지정된 함수는
함수가 반환하는 경우 nil, 개체는 이동되지 않습니다. 이 기능은 스크립트가 올바른 답을 제공할 필요가 없거나 임시 상태에서 개체를 유지하려는 경우에 유용합니다.
매개 변수
함수를 모니터링하기 위해 DragContinue 신호의 월드 스페이스 커서 레이를 받습니다. 이 함수는 신호의 월드 스페이스 커서 레이를 받고 원하는 위치와 방향의 피벗을 포함하는 CFrame를 반환합니다. 이 함수가
반환
SetPermissionPolicyFunction
local dragDetector = script.Parent.DragDetector
dragDetector.PermissionPolicy = Enum.DragDetectorPermissionPolicy.Scriptable
dragDetector:SetPermissionPolicyFunction(function(player, part)
if player and player:GetAttribute("IsInTurn") then
return true
elseif part and not part:GetAttribute("IsDraggable") then
return false
else
return true
end
end)
매개 변수
함수를 사용하여 감지기의 상호 작용성을 설정합니다. 이 함수는 특정 플레이어에 대해
반환
이벤트
DragContinue
Class.DragDetector.DragStart|DragStart 가 시작된 후 사용자가 개체를 계속 드래그하면 화재가 발생합니다.
매개 변수
VR 입력 기기사용하는 경우, 커서/포인터/컨트롤러를 들고 있는 손의 CFrame입니다.
드래그 감지기의 DragStyle 가 주 및 보조 이동 모드를 모두 가지고 있으면 이 매개 변수는 사용자가 KeyboardModeSwitchKeyCode 를 통해 정
DragEnd
사용자가 개체를 드래그하지 않을 때 화재됩니다.
매개 변수
DragStart
사용자가 개체를 드래그하기 시작하면 화재됩니다.
매개 변수
커서 레이캐스트를 시작한 히트 프레임.
부품이 커서 레이캐스트에 맞아 드래그를 시작한 부분.
VR 입력 기기사용하는 경우, 커서/포인터/컨트롤러를 들고 있는 손의 CFrame입니다.
드래그 감지기의 DragStyle 가 주 및 보조 이동 모드를 모두 가지고 있으면 이 매개 변수는 사용자가 KeyboardModeSwitchKeyCode 를 통해 정