Home
Development Environment

Interaction

상호 작용이 가능한 물체와 상호 작용할 때에 맞추어 기능을 구현할 수 있습니다.

Viven Grabbable Module

해당 컴포넌트를 붙인 물체를 잡을 수 있습니다.
이 컴포넌트를 붙이기 위해서는 SDKNetworkObject , SDKGrabbableRigidbodyView , SDKRigidbody 가 함께 있어야 합니다.

objectGrabType

물체를 잡았을 때, 해당 물체의 Rigidbody 상태를 결정합니다.
Kinematic : 물체가 충돌 등 물리학의 영향을 받지 않습니다.
Velocity : 물체가 물리학의 영향을 받습니다.

parentToHandOnGrab

해당 값이 true이면, 물체를 잡았을 때 물체의 parent가 interactor가 됩니다.

longClickTimeThreshold

물체를 잡았을 때 실행 가능한 액션은 액션 버튼을 짧게 눌렀을 때, 길게 눌렀을 때로 두 가지가 있습니다. 해당 값을 설정하여 길게 누른다의 기준을 설정할 수 있습니다.
예를 들어, 값이 1.5이면 액션 버튼을 1.5초 이상 눌러야 길게 눌렀을 때의 액션이 실행됩니다.

placePivot

배치 모드인 물체를 벽에 가져다 댔을 때, 물체가 벽에 붙는 축을 결정할 수 있습니다. 기본 값은 Vector3.up입니다.

grabPoints

물체를 잡을 때, 물체가 잡힐 위치를 커스텀하게 결정할 수 있습니다. grab point가 없으면 잡았을 때의 위치로 잡힙니다.

vivenAttachPoints

해당 오브젝트에 붙어 있는 모든 attach points입니다.

objectShortClickActionStart

물체를 잡고 있는 채로 짧은 클릭을 하였을 때 발동합니다.
function objectShortClickActionStart(interactor) -- 짧은 클릭을 했을 때 발동합니다. end
Lua
복사

objectLongClickActionStart

물체를 잡고 있는 채로 길게 클릭을 하였을 때 발동합니다. 길게 클릭의 기준은 longClickTimeThreshold 으로 결정됩니다.
function objectLongClickActionStart(interactor) -- 길게 클릭을 했을 때 발동합니다. end
Lua
복사

objectLongClickActionEnd

물체를 잡고 있는 채로 길게 클릭을 하고 뗐을 때 발동합니다.
function objectLongClickActionEnd(interactor) -- 긴 클릭을 멈추었을 때 발동합니다. end
Lua
복사

Viven Sittable

해당 컴포넌트를 붙인 물체에 앉을 수 있습니다. (PC 모드에서만 가능)
이 컴포넌트를 붙이기 위해서는 SDKNetworkObjectCollider 가 함께 있어야 합니다.

vivenSitPoint

캐릭터가 앉는 모션을 취하기 전 해당 위치로 이동 후 앉습니다.

Viven Attach Point

해당 물체에 다른 물체를 붙일 때 사용하는 컴포넌트입니다. 해당 컴포넌트가 붙어있는 오브젝트의 위치로 붙습니다.
해당 컴포넌트는 VivenGrabbableModule이 붙어 있는 오브젝트의 hierarchy 내에만 붙일 수 있으며, 마찬가지로 붙여지는 오브젝트도 VivenGrabbableMoudle을 포함하고 있어야 합니다.
해당 컴포넌트를 사용하려면 반드시 Collider가 있어야 합니다.

attachablePrefabs

해당 attach point에 붙일 수 있는 오브젝트의 id list. 기본적으로 모든 오브젝트를 붙일 수 있습니다.

notAttachablePrefabs

해당 attach point에 붙일 수 없는 오브젝트의 id list

Interaction Event Function

onGrab

물체를 잡았을 때 발동합니다.
function onGrab(interactor) interactor.InteractingInteractable.Transform:Translate(Vector(0,1,0)) -- 현재 인터랙션 중인 Intractable의 Transform을 조정함. end
Lua
복사

onRelease

물체를 놓았을 때 발동합니다.
function onRelease(interactor) interactor.InteractingInteractable.Transform:Translate(Vector(0,1,0)) -- 현재 인터랙션 중인 Intractable의 Transform을 조정함. end
Lua
복사