[STARs] STAR, AnimatorOverrideController, EventBus
댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
S - 상황
공부한 내용을 블로그에 포스팅 하는 빈도가 점점 느려지는 것을 느꼈다. 또 기록에 소요되는 시간이 많아 지속이 어렵다.
T - 임무
취업 준비를 위해 지속적인 경험 정리가 필요하므로, 새로운 방법을 강구할 필요성이 생겼다.
A - 행동
노션에 STAR 기법을 적용한 템플릿을 만들고, 그 양식에 맞추어 개별 문제 상황에 대해 기록했다. STAR의 각 항목은 최대한 간결하게 작성하여 나중에 참고하기 쉽도록 한다.
R - 결과
이 템플릿으로 총 [Field: NumOfPost]개의 주제에 대한 글이 작성되었고, 이 중 [Field: Subject] 에 대한 글이 이력서 작성에 활용되었다.
S - 상황
RPG 캐릭터 AnimatorController에서 사용한 StateMachineBehavior의 Serialized 필드 값을 수정할 때마다, 다른 캐릭터의 값도 동일하게 수정해야하는 번거로움을 인지했다.
T - 임무
컨트롤러 구성 요소들의 상태를 공유하여 다수의 캐릭터가 있더라도 AnimationClip만 교체하면 각 캐릭터의 컨트롤러로 사용할 수 있도록 하고 싶었다.
A - 행동
Prefab Variant를 배웠다는 사실을 기억해내어 AnimatorOverrideController기능을 찾았다. 플레이어 캐릭터의 베이스 컨트롤러로부터 각 캐릭터의 AnimatorOverrideController를 만들었다.
R - 결과
유니티의 Variant 개념이 다양한 컴포넌트에서 통용되고 있음을 알았다. 하나의 컨트롤러로 다수의 개체를 일관적으로 제어할 수 있게 되었다.
S - 상황
퀘스트, 인벤토리, 시나리오, 전투 등 RPG의 피쳐들끼리 의존성이 증가하여 코드가 읽기 어려워지고 확장이 어려워졌다. EventBus를 사용하였지만 각 이벤트의 호출 순서를 보장할 수 없었다.
T - 임무
이벤트를 안전하게 사용할 수 있는 환경을 구축하고, 호출 순서에 대해 보장한다. 예를들어, 퀘스트 수락시 Invoke되는 이벤트에서는 데이터 업데이트 이후에 UI업데이트가 이루어져야한다.
A - 행동
이벤트를 연쇄적으로 발생시켜 호출 순서를 보장한다. 구독시 리스너의 래퍼를 포함한 Token객체를 반환하고, 구독 해제시에 인자로 전달받아 래퍼를 안전하게 해제하여 누수를 방지했다.
R - 결과
이후 EventBus로 발생할 문제에 대해 고민하지 않을 수 있게 되어, 의존성 문제에 적극적으로 대처할 수 있게 되었다.
STAR - 오류 삼켜짐 현상
XR을 활용한 게임 개발 3기(유니티) 수강생입니다. 곧 수료 하지만 앞으로 이곳에 가끔 저의 개발 경험이 나 지식 기록할까 합니다. 더 나아가 이 사이트가 제 개인위키의 역할을 할 수 있으면 좋겠습니다. 한국 게임 시장을 흔들겠습니다

게임 광고 수익은 단순히 광고를 붙이는 것이 아니라, 여러 광고 네트워크를 경쟁시켜 가장 높은 수익을 만드는 구조입니다.