DragDetector

사용되지 않는 항목 표시

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

인스턴스는 문 및 서랍 열기, 부품 슬라이드, 그리고 훨씬 더 많은 것과 같은 경험에서 3D 개체와의 상호 작용을 용이하게 하고 장려합니다.주요 기능은 다음과 같습니다:

  • 모든 입력(마우스, 터치, 게임패드 및 VR)을 통해 드래그할 수 있도록 아래에 또는 를 배치하여 코드 한 줄도 사용하지 않고 모든 것을 가능하게 합니다.

  • 여러 옵션 중에서 선택하고, 를 통해 개체가 움직임에 어떻게 반응하는지 정의하고, 선택적으로 축 또는 이동 제한을 적용합니다.

  • 스크립트는 끌어온 개체의 조작에 응답하여 UI를 드라이브하거나 슬라이딩 벽 스위치 디밸러에 따라 방의 조명 수준을 조정하여 논리적인 결정을 내릴 수 있습니다.

  • 플레이어는 고정된 부품이나 모델을 조작할 수 있으며, 릴리스 시 배포한 위치에 정확히 유지됩니다.

  • 작업실에서 선택, 이동, 크기 조정, 또는 회전 도구를 사용하지 않는 한, Studio에서 편집하는 동안 계속 작업합니다.

자세한 내용과 사용 예제는 3D 드래그 감지기 가이드를 참조하십시오.

요약

속성

속성ClickDetector에서 상속되었습니다

메서드

이벤트

이벤트ClickDetector에서 상속되었습니다

속성

ActivatedCursorIcon

ContentId
병렬 읽기

DragDetector 의 부모에 마우스가 활성화될 때 커서 아이콘을 표시하도록 설정합니다.이 속성이 비어 있으면 검색기가 기본 아이콘을 사용합니다.

활성화된 커서 아이콘을 변경하려면 이 속성을 사용하려는 이미지의 자산 ID로 설정합니다.

ApplyAtCenterOfMass

병렬 읽기

거짓(기본값)일 때 사용자가 클릭하는 지점에 제약 조건 강도가 적용됩니다.참이면 힘이 물체의 질량 중심에 적용됩니다.관련성이 있으려면 ResponseStyleEnum.DragDetectorResponseStyle.Physical 이고 부모 개체가 고정되지 않은 경우에만 해당됩니다.

복제되지 않음
병렬 읽기

참조 프레임에 대해 표현된 움직임의 주축입니다. The primary axis of motion, expressed relative to the reference frame.For a DragStyle of Enum.DragDetectorDragStyle.TranslateLine , the direction of translation; for Enum.DragDetectorDragStyle.TranslatePlane , the normal to the plane of motion; for Enum.DragDetectorDragStyle.RotateAxis , the axis of 1D rotation.이 값을 자동으로 변경하면 Orientation 및 그 반대가 업데이트됩니다.

DragFrame

병렬 읽기

가 설정되면 참조 프레임에 대한 피벗; 그렇지 않으면 드래그 시작 시 피벗의 프레임에 대한 입니다.

병렬 읽기

커서 광선 스트림을 제공하면 제안된 동작을 생성하는 데 사용된 패러다임을 참조하십시오. 옵션은 Enum.DragDetectorDragStyle에 참조하십시오.

Enabled

병렬 읽기

참이면 DragDetector 사용자 입력에 응답하고, 거짓이면 그렇지 않습니다.

GamepadModeSwitchKeyCode

병렬 읽기

게임패드 입력 중에는 Enum.KeyCode 로 이동 모드의 보조 모드를 전환합니다.드래그 감지기의 DragStyle 가 주 및 보조 이동 모드를 모두 갖는 경우에만 적용됩니다.

KeyboardModeSwitchKeyCode

병렬 읽기

키보드 입력 중에는 이차 이동 모드를 전환하기 위한 Enum.KeyCode가 표시됩니다.드래그 감지기의 DragStyle 가 주 및 보조 이동 모드를 모두 갖는 경우에만 적용됩니다.

MaxDragAngle

병렬 읽기

이것이 MinDragAngle보다 크면 번역이 해당 범위 내에 클램핑됩니다.

이것은 제약 조건이 아니며, 단지 제한 내에 머무르기 위해 드래그 감지기의 움직임 생성 시도를 방해합니다.드래그에 사용자 지정 제약 조건을 추가하려면 AddConstraintFunction()를 참조하십시오.

관련성이 있으려면 DragStyleEnum.DragDetectorDragStyle.RotateAxis 이어야 합니다.

MaxDragTranslation

병렬 읽기

모든 차원에서 이 값이 MinDragTranslation보다 크면 번역이 해당 범위 내에 클램핑됩니다.

이것은 제약 조건이 아니며, 단지 제한 내에 머무르기 위해 드래그 감지기의 움직임 생성 시도를 방해합니다.드래그에 사용자 지정 제약 조건을 추가하려면 AddConstraintFunction()를 참조하십시오.

MaxForce

병렬 읽기

목표에 도달하기 위해 개체에 적용되는 최대 힘. ResponseStyleEnum.DragDetectorResponseStyle.Physical 이고 부모 개체가 고정되지 않은 경우에만 관련됩니다.

MaxTorque

병렬 읽기

목표에 도달하기 위해 개체에 적용된 최대 토크. 부모 개체가 고정되지 않은 경우에만 관련됩니다 ResponseStyleEnum.DragDetectorResponseStyle.Physical.

MinDragAngle

병렬 읽기

이것이 MaxDragAngle보다 작으면 번역이 해당 범위 내에 클램핑됩니다.

이것은 제약 조건이 아니며, 단지 제한 내에 머무르기 위해 드래그 감지기의 움직임 생성 시도를 방해합니다.드래그에 사용자 지정 제약 조건을 추가하려면 AddConstraintFunction()를 참조하십시오.

관련성이 있으려면 DragStyleEnum.DragDetectorDragStyle.RotateAxis 이어야 합니다.

MinDragTranslation

병렬 읽기

모든 차원에서 이 값이 MaxDragTranslation보다 작으면 번역이 해당 범위 내에 클램핑됩니다.

이것은 제약 조건이 아니며, 단지 제한 내에 머무르기 위해 드래그 감지기의 움직임 생성 시도를 방해합니다.드래그에 사용자 지정 제약 조건을 추가하려면 AddConstraintFunction()를 참조하십시오.

Orientation

병렬 읽기

참조 프레임과 관련된 운동 축의 YXZ 회전을 지정하여(참조 프레임 자체의 방향은 변경되지 않음) 참조 프레임의 방향을 변경하지 않습니다.선형 번역과 축 회전은 이 재설정된 Y 축에서 수행되며, 평면 번역은 XZ 평면에서 수행됩니다.이 값을 자동으로 변경하면 Axis이 업데이트되고 반대로도 마찬가지입니다.

병렬 읽기

플레이어가 DragDetector와 상호작용할 수 있는 권한 레벨을 제어합니다. 기본값은 Enum.DragDetectorPermissionPolicy.Everybody입니다.

ReferenceInstance

병렬 읽기

CFrame가 드래그 검색기의 참조 프레임인 인스턴스.The DragFrame 는 검색할 수 있는 이 CFrame 에 대해 표현되며, 이는 GetReferenceFrame() 메서드를 통해 검색할 수 있습니다.

이 인스턴스가 PVInstance 인 경우, 참조 프레임은 그 피벗이 됩니다; 만약 Attachment 인 경우, 그 세계는 CFrame입니다.만약 그것이 nil 이거나 이전의 어느 것도 아니라면, 참조 프레임은 드래그 검출기의 부모 BasePart 또는 Model의 피벗을 기반으로 합니다.

병렬 읽기

제안된 동작이 계산되고 제한되면, 이는 영향을 받는 개체를 이동하거나 이동하지 않는 데 사용되는 패러다임입니다. DragDetector 에 영향을 주는 개체를 이동하거나 이동하지 않는 데 사용되는 패러다임입니다.옵션은 Enum.DragDetectorResponseStyle에 참조하십시오.

Responsiveness

병렬 읽기

더 높은 값은 개체가 목표에 더 빨리 도달하도록 합니다. 관련성이 있으려면 ResponseStyleEnum.DragDetectorResponseStyle.Physical 이고 부모 개체가 고정되지 않은 경우에만 해당됩니다.

RunLocally

병렬 읽기

