A. 코드 구조 설계
여태까지는 스프라이트를 렌더링해서 DevScene에서 출력하고 있었음
따라서 플레이어를 만들어서, 플레이어의 이미지를 위와같이 출력한다고 하면
플레이어 안에서 따로 매번 만들어줘야 함
1. 언리얼 방식
a. 액터 생성하기
액터 : 씬에 배치할 수 있는 모든 오브젝트
여태까지 사용하던 Object와 비슷한 내용
b. SpriteActor를 생성하기
Actor는 씬에서 배치될수 있는 모든 오브젝트를 의미함
즉, 모든 오브젝트는 Sprite가 없을 수 있음
따라서 SpriteActor를 따로 생성해서 Actor를 상속받게 해
렌더링이 필요한 부분만 따로 만들어 준다
c. 개발씬에서 액터를 추가
d. 배경화면 렌더링하기
위와같은 방식으로 배경화면을 렌더링
💥 구현 고민
위에서 구현한 배경처럼 가만히 있으면 문제가 되지 않음
하지만 SpriteActor에 Animation이 들어가야한다면 문제가 생김
➡ SpriteActor는 엔진코드이며, 여기다가 애니메이션을 넣는건 안됨
💙 해결방법은
SpriteActor처럼 추가적으로 클래스를 파서
엔진에서 제공하는 상위 계층 중 필요한 애를 골라 상속받아 작업하면 됨
여기서 백그라운드 작업한 것 처럼 Player를 하나 더 생성해서 만들어주면 끝!
언리얼은 위와같이 상속이 중요함
2. 유니티 방식
GameObject를 레고조립 하듯 다양한 기능을 붙여 만든다
a. GameObject 생성하기
GameObject는 씬에 배치하는 최상위 오브젝트 = 엑터
b. component 생성하기
오브젝트의 부품이 될 컴포넌트를 생성해주자
컴포넌트들의 부모가될 Component 생성
c. 컴포넌트 넣어주기
게임 오브젝트에 Component를 만들어주기
d. 렌더링할 부품 만들기
component를 상속받는 SpriteRenderer를 만들어주기
e. 씬에 추가하기
'프로젝트 > [인프런] 게임 프로그래머 입문 올인원' 카테고리의 다른 글
[게임 프로그래머 입문 올인원] 2D게임 프레임워크 : 카메라, 레이어 (105강) (0) | 2024.08.02 |
---|---|
[게임 프로그래머 입문 올인원] 2D게임 프레임워크 : 애니메이션 (104강) (0) | 2024.08.02 |
[게임 프로그래머 입문 올인원] 2D게임 프레임워크 설계 : 스프라이트 (102강) (0) | 2024.04.17 |
[게임 프로그래머 입문 올인원] 동적할당과 캐스팅 : 인벤토리 (38강) (0) | 2023.09.14 |
[게임 프로그래머 입문 올인원] 동적할당과 캐스팅 : 아이템 드랍 (36강 + 38강) (0) | 2023.09.14 |