Life Archive
article thumbnail
[UE5] Animation Blend (Layer Blend Per Bone)

유니티든 언리얼이든 기본 애니메이션에 추가 애니메이션을 사용할 때 Blend를 사용하지 않으면 자연스럽지 못한 출력을 얻게 된다. 예를 들어, 플레이어가 움직이면서 동시에 무기를 꺼낸다면 하체의 다리는 계속 걷고 있어야하며, 상체는 칼을 꺼내고 있어야한다. 각각의 애니메이션은 Walk / DrawWeapon으로 분리되어있지만 동시에 실행돼야하므로 Blend를 사용하여 상하체가 동시에 두 개의 애니메이션을 사용하도록 설정해야한다. 언리얼 엔진5에서, 플레이어가 이동하면서 무기를 꺼낼 때/넣을 때 Animation Blend를 사용하지 않고 Main States를 Default Slot 그대로 출력하게 된다면, 마찬가지로 무기꺼내는 애니메이션을 취하면서 움직이기에 매우 어색한 연출을 얻게 된다. 언리얼에서는..

article thumbnail
[UE] Live Coding vs Hot Reload

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

[CS] Getter Setter
게임 개발 학습/CS 2023. 9. 25. 12:51

OOP로 개발을 하다보면 캡슐화가 매우 중요하다. 특히 게임개발을 하다보면 데이터 하나하나가 매우 중요한데 이런 데이터를 캡슐화하지 않게 되면 치명적인 오류를 발생시킬 수도 있다. (게임의 의도대로 진행이 안된다던지 등의 이슈) 그래서 한 클래스 내부에서 데이터를 Private 으로 설정하여 제한된 접근을 생성하며 캡슐화를 한다. 하지만 게임 로직 상 값이 수정돼야할 상황이 종종 발생하는데 이 때, Getter/Setter를 이용하여 좀 더 안전하게 값을 수정한다. protected static _language = Application.systemLanguage; // getter setter public static get Language() { if (this._language === 23) { r..