캐릭터나 몬스터의 Attribute 값들을 데이터 테이블을 이용하여 입력하는데, 이전에 유니티에서는 JSON으로 데이터를 로드했었습니다. config.json으로 데이터 테이블과 같이 변수를 입력하고 플머분들이 LoadJson 메소드를 통해서 가져가서 사용하셨죠. 언리얼도 물론 JSON을 사용할 수 있었지만, 현재 진행 중인 플젝에서는 DT(데이터 테이블)을 사용했기에 그 사용법에 대해서 간단하게 정리하고자 합니다. 엑셀로 파라미터를 행으로 만들어서 입력해줍니다 언리얼에서 프로젝트 폴더 안에 DataTable이라는 폴더를 만들어주고, 해당 폴더 안에 행으로 사용할 엑셀들을 넣어줍니다. 제가 진행 중인 프로젝트는 소울라이크이니 캐릭터와 몬스터에 사용할 AttirbuteInitValues를 넣어줍니다 여기서..
Base Equippable Actor Class : Implement functionality inside the base equippable actor that you want all equippable items to inherit. - Equip/Unequip functionality - Attach functionality 즉, 장착/미장착 여부와 장착 시 손에 붙이는 가장 베이스 역할을 한다. 아래 클래스들은 이 클래스를 상속받아서 실행한다. Base Weapon Actor Class : Inherits functionality of base equippable so that the functionality can be accessed or overriden. Implement function..
INTRO 언리얼 엔진 5의 Lighting을 학습하던 중 학습하면서, 이전 버전의 언리얼 엔진에서 사용한 Lighting과 Lumen을 비교하여 어떤 장단점이 있는 지 알아보았다. 그 전에 Lumen에 대하여 간단히 살펴보자면, 언리얼 엔진의 Global Illumination과 Reflection에서 추가된 기술로, 미리 Light을 Bake하여 Lightmap을 이용하는 방식이 아닌, Fully Dynamic Realtime Lighting 시스템이다. GPU 연산을 줄이기 위해, 대부분 Static Light로 사용할 수 밖에 없었던 이전과는 다르게 이제는 빛이 움직여도 실시간으로 랜더링되며 이전보다 퀄리티도 좋아지고 연산량도 줄어들게 되었다. 위와 관련된 내용을 직접 UE5의 Level에서 세팅..
Skeletal Mesh와 Static Mesh를 Output으로 Return하려할 때는 반드시 Component를 Primitive Component로 설정해야한다. USkeletalMeshComponent와 UStaticMeshComponent가 모두 UPrimitiveComponent를 상속받은 SubClass Component기 때문이다.
유니티든 언리얼이든 기본 애니메이션에 추가 애니메이션을 사용할 때 Blend를 사용하지 않으면 자연스럽지 못한 출력을 얻게 된다. 예를 들어, 플레이어가 움직이면서 동시에 무기를 꺼낸다면 하체의 다리는 계속 걷고 있어야하며, 상체는 칼을 꺼내고 있어야한다. 각각의 애니메이션은 Walk / DrawWeapon으로 분리되어있지만 동시에 실행돼야하므로 Blend를 사용하여 상하체가 동시에 두 개의 애니메이션을 사용하도록 설정해야한다. 언리얼 엔진5에서, 플레이어가 이동하면서 무기를 꺼낼 때/넣을 때 Animation Blend를 사용하지 않고 Main States를 Default Slot 그대로 출력하게 된다면, 마찬가지로 무기꺼내는 애니메이션을 취하면서 움직이기에 매우 어색한 연출을 얻게 된다. 언리얼에서는..
IDE : Visual Studio Code Editor : UE 5.3 Hot Reload (핫 리로드) 핫 리로드 방식은, 기존 개발자에게 익숙한 방식이며 IDE에서 빌드하면 Editor에 바로 적용되는 기능이다. 혹은, Editor에서 하단 모양의 버튼을 클릭해서 컴파일할 수도 있다. IDE에서 수정한 내용을 Editor에서 컴파일하면 수정이 된다. Live Coding (라이브코딩) 라이브 코딩은 Editor, 즉, 엔진이 실행되고 있는 동안 C++ 코드를 리빌드하고 바이너리를 패치하는 시스템이다. IDE에서 수정한 내용을 빌드하려면 Editor를 반드시 종료해야하며, 종료를 하지 않고 Build를 하면 "Unable to build while Live Coding is active. Exit t..