콜라이더 이벤트 스크립트 예시
Example scripts for OnCollision and OnTrigger events. These example scripts demonstrate some potential uses for scripted collision interactions and events.
읽는 시간 1분최근 업데이트: 한 달 전
다음 예시는 충돌 함수에서 이벤트를 호출하는 방법을 보여 줍니다. 각각 와 를 사용하지만 개념은 모든 및 함수에 적용됩니다.
OnCollisionEnterOnTriggerEnterOnCollisionOnTrigger예: 게임 오브젝트 프로퍼티마다 다른 이벤트
이름이나 태그 등 다른 콜라이더 관련 게임 오브젝트의 프로퍼티에 따라 다른 이벤트를 트리거하도록 스크립트를 설정할 수 있습니다. 예를 들어 일부 콜라이더는 이벤트를 생성하도록 허용하고 다른 콜라이더는 허용하지 않으려는 경우에 유용합니다.
다음 예시에서는 이 콜라이더에 접촉한 다른 콜라이더의 태그가 '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) }}