프로그래밍 공부
작성일
2024. 4. 29. 12:44
작성자
WDmil
728x90

데이터 레이블을 활용하여 캐릭터의 데이터를 수정하거나, 새롭게 기입할 수 있다.

 

CSV로 에셋들을 정리해서 도출할 수 있다.


CSV제작


현재 만들고 있는 캐릭터의 몸, 팔, 다리 등 메쉬에 붙는 데이터들을 정리할 수 있는 CSV를 제작하고, 해당 CSV를 활용하여 데이터를 출력한다.

 

우선, 에셋들을 정리한다.

 

이름과, 붙는위치의 int8데이터, 그리고 Mesh데이터를 저장하게 한다.


AttachAssets 생성

 

들어가는 형태는 다음을 참고한다.

이름과, 형태는 Enum의 uint8에 대한 각 대입된 데이터테이블을 참고하여 생성된다.

 

그리고, 이 CSV데이터들이 들어갈 Struct를 구현한다.

 

Struct까지 구현하였다면, 데이터테이블을 생성할 수 있게된다.

 

위와같은 형태로 생성되었다면 성공,

 

만약, 생성이 안되었더라도 수동으로 추가할 수 있으니, CSV파일에 너무 연연하지 말도록 하자.


백팩 상속관계 정리

백팩은 위와같은 방식으로 생성된다.

 

AttachBase를 통해, 붙는위치와 백팩의 메시생성 등을 관리한다.

 

상속받는 BackPack는, 이후에 생성될 BackPack의 하위데이터들을 총괄하는 역할을 맡는다.

즉, BackPack이 생성될때, 기본적으로 가지게될 데이터들을 가지게 된다는 의미이다.

 


상속관계 대로 생성

 

BaseAttachment를 생성한다.

해당 class는 엑터 형태로, 현재 달라붙는 객체의 형태와 무개, 어떤파츠인지를 결정한다.

 

즉, 캐릭터에 붙는 가방, 무기, 수류탄 등을 정의하는 부모객체 라고 생각하자.

 

Backpack을 정의한다. Attachment를 상속받아 생성되며, 생성자에서 Owner를 받아서 붙는 객체를 지정해준다.

 

기본적인 데이터정의는 끝났다. 이 데이터를 바탕으로 이제, RPM같은 데이터를 정의해서, 백팩에 무기가 달려있을 때의 동작사항 등을 만들어 주면 된다.

 

virtual로 정의되는 함수를 생성하고, 하휘 BaseBackpack을 상속받는 무기 객체가 어떤식으로 함수를 재정의해주면 되는지를 생각해보자.

728x90