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
'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 |