UDON 강좌
UDON 이벤트 함수 정리 문서
KIBA[키바]
2021. 1. 28. 04:51
마지막 수정 : 2021-01-28
기존 정리 글과 이 블로그 의 정보를 함께 정리하여 문서입니다
필요하신 이벤트는 Ctrl + F 를 통해 검색해서 찾아주세요
Generic Event
| void OnEnable () {} |
오브젝트가 활성화 되었을때 가장먼저 호출되는 이벤트 |
| void OnDisable () {} |
오브젝트가 비활성화 되었을때 가장먼저 호출되는 이벤트 |
| void Start() {} |
스크립트가 실행될때 호출된다 |
| void Update() {} |
매 프레임마다 호출된다 |
| 연결 -> LastUpdate |
| void FixedUpdate() {} |
매 프레임마다 고정간격으로 호출된다 |
| void LastUpdate() {} |
Update()의 다음으로 호출된다 |
| public override void OnSpawn() {} |
오브젝트가 스폰되었을때 호출되는 이벤트 |
| void OnDestroy () {} |
오브젝트가 파괴될때 호출되는 이벤트 |
| public override void OnInterect() {} |
플레이어가 오브젝트와 상호작용(클릭)을 하였을때 호출되는 이벤트 |
Networking (Udon Sync)
| OnNetworkReady |
정상적으로 작동하지 않음 |
| 사용 가능한 관련 이벤트 - OnPreSerialization - OnDeserialization |
| public override void OnPreSerialization() {} |
Owner가 자료를 보낼때 호출되는 이벤트 |
| public override void OnDeserialization() {} |
Owner로부터 자료를 받았을때 호출되는 이벤트 |
| public override void OnPlayerJoined (VRCPlayerApi player) {} |
플레이어가 월드 인스턴스에 입장했을때 호출되는 이벤트 |
| Parameter : VRCPlayerApi |
| public override void OnPlayerLeft (VRCPlayerApi player) {} |
플레이어가 월드 인스턴스에서 퇴장했을때 호출되는 이벤트 |
| public override void OnOwnershipTransferred () {} |
오브젝트의 Owner가 바뀌었을때 호출되는 이벤트 |
Pickup
| public override void OnPickup() {} |
플레이어가 오브젝트를 집었을때 호출되는 이벤트 |
| public override void OnPickupUseUp() {} |
플레이어가 AutoHold 옵션이 Yes인 오브젝트를 집었을때 트리거를 당기면 호출되는 이벤트 |
| public override void OnPickupUseDown() {} |
플레이어가 AutoHold 옵션이 Yes인 오브젝트를 집었을때 트리거를 놓으면 호출되는 이벤트 |
| public override void OnDrop() {} |
플레이어가 오브젝트를 놓았을때 호출되는 이벤트 |
Timer
| OnTimer |
작동하지 않음 |
Object Collision (Collider3D/2D)
| void OnCollisionEnter (Collider other) {} void OnCollisionEnter2D (Collider2D other) {} |
콜라이더가 있는 오브젝트와 충돌하면 호출되는 이벤트 |
| void OnCollisionStay (Collider other) {} void OnCollisionStay2D (Collider2D other) {} |
콜라이더가 있는 오브젝트와 충돌중일때 호출되는 이벤트 |
| void OnCollisionExit (Collider other) {} void OnCollisionExit2D (Collider2D other) {} |
콜라이더가 있는 오브젝트와 충돌을 더이상 하지않을때 호출되는 이벤트 |
| void OnTriggerEnter (Collider other) {} void OnTriggerEnter2D (Collider2D other) {} |
충돌하는 두 오브젝트중 하나 이상의 콜라이더에 Is Trigger 옵션이 활성화 되어있는 오브젝트와 충돌하면 호출되는 이벤트 |
| void OnTriggerStay (Collider other) {} void OnTriggerStay2D (Collider2D other) {} |
충돌하는 두 오브젝트중 하나 이상의 콜라이더에 Is Trigger 옵션이 활성화 되어있는 오브젝트와 충돌중일때 호출되는 이벤트 |
| void OnTriggerExit (Collider other) {} void OnTriggerExit2D (Collider2D other) {} |
충돌하는 두 오브젝트중 하나 이상의 콜라이더에 Is Trigger 옵션이 활성화 되어있는 오브젝트와 충돌을 더이상 하지않을때 호출되는 이벤트 |
| void OnParticleCollision (GameObject other) {} |
월드에 존재하는 파티클이 콜라이더와 충돌할때 호출되는 함수 |
| 플레이어의 콜라이터 호출 -> OnPlayerParticleCollision |
Player Collision (Collider3D/2D)
| public override void OnPlayerTriggerEnter (VRCPlayerApi player) {} |
플레이어가 Is Trigger 옵션이 활성화된 콜라이더와 충돌하면 호출되는 이벤트 |
| public override void OnPlayerTriggerStay (VRCPlayerApi player) {} |
플레이어가 Is Trigger 옵션이 활성화된 콜라이더와 충돌중일때 호출되는 이벤트 |
| public override void OnPlayerTriggerExit (VRCPlayerApi player) {} |
플레이어가 Is Trigger 옵션이 활성화된 콜라이더와 충돌을 더이상 하지 않을때 호출되는 이벤트 |
| public override void OnPlayerCollisionEnter (VRCPlayerApi player) {} |
플레이어가 콜라이더와 충돌하면 호출되는 이벤트 오브젝트가 정지되어있는 상태에서는 호출되지 않음 |
| 대용 가능한 이벤트 - OnPlayerTriggerEnter |
| public override void OnPlayerCollisionStay (VRCPlayerApi player) {} |
플레이어가 콜라이더와 충돌중일때 호출되는 이벤트 오브젝트가 정지되어있는 상태에서는 호출되지 않음 |
| 대용 가능한 이벤트 - OnPlayerTriggerStay |
| public override void OnPlayerCollisionExit (VRCPlayerApi player) {} |
플레이어가 콜라이더와 충돌을 더이상 하지 않을때 호출되는 이벤트 오브젝트가 정지되어있는 상태에서는 호출되지 않음 |
| 대용 가능한 이벤트 - OnPlayerTriggerExit |
| public override void OnPlayerParticleCollision (GameObject other) {} |
월드에 존재하는 파티클이 플레이어와 충돌할때 호출되는 함수 ParticleSystem의 SendCollisionMessages 옵션이 On이여야 함 |
| 플레이어의 콜라이터 호출 -> OnPlayerParticleCollision |
Video Player
| public override void OnVideoReady () {} |
비디오플레이어가 재생할 준비가 되었을때 호출되는 이벤트 |
| public override void OnVideoStart () {} |
비디오플레이어가 정지상태에서 재생을 시작할때 호출되는 이벤트 |
| public override void OnVideoPlay () {} |
비디오플레이어가 정지상태에서 재생, 일시정지 해제, 플레이어에 의한 재생 을 할때 호출되는 이벤트 |
| public override void OnVideoPause () {} |
비디오플레이어가 일시정지 되었을때 호출된느 이벤트 |
| public override void OnVideoEnd () {} |
비디오플레이어의 재생이 끝나거나 플레이어에 의해 정지되었을때 호출되는 이벤트 |
| public override void OnVideoLoop () {} |
비디오플레이어의 재생이 반복될때 호출되는 이벤트 |
| public override void OnVideoError () {} |
비디오플레이어의 재생이 실패하였을때 호출되는 이벤트 |
Key Input
| OnKeyDown |
사용하지 않음 따라서 아래와 같이 Update에서 체크 해야함 |
| void Update () { if ( Input.GetKeyDown ( KeyCode ) ) { . . . } } |
| OnKeyUp |
사용하지 않음 따라서 아래와 같이 Update에서 체크 해야함 |
| void Update () { if ( Input.GetKeyUp ( KeyCode ) ) { . . . } } |
Station (Chair)
| public override void OnStationEntered () {} |
Station에 앉았을때 호출되는 이벤트 |
| public override void OnStationExited () {} |
Station에서 나왔을때 호출되는 이벤트 |