1. 콜라이더 배치
접촉을 인식시키기 위해서는 콜라이더를 먼저 만들어주어야 한다.
오브젝트 편집 창에 들어가서 Add Component를 선택한다.
Capsule Collider를 생성한다.
적절하게 배치해 준다.
나중에 한 번에 학습시킬 때 player끼리의 충돌을 방지하고 코드를 간단하게 만들기 위해 Is Trigger 항목을 선택하여 충돌 연산에서 제외시켰다.
2. 접촉 인식
태그를 추가해서 player가 장애물에 접촉하였을 때 접촉한 장애물이 무엇인지 알 수 있게 할 것이다.
먼저 태그를 추가한다.
오브젝트마다 태그를 달아준다.
Project에서 우클릭에서 C# 스크립트를 생성하고 코드를 추가한다.
void OnTriggerEnter(Collider other)
{
print(other.tag);
}
void OnTriggerEnter(Collider other) : Trigger가 오브젝트와 충돌을 시작하였을 때 함수를 호출해 주며, 충돌한 오브젝트의 정보를 other 변수로 전달해 준다.
잘 작동하는지 확인하기 위해 충돌한 오브젝트의 태그를 출력하도록 하였다.
잘 작동한다.
3. 장애물 속력에 따른 위협 측정
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class playerDamage : MonoBehaviour
{
void OnTriggerEnter(Collider other)
{
if(other.tag == "box" || other.tag == "book")
{
float damage = other.GetComponent<Rigidbody>().velocity.magnitude;
if(damage > 1) print("BOOM!!!");
}
}
}
박스나 책 같은 장애물이 player와 접촉했을 때 장애물의 속력을 측정하여 특정 속력을 넘었다면 player가 위협을 느끼도록 코드를 추가하였다.
잘 작동한다.
'Project > [Unity] 지진 시뮬레이션' 카테고리의 다른 글
[Unity] 지진 시뮬레이션 8 - 카메라 배치, 지진 효과 구현 (0) | 2024.03.31 |
---|---|
[Unity] 지진 시뮬레이션 - 7 (경로 이동에 따른 점수 측정) (0) | 2024.03.27 |
[Unity] 지진 시뮬레이션 - 5 (추가 플레이어 이동, 디자인) (0) | 2024.03.22 |
[Unity] 지진 시뮬레이션 - 4 (플레이어 움직임) (0) | 2024.03.21 |
[Unity] 지진 시뮬레이션 3 (조명과 장애물 추가) (0) | 2024.03.20 |