title: “6.유니티 내 이벤트 함수” categories:

  • UDONSHARPcourse

    #6.유니티 내 이벤트 함수 : 네이버 블로그

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

이벤트 함수는 크게 유니티 내부함수와 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☆

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

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

업데이트: