VR 콘텐츠 제작

디스크 골프 [#9] - 터레인으로 맵 만들기

송현호 2023. 11. 28. 14:49

이번엔 제대로 터레인을 카피해서 새 터레인을 만들기로 하였다.

 

 

기본적인 틀을 만들고 OVR을 추가해서 핸드 트리거로 카메라를 이동시키는 스크립트를 작성한 후 간단하게 맵을 탐방해볼 예정이다.

 

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MovementTest : MonoBehaviour
{
    public float speed = 10f;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        var go = this.transform.forward * (OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTrigger));
        var back = -this.transform.forward * (OVRInput.Get(OVRInput.Axis1D.SecondaryIndexTrigger));
        var up = this.transform.up * (OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger));
        var down = -this.transform.up * (OVRInput.Get(OVRInput.Axis1D.SecondaryHandTrigger));

        var moveDir = (go + back + up + down);
        this.transform.Translate(moveDir * speed);
    }
}

 

간단하게 맵을 둘러봤는데 조금 부족한 텍스쳐는 풀을 추가하면 될 거 같고 세부 구역을 나눠서 맵을 디자인하면 될 것 같다.

디스크골프와 골프룰은 거의 똑같기 때문에 맵을 18홀로 나눠서 세부구역을 디자인하는게 좋을 거 같다.

 

 

근데 팀원과 회의해서 홀은 5개로 줄이기로했다. 홀이 줄어든 만큼 터레인의 크기도 같이 1000x1000에서 500x500으로 줄여주었다. 그리고 발판과 골대를 설치해서 구역을 5개로 나누고 터레인을 색칠해주었다.

 

 

세부구역에 해저드와 벙커를 추가해주었다.

 

 

그리고 원반을 만들어서 터레인과 원반이 제대로 물리작용을 하는지 실험해봤는데 원반이 터레인을 뚫고 지나가버렸다.

 

 

처음에는 당연히 터레인의 문제일거라 생각하고 터레인 콜라이더에서 문제를 찾았는데 옵션을 건드려봐도 도저히 문제를 발견할 수 없었다. 그러다 콘솔창에 뜬 에러메시지를 보고 원반의 문제일수도 있겠다는 생각이 들었다.

 

 

https://forum.unity.com/threads/non-convex-meshcollider-w-non-kinematic-rigidbody-no-longer-supported.344160/

 

"Non-convex MeshCollider w/ non-kinematic Rigidbody" no longer supported?

Just updated to Unity 5 last night, tried importing the Unity 4 project I was working on (the space shooter tutorial...I am still a beginner,) fixed a...

forum.unity.com

 

유니티 포럼에서 컨벡스를 활성화하면 위 에러로그를 해결할 수 있다고 한다.

그래서 Convex를 활성화하고 다시 실험해보았다.

 

 

컨벡스를 활성화하자 원반이 터레인을 뚫고 지나가지 않게 되었다.