기술 자료

Unity Engine

Unity Engine

콜라이더 이벤트 스크립트 예시

Example scripts for OnCollision and OnTrigger events. These example scripts demonstrate some potential uses for scripted collision interactions and events.
읽는 시간 1분최근 업데이트: 한 달 전

다음 예시는 충돌 함수에서 이벤트를 호출하는 방법을 보여 줍니다. 각각
OnCollisionEnter
와
OnTriggerEnter
를 사용하지만 개념은 모든
OnCollision
및
OnTrigger
함수에 적용됩니다.

예: 게임 오브젝트 프로퍼티마다 다른 이벤트

이름이나 태그 등 다른 콜라이더 관련 게임 오브젝트의 프로퍼티에 따라 다른 이벤트를 트리거하도록 스크립트를 설정할 수 있습니다. 예를 들어 일부 콜라이더는 이벤트를 생성하도록 허용하고 다른 콜라이더는 허용하지 않으려는 경우에 유용합니다.
다음 예시에서는 이 콜라이더에 접촉한 다른 콜라이더의 태그가 'Player'인지 'Enemy'인지에 따라 다른 메시지를 출력합니다.
using UnityEngine;using System.Collections;public class DoorObject : Monobehaviour{ private void OnCollisionEnter(Collider other) { if (other.CompareTag("Player")) { Debug.Log ("The player character has touched the door.") } if (other.CompareTag("Enemy")) { Debug.Log ("An enemy character has touched the door!") } }}

예: 물리 업데이트마다 이벤트 메시지 전송

다음 예시에서는 트리거 콜라이더를 사용하여 호버패드를 생성합니다. 트리거 콜라이더는 호버패드 게임 오브젝트 바로 위에 위치하며, 트리거 내의 모든 게임 오브젝트에 위쪽으로 상수 힘을 가합니다.
using UnityEngine;using System.Collections;public class HoverPad : MonoBehaviour{ // define a value for the upward force calculation public float hoverForce = 12f; // whenever another collider is in contact with this trigger collider… void OnTriggerStay (Collider other) { // …add an upward force to the Rigidbody of the other collider. other.rigidbody.AddForce(Vector3.up * hoverForce, ForceMode.Acceleration) }}