거짓(기본값)인 경우 클라이언트는 커서 레이스를 처리하고 데이터 모델을 변경하며 클라이언트에 전달하는 서버에 복제된 신호(DragStart, DragContinue, DragEnd)를 보냅니다.

true이면 클라이언트가 직접 이러한 신호를 처리하고 서버에 복제하지 않습니다.클라이언트 LocalScripts는 이러한 이벤트에 응답하고 RemoteEvents는 서버에 복제해야 하는 모든 변경 사항을 전송하는 데 사용될 수 있습니다.

SecondaryAxis

복제되지 않음
병렬 읽기

움직임의 보조 축. 동일한 패러다임을 사용하여 방향을 관련시킵니다 Attachments .

TrackballRadialPullFactor

병렬 읽기

커서가 트랙볼 밖에 있을 때, DragDetector 는 공이 커서를 향해 롤아웃하려는 것처럼 방사형 당기기 회전을 적용할 수 있습니다.이 속성은 0에서 1의 배수로, 해당 회전을 전체에 기여로 추가합니다.관련성이 있으려면 DragStyleEnum.DragDetectorDragStyle.RotateTrackball 이어야 합니다.

TrackballRollFactor

병렬 읽기

커서가 트랙볼 밖에 있을 때, DragDetector 는 볼을 뷰어에 마운트된 것처럼 회전시키는 롤 회전을 적용할 수 있습니다.이 속성은 롤 회전을 합계에 추가하기 위한 0에서 1의 배수입니다.관련성이 있으려면 DragStyleEnum.DragDetectorDragStyle.RotateTrackball 이어야 합니다.

VRSwitchKeyCode

병렬 읽기

VR 입력 중에는 보조 이동 모드를 전환하기 위한 Enum.KeyCode가 표시됩니다.드래그 감지기의 DragStyle 가 주 및 보조 이동 모드를 모두 갖는 경우에만 적용됩니다.

WorldAxis

복제되지 않음
병렬 읽기

세계 공간에서 표현된 Axis 는 동일한 패러다임을 사용하여 방향을 관련시킵니다. Attachments 와 동일합니다.

WorldSecondaryAxis

복제되지 않음
병렬 읽기

세계 공간에서 표현된 SecondaryAxis 는 동일한 패러다임을 사용하여 방향을 관련시킵니다. Attachments 와 동일합니다.

메서드

AddConstraintFunction

제안된 동작을 수정하거나 제한하는 함수를 추가합니다.함수는 제안된 모션의 입력 을 받아 수정된 모션 또는 수정되지 않은 모션 을 반환합니다.입력과 출력 모두 참조 프레임에 대해 표현됩니다.priority 순서대로 호출될 여러 함수를 추가하여 결과를 체인으로 전달할 수 있습니다.

추가된 제약 조건 함수를 제거하려면 반환된 연결 개체에서 Disconnect()를 호출하십시오.

매개 변수

priority: number

이 메서드를 통해 추가된 함수의 우선 순위 순서. 더 높은 값이 더 낮은 값보다 우선합니다.

기본값: ""
function: function

제안된 동작을 수정하거나 제한하는 함수.이 함수는 제안된 모션의 입력 을 받아 참조 프레임에 관련된 수정된 모션 또는 수정되지 않은 모션의 을 반환하며, 모두 참조 프레임과 관련됩니다.

기본값: ""

반환

이 연결 개체를 사용하여 제약 조건 함수를 제거합니다.

GetReferenceFrame

움직임이 표현된 참조 CFrame를 반환하며, 자세한 내용은 ReferenceInstance 속성을 참조하십시오.


반환

움직임이 표현된 참조 CFrame에서 움직임이 표현됩니다.

RestartDrag

()

매개 변수(예: DragStyle, Axis, 또는 SecondaryAxis 변경되는 경우)가 변경되면 스크립트에서 호출하여 새 매개 변수를 사용하여 드래그를 다시 시작할 수 있습니다.


반환

()

SetDragStyleFunction

()

DragStyleEnum.DragDetectorDragStyle.Scriptable 로 설정되면 사용할 함수를 전달하고, 그리고 오직 그렇게 설정되면 사용합니다.지정된 함수는 신호 DragContinue 에 응답할 때 호출되며, 신호의 세계 공간 커서 레이를 유형 Ray 으로 받고, 세계 공간에서 피벗의 원하는 위치와 방향을 포함하는 CFrame 을 반환합니다.

