이번 강좌는 이벤트 함수입니다

이벤트 함수는 크게 유니티 내부함수와 vrchat함수가 있습니다

콜라이더끼리 부딪히는 함수는 유니티 내부함수지만

콜라이더와 플레이어가 부딪힘을 감지할때는 vrchat함수가 필요합니다

이번 강의는 유니티 내부 함수를 먼저 하겠습니다

다 외우는 것이 아닌

아 이런게 있구나 만 알면 됩니다

중요한건 제가 빨간글씨로 써두겠습니다

중요도는 별 3개 만점입니다

우리가 하는 vrchat은 유니티로 만든 게임입니다

이 유니티에는 이벤트 함수라는 개념이 있습니다

이 이벤트들은 특정 상황일 때 실행됩니다.

예를 들어

우리가 자주 보는 Start와

Interact입니다

Start는 오브젝트가 생성 될 때 처음 한번만 실행되는 함수입니다.

즉 vrchat 월드에 처음 들어왔으면 오브젝트를 불러올 때 처음만 실행되는 것이지요

Interact는 vrchat 내에서 마우스로 클릭(상호작용)을 하면 실행되는 함수입니다

이런 함수들은 각 순서들이 있습니다

이 여러가지 이벤트 함수들을 적절히 사용해야 합니다

모든 함수를 제가 알려드리긴에 저의 능력이 부족합니다

처음 배울 때부터 제대로 배우는 것이

모르는 함수들도 많기 때문에 디테일 한 부분은 구글링을 추천 드립니다

키워드”유니티 이벤트 함수”

이 강의에서는 제가 쓰는 함수들만 쓰겠습니다


Update☆☆

일단 업데이트가 있습니다

업데이트는 매 프레임마다 실행됩니다

프레임은 다들 아시죠?

게임에 뿌려지는 화면 한장을 프레임이죠.

프레임은 컴퓨터마다 다 다르게 나오기 때문에 유저 간 차이가 날 수 있습니다.


그렇기 때문에

FixedUpdate ☆☆☆중요도 별3개

FixedUpdate가 있습니다

FixedUpdate는 0.02초마다 실행되며 업데이트는 컴퓨터 사양에 따라 실행 횟수가 다르지만

픽스드업데이트는 사양이 달라도 동일하게 실행됨.

고로 물리처리를 할 때 사용

->앞으로 자주 볼 얘니깐 눈에 익혀둡시다

간단하게 예제 함 갈까용

    int Count = 0;
    void Start()
    {
    }
    private void FixedUpdate()
    {
        Count = Count + 1;
        Debug.LogError(Count);
    }

0.2초마다 카운터가 1씩 올라감을 확일 할 수 있습니다


OnTrigger☆

OnTrigger 3형제입니다

OnTrigger는 Is Trigger가 체크된 콜라이더가 충돌 할 때 실행됩니다

Enter Stay Exit 는 각각

충돌하는 순간

붙어있는 순간

떼어지는 순간

실행됩니다

두 오브젝트 중 하나라도 rigidbody가 필요합니다

두 오브젝트 중 하나라도 IsTrigger가 필요합니다

충돌하지 않음(관통)

예제

    private void OnTriggerEnter(Collider other)
    {
        Debug.LogError("콜라이더 충돌");
    }

rigidbody를 미리 넣은 후 테스트해야한다

플레이를 한 후 위아래로 움직여 콜라이더를 충돌시키면 로그가 뜸


OnCollision☆

두 오브젝트 다 IsTrigger가 꺼져 있어야 함

두 오브젝트 중 하나라도 rigidbody가 필요합니다

이건 IsTrigger이 안켜진 상태에서 충돌하기 때문에 부딪히면 서로 밀려나감

똑같이 3형제. 예제는 없음


OnMouse형제들

마우스 클릭시 실행됨

물건을 집은 후 클릭이 아닌 그냥 아무나 클릭하면 실행됨

필자는 이게 물건을 집은 후 클릭인줄 알고 썻다가 모든 플레이어가 마우스 클릭만해도 총알이 나가는 참사가 일어났었음


OnParticleCollision☆

파티클이 콜라이더랑 부딪히면 실행됨

그냥 이런게 있구나~~ 하고 넘어가시면 됩니다!!