[프리팹과 제너레이터 스크립트]
- 프리팹: 생성할 오브젝트에 대한 설계도
- 제너레이터 스크립트: 프리팹대로 인스턴스(오브젝트)를 생성 -> 주로 같은 오브젝트 여러 개 생성할 때 사용됨
** 프리팹의 장점: 프리팹을 통해 생성된 모든 오브젝트는, 프리팹의 수정으로 한 번에 수정 사항 반영 가능
[메서드]
- Time.deltaTime: 프레임 사이의 시간 (보통 60fps)
- Instantiate(프리팹 객체): 프리팹에 맞춘 인스턴스 생성 (input: 프리팹 / return: 프리팹 인스턴스)
- Random.Rage(시작 범위, 종료 범위): 범위 사이 값을 랜덤으로 return 함. 종료 범위는 포함 x
- 프리팹 인스턴스(오브젝트).transform.position 과 같이 인스턴스에 접근하여 조작 가능
[제너레이터 만드는 법]
1. 프리팹 생성 - 이미 씬에 존재하는 오브젝트를 프로젝트 뷰에 드래그 한다
** 프리팹을 만든 오브젝트는 Hierachy 뷰에 존재할 필요 x
2. 제너레이터 스크립트를 작성한다
3. 빈 오브젝트에 제너레이터 스크립트를 적용한다
a. 빈 public GameObejct 변수를 선언(나중에 프리팹 오브젝트를 연결할 변수)
b. Instantiate(변수명) as GameObejct로 인스턴스 생성 (기본 타입은 Object형이지만 타입 캐스트를 해준다)
c. 인스턴스명.transform.position = new Vector3(x,y,0) 등으로 인스턴스의 초기 위치 등 설정
4. 제너레이터 스크립트에 프리팹을 전달한다 (= 아웃렛 접속)
= 3번에서 선언한 빈 GameObejct 인스턴스에 실체인 프리팹 오브젝트를 전달한다
a. public으로 선언한 빈 GameObject 인스턴스 변수가 Inspector 뷰에 보인다
b. 해당 뷰에 프리팹 오브젝트를 드래그&드롭 한다
[제너레이터 없이 프리펩으로 인스턴스 생성하기]
- 직접 Project란의 프리펩을 씬에 드래그&드롭
--
[애니메이션 제작]
*플립북 방식 사용
[스프라이트 애니메이션]
- 조금씩 움직임이 바뀐 스프라이트를 준비해서 일정 간격으로 바꿔주기
[구현하기]
방법 1. 스크립트로 수동 교체하기
방법 2. 메카님 구조를 사용해 일관되게 애니메이션을 작성하고 전환하기
[메카님]
- 유니티 에디터에서 애니메이션을 제작 및 실행할 수 있는 기능
* 스프라이트 수가 많을 수록 효용 증가
1. 스프라이트 준비
2. 애니메이션 클립: 한 동작에 대한 스프라이트 묶음 (e.g. 걷기 애니메이션)
3. 애니메이션 컨트롤러: 애니메이션의 교체 시기 지정 (e.g. 뛰는 경우 -> 뛰기 애니메이션 클립 실행)
4. Animator 컴포넌트: 애니메이터 컨트롤러를 설정
5. 오브젝트에 컴포넌트 적용: 메카님이 오브젝트 상태 판단 -> 자동으로 애니메이션 교체하고 재생
'공부' 카테고리의 다른 글
| unity08 3d 게임 만들어보기 (0) | 2026.02.10 |
|---|---|
| unity07 다양한 환경의 기기에서 동작 일관화 시키기 (0) | 2026.02.10 |
| unity05 중력/충돌 (0) | 2026.02.10 |
| unity04 게임 UI 만들기 (0) | 2026.02.09 |
| unity03 게임 설계하기 (0) | 2026.02.09 |