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☆

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

​

​

​

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

업데이트: