반응형
- 물리 충돌 이벤트
- MeshRenderer를 통해서 오브젝트의 재질 접근
- OnCollisionEnter : 물리적 충돌이 시작할 때 호출되는 함수
- OnCollisionStay : 물리적 충돌이 일어나고 있을 때 호출되는 함수
- OnCollisionExit : 물리적 충돌이 끝났을 때 호출되는 함수
- Color : 기본 색상 클래스
- Color32 : 255 색상 클래스
- Collision : 충돌 정보 클래스
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OtherBall : MonoBehaviour
{
MeshRenderer mesh;
Material mat;
void Start()
{
mesh = GetComponent<MeshRenderer>();
mat = mesh.material;
}
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.name == "My Ball")
{
mat.color = new Color(0, 0, 0);
}
}
void OnCollisionExit(Collision collision)
{
if (collision.gameObject.name == "My Ball")
{
mat.color = new Color(1, 1, 1);
}
}
}

- 트리거 이벤트
- Box Collider > Is Trigger 체크
- TriggerStay : 콜라이더가 계속 충돌하고 있을 때 호출
- OnTriggerEnter : 물리적 충돌이 시작할 때 호출되는 함수
- OnTriggerStay : 물리적 충돌이 일어나고 있을 때 호출되는 함수
- OnTriggerExit : 물리적 충돌이 끝났을 때 호출되는 함수
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MyBall : MonoBehaviour
{
Rigidbody rigid;
void Start()
{
rigid = GetComponent<Rigidbody>();
}
void OnTriggerStay(Collider other)
{
if (other.name == "Cube")
{
rigid.AddForce(Vector3.up * 2, ForceMode.Impulse);
}
}
}

참고
- 골드메탈 - 물리 충돌 이벤트 [유니티 입문 강좌 B11]
https://www.youtube.com/watch?v=salZ7t98xi8&list=PLO-mt5Iu5TeYI4dbYwWP8JqZMC9iuUIW2&index=12
반응형
'Programming > Unity' 카테고리의 다른 글
[Unity] 15. 3D 기초 게임 개발 (0) | 2022.07.25 |
---|---|
[Unity] 14. 게임 인터페이스 (0) | 2022.07.11 |
[Unity] 12. 물리 영향을 받는 게임 오브젝트 이동 (0) | 2022.07.10 |
[Unity] 11. 물리 영향을 받는 게임 오브젝트 생성 (0) | 2022.07.10 |
[Unity] 10. 델타타임 (0) | 2022.07.10 |
댓글