1. 시험환경
· 윈도우
· 유니티(Unity) 6.2
2. 목적
· 기존 프로젝트 기반으로 신규 프로젝트를 만드는 방법을 알아보자.
· Object(Wall) 의 충돌 감지 이벤트 발생시 색상이 변경되는 코드를 만들어 적용한다.
· Object(Item) 의 충돌 감지 이벤트 발생시 사라지는 코드를 만들어 적용한다.
3. 적용
① 이전 프로젝트 -"사용자 입력(Input) 처리"를 복사하여 신규 프로젝트를 생성한다.
- 이전 프로젝트 참고: https://languagestory.tistory.com/454
[Unity] 사용자 입력(Input) 처리
1. 시험환경 · 윈도우 · Unity 6.2 2. 목적 · 사용자의 키보드 입력에 따라 객체(Object)가 이동하도록 구성한다. · 만약, 객체가 이동하다가 Ground의 경계 지역을 벗어나면 중력의 영향을 받아 떨어지
languagestory.tistory.com
② 이전 프로젝트 폴더를 복사 후 폴더명 및 프로젝트 파일을 변경한다.
- 원본 : chap04_KeyInputMove
- 복사 : chap05_KeyboardMoveCollision
![]() |
![]() |
③ "Unity Hub" → "Projects 탭" → "Add" → "Add project from disk"를 클릭하여 프로젝트를 추가한다.
- 프로젝트 로드 후 "Play" 버튼을 클릭하여 프로젝트가 정상 동작하는지 확인한다.
![]() |
![]() |
![]() |
|
④ "Hierarchy 창" → "마우스 우클릭 팝업메뉴" → "3D Object" → "Cube"를 생성하여 벽(Wall)을 만든다.
- 이름: Wall
- Position: (0, 0.5, 4.5)
- Scale: (7, 2, 0.5)
![]() |
![]() |
![]() |
|
⑤ "Hierarchy 창" → "마우스 우클릭 팝업메뉴" → "3D Object" → "Sphere"를 생성하여 아이템을 만든다.
- 이름: Item
- Position: (-4, 0, 4)
- Scale: (1, 1, 1)
- Is Trigger (Sphere Collider): 체크
![]() |
![]() |
![]() |
![]() |
⑥ "Project 창" → "마우스 우클릭 팝업메뉴" → "CS 파일"을 생성한다.
- 경로: Assets/Scripts/
- 파일명: WallCollision.cs
- 파일명: ItemTrigger.cs
![]() |
![]() |
⑦ 객체(Wall, Item) 충돌시 동작을 코딩한다.
- 파일명: WallCollision.cs → Player가 Wall 충돌시 Wall 객체의 색상 변경 스크립트
- 파일명: ItemTrigger.cs → Player가 Item 충돌시 Item 객체의 사라짐 스크립트
| WallCollision.cs using UnityEngine;
public class WallCollision : MonoBehaviour
{
private Renderer rend;
void Start()
{
rend = GetComponent<Renderer>();
rend.material.color = Color.gray;
}
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Player"))
{
rend.material.color = Color.red;
}
}
}
|
| ItemTrigger.cs using UnityEngine;
public class ItemTrigger : MonoBehaviour
{
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
Destroy(gameObject);
}
}
}
|
⑧ 작성한 WallCollision 스크립트 파일을 Wall 객체에 Drag&Drop 하여 임포트(Import) 시킨다.
- 임포트: WallCollision.cs → Wall 객체
![]() |
![]() |
⑨ 작성한 ItemTrigger 스크립트 파일을 Item 객체에 Drag&Drop 하여 임포트(Import) 시킨다.
- 임포트: ItemTrigger.cs → Item 객체
![]() |
![]() |
⑩ 코드에서 Tag 명을 "Player"로 비교하였으므로, Player 객체의 Tag를 "Player"로 설정한다.
![]() |
![]() |
4. 결과
· "Play" 버튼으로 실행하여 Player 객체가 Wall 및 Item에 충돌함에 따라 변화되는 결과를 확인한다.
![]() |
![]() |
'3D엔진' 카테고리의 다른 글
| [Unity] 점수 시스템과 UI 연결하기 (0) | 2025.10.09 |
|---|---|
| [Unity] Canvas 객체를 이용한 간단한 UI 만들기 (0) | 2025.10.09 |
| [Unity] 사용자 입력(Input) 처리 (0) | 2025.10.07 |
| [Unity] 로그 및 디버깅 방법 (0) | 2025.10.05 |
| [Unity] 새 프로젝트 생성 및 IDE 익히기 (0) | 2025.10.05 |





















