한손만 복사본을 저장했다면 이버튼을 눌러 반대손도 적용 할 수 있다.

 

 

 

 


그런데 공을 다시 잡으면 손이 저장된 위치로 가기 때문에 공이 회전한다.

이 공의 회전을 고정하기 위한 작업을 실행했다.

모든 작업들은 오른손을 했으면 왼손도 적용해주면 된다.

 

 

이제 공을 다시 잡아도 돌지 않는다.

 

 

 

이번에는 책에 적용해 보았다.

아까 설명한 오른손으로 이미지를 잡고 왼손을 복사하여 적용된 모습이고

 

생성된 Hand Grab Pose에 Box Grab Surface 컴포너트를 추가한 후

박스를 정하는데

이는 손목을 기준점으로 잡힌다.

 

그후

 

 

여기 Follow Surface를 설정하면 테스트도 해볼 수 있다.

 

 

 

중력을 키면 책이 책상에 떨어진다.

프로젝트에 있는 HandVelocityCalculator 추가 한후

인트렉터에 넣어준다.

 

주의 !

책의 y좌표보다 낮아야지 리스폰이 된다.

즉, 기존의 좌표보다 낮을 경우 리스폰이 된다.

 

 

'산대특 > VRAR' 카테고리의 다른 글

[VR] Transformer Interaction  (0) 2024.04.23
[VR] Locomotion(Teleport)  (0) 2024.04.23
[VR]총 잡기 - HandGun Grab  (1) 2024.04.18
Create Ghost Reticles  (0) 2024.04.18
Oculus Settings and Grab  (0) 2024.04.17

 

 

 

실행 후 1, 2번을 한후 나와서 3번 4번과정

이렇게 에셋이 생성된다.

Max의 옵션을 Locked에서 Constrained로 변경한후 관절을 변경 가능

 

 

 

손의 잔상을 없애기 위해 Hand Grab Interactable 을 비활성화 or 삭제한다.

 

이렇게 되니 손가락이 움직이면 복사가 되었다 알고보니 이 옵션을 꺼주어야 한다.

 

원하는 관절을 고정및 변경 시킬 수 있다.

 

이번엔 컨트롤러에도 설정 할 것이다.

 

 

이제 콘솔에 총을 잡으면 출력이 되도록 할것이다.

 

using Oculus.Interaction;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class HandGun : MonoBehaviour
{

    [SerializeField] private InteractableUnityEventWrapper wrapper;
    private bool isFire = false;

    void Start()
    {
        wrapper.WhenSelect.AddListener(() =>
        {
            Debug.Log("총을 잡았습니다.");
            isFire = true;
        });
        wrapper.WhenUnselect.AddListener(() =>
        {
            Debug.Log("총을 놓았습니다.");
            isFire = false;
        });

    }

    void Update()
    {
        var indexTriggerVal = OVRInput.Get(OVRInput.Axis1D.SecondaryIndexTrigger);

        //인덱스 트리거는 0~1 즉 강도조절
        if (indexTriggerVal > 0.5f)
        {
            isFire = true;
            Debug.Log("발사");
        }
        else if (indexTriggerVal == 0)
        {
            if (isFire)
            {
                //초기화
                isFire = false;

            }
        }

    }
}

 

인덱스트리거(검지를) 누르면 발사 또 한 출력된다.

 

'산대특 > VRAR' 카테고리의 다른 글

[VR] Locomotion(Teleport)  (0) 2024.04.23
[VR]반대손 복사와 회전 및 던지기  (0) 2024.04.19
Create Ghost Reticles  (0) 2024.04.18
Oculus Settings and Grab  (0) 2024.04.17
Reticle  (0) 2024.04.16

https://developer.oculus.com/documentation/unity/unity-isdk-create-ghost-reticles/

Option A에 관한 설명을 읽으면 된다.

 

Create Ghost Reticles | Oculus Developers

 

developer.oculus.com

 

 

 

큐브의 색이 흰색이면 레티클이 흰색 이미지이므로 안보일 수 있다.

임의로 메터리얼을 생성하여 큐브의 색을 변화시키면

레티클을 보다 가시적으로 확인할 수 있다.

 

 


 

 

https://developer.oculus.com/documentation/unity/unity-isdk-creating-handgrab-poses/

 

Create a Hand Grab Pose (PC) | Oculus Developers

 

developer.oculus.com

 

 

 

왼손이나 오른손으로 지정후

플레이를 한다.

1. 구체에 손을 얹고 Record HandGrabPose를 누르면 흰색으로 스캔이 된다.

2. 그 후 아래에 있는 Save To Collection을 누르면 에셋에 저장이 된다.

 

 

이렇게 에셋에 새로운 폴더와 함께 저장이된다.

새로 만들어진 컬렉션을 열어보면 이러한 프로퍼티를 볼 수 있다.

하이어라이키에는 이런식으로 생긴다.

 

Sphere안에있는 인터렉터를 지우고

HandGrabInteractable를 누른채로 실행하면 

근처에서 잡으면 저장된 손모양이 적용된다.

 

 

 

 

 

 

 

 

 

세이브한 모양이 마음에 들지 않으면 관절을 직접 조절해서 모양을 맞춰줄 수 있다.

'산대특 > VRAR' 카테고리의 다른 글

[VR]반대손 복사와 회전 및 던지기  (0) 2024.04.19
[VR]총 잡기 - HandGun Grab  (1) 2024.04.18
Oculus Settings and Grab  (0) 2024.04.17
Reticle  (0) 2024.04.16
VR로 360도 동영상 다운로드 후 적용하기 + 오큘러스 적용  (0) 2024.04.16

+ Recent posts