함수가 nil를 반환하면 개체가 이동되지 않습니다.스크립트가 올바른 답변을 제공하기 위해 필요한 모든 정보를 아직 수집하지 않았거나, 개체가 현재 위치에 유지되도록 하려는 임시 경우에 유용합니다.

매개 변수

function: function

신호 DragContinue를 모니터링하는 함수.이 함수는 신호의 세계 공간 커서 레이를 받고 세계 공간에서 피벗의 원하는 위치와 방향을 포함하는 CFrame를 반환합니다.이 함수가 nil를 반환하면 개체가 이동되지 않습니다.

기본값: ""

반환

()

SetPermissionPolicyFunction

()

PermissionPolicyEnum.DragDetectorPermissionPolicy.Scriptable 로 설정되면 사용할 함수를 전달하고, 그리고 오직 그렇게 설정되면 사용합니다.지정된 함수는 특정 플레이어에 대한 검색기 활성화/비활성화를 위해 Player 매개변수를 받습니다.또한 드래그 가능한 part 내의 한 부분과 같이 특정 BasePart 가 클릭되었음을 나타내는 Model 매개 변수를 받습니다; 이는 해당 부분의 Name , Color , HasTag() 값이나 다른 세부 정보에 따라 탐지기를 활성화/비활성화하는 데 유용합니다.


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)

매개 변수

function: function

검출기의 상호 작용성을 설정하는 함수.이 함수는 특정 플레이어에 대한 검색기 활성화/비활성화를 위해 Player 매개변수를 받습니다.또한 드래그 가능한 part 내의 한 부분과 같이 특정 BasePart 가 클릭된 것을 나타내는 Model 매개 변수를 받습니다; 이는 해당 부분의 Name , Color , HasTag() 값이나 다른 세부 정보에 따라 탐지기를 활성화/비활성화하는 데 유용합니다.

기본값: ""

반환

()

이벤트

DragContinue

사용자가 DragStart 이후에 개체를 계속 끌어다 놓으면 발생합니다.

매개 변수

playerWhoDragged: Player

드래그를 시작했던 Player 누구가 DragStart 를 통해 드래그를 계속하고 있습니다.

cursorRay: Ray

Ray 커서에서 발산되어 장면으로 향하는

viewFrame: CFrame

CFrame 사용자의 Camera .

vrInputFrame: OptionalCoordinateFrame

VR 입력 기기사용하는 경우, 커서/포인터/컨트롤러를 잡고 있는 손의 CFrame입니다.

isModeSwitchKeyDown: boolean

드래그 검출기의 DragStyle 가 주 및 보조 이동 모드를 모두 갖는 경우, 이 매개변수는 사용자가 KeyboardModeSwitchKeyCode , GamepadModeSwitchKeyCode 또는 VRSwitchKeyCode 을 통해 정의된 모디파이어 입력을 누르고 있는지 여부를 나타냅니다.


DragEnd

사용자가 개체를 끌기를 중지하면 발생합니다.

매개 변수

playerWhoDragged: Player

드래그를 시작했으며 이제 드래그를 종료했습니다(릴리스됨).


DragStart

사용자가 개체를 드래그하기 시작할 때 발생합니다.

매개 변수

playerWhoDragged: Player

Player 누가 드래그를 시작했는지.

cursorRay: Ray

Ray 커서에서 발산되어 장면으로 향하는

viewFrame: CFrame

CFrame 사용자의 Camera .

hitFrame: CFrame

드래그를 시작한 커서 레이캐스트의 히트 프레임.

clickedPart: BasePart

드래그를 시작한 커서 레이캐스트에 의해 타격된 부분.

vrInputFrame: OptionalCoordinateFrame

VR 입력 기기사용하는 경우, 커서/포인터/컨트롤러를 잡고 있는 손의 CFrame입니다.

isModeSwitchKeyDown: boolean

드래그 검출기의 DragStyle 가 주 및 보조 이동 모드를 모두 갖는 경우, 이 매개변수는 사용자가 KeyboardModeSwitchKeyCode , GamepadModeSwitchKeyCode 또는 VRSwitchKeyCode 을 통해 정의된 모디파이어 입력을 누르고 있는지 여부를 나타냅니다.