1. 에셋 배치하기

1) 받아온 에셋 씬에 배치

2) 배치한 에셋의 프리팹 완전히 풀어주기

더보기

* Unpack Completely

1. 정의

- 유니티에서 씬에 배치된 프리팹 인스턴스가 원본 프리팹과 그 하위에 중첩된 모든 프리팹과의 연결까지 완전히 끊는 기능

- 프리팹 해제라고도 부름

 

2. 특징

1) 모든 프리팹 연결 해제

- 선택한 오브젝트 + 하위에 중첩된(자식) 프리팹까지 전부 일반 오브젝트로 변환

- 씬 안에서 완전 독립적인 오브젝트 트리로 남음

 

2) 프리팹 변경 영향 없음

- 원본 프리팹을 수정해도 Unpack Completely된 오브젝트는 영향을 받지 않음

 

3) 일반 게임 오브젝트화

- 더 이상 프리팹 관련 기능(Apply, Revert 등) 비활성화

- Inspector에서 프리팹 아이콘(파란색) 사라짐

 

3. 사용 목적

- 중첩 프리팹까지 완전히 끊어 자유롭게 구조 변경 / 커스텀 가능

2. 버튼 생성하기

1) UI > Button - TextMeshPro 세팅

 

2) 버튼 위치 설정하기

- 앵커 설정하기: 왼쪽 하단

 

- 결과: 버튼이 생성됨

 

3) 버튼의 속성 조절하기: 버튼 하위에 있는 Text에서 색 / 글자 등의 속성 변경 가능

 

3. 캐릭터에서 카메라 분리 & 캡슐 비활성화

- 캐릭터 캡슐에 카메라가 있으면 버튼이 눌리지 않기 때문에 분리 및 캡슐 비활성화 처리

1) Main Camera를 캐릭터 캡슐 위로 변경

2) 캐릭터 캡슐을 Inspector에서 체크 해제: 시점이 캡슐에 묶여 있기 때문에 마우스 클릭이 무시됨

 

4. 버튼 이벤트 생성

1) 애니메이터 컨트롤러 열기

 

2) 실행했을 때 바로 애니메이션이 재생되지 않도록 막기

(1) 빈레이어 생성: 빈 곳에서 왼쪽 클릭 > Create State > Empty

 

(2) 생성한 빈 레이어를 기본값으로 설정

 

3) 스크립트를 통해 애니메이션 제어: 버튼을 눌렀을 때 애니메이션을 실행하도록

(1) 스크립트에 함수 생성

- public 함수로 문 여는 함수 생성

: Play 함수의 " " 안에는 실제 재생할 애니메이션의 이름을 넣어야함

 

(2) 버튼과 연결

- 버튼 Object를 눌러 OnClick함수의 + 버튼을 통해 추가

 

- 스크립트가 포함된 Object를 추가하고 해당 스크립트의 함수 연결

 

(3) 결과

- 버튼을 눌렀을 때 문이 열림

: 버튼 눌렀을 때 색을 주황색으로 표시해 눌렀음을 표시해줌

 


* 보너스: 다른 버튼 숨기고 보이게 하는 버튼 생성

1) 스크립트에서 변수 생성

- firstBtn: 처음에 만든 문 열림 버튼 변수

- isBtnHidden: 버튼이 숨겨졌는지 확인하는 변수

 

2) 함수 생성

- 보이고 있다면 숨기고

- 숨겨져 있다면 보이도록

 

3) 버튼과 연결

(1) 스크립트에서 firstBtn에 대한 객체 연결

- firstBtn에 OpenDoor에 대한 버튼 연결

 

(2) 뒤에 만든 버튼에 스크립트에서 만든 함수 연결

 

4) 결과

(1) Hide Other Button 버튼 누르기 전

- Open Door 버튼이 보임

 

(2) Hide Other Button 버튼 누른 후

- Open Door 버튼이 보이지 않음

 

(3) Hide Other Button 버튼을 다시 누른 후

- Open Door 버튼이 보임

 

[ 참고 영상 ]

https://www.youtube.com/watch?v=TmP-AEUSpck&list=PLZ1b66Z1KFKhO7R6Q588cdWxdnVxpPmA8&index=12

728x90

'Unity🎮 > 실습' 카테고리의 다른 글

음악과 음향  (1) 2025.07.14
UI: 페이드 화면  (4) 2025.07.11
UI: 텍스트  (0) 2025.07.09
UI: 캔버스  (1) 2025.07.09
Scene에 캐릭터 가지고 오기  (3) 2025.07.09

+ Recent posts