김희정
Unity 게임 클라이언트 개발자
1년간 Unity 클라이언트 개발자로 근무하며 XR, PC, 모바일 프로젝트를 경험했습니다. UI와 캐릭터 연출부터 데이터 처리, 통신 연동, URP 렌더링까지 클라이언트 개발 전반을 담당했습니다.
문제의 원리를 파고들어 원인을 찾고, 제한된 리소스는 기존 요소의 새로운 조합으로 해결합니다. 기능 구현을 넘어 더 나은 개발 방식까지 고민하는 개발자입니다.
기술
Unity · C# · UGUI · Animator · DOTween
데이터 기반 콘텐츠 · 저장/로드 · 캐릭터 연출 · URP · Shader · Editor Tool
사례
URP와 MaterialPropertyBlock을 결합한 캐릭터 오버레이
현재 발화자를 제외한 캐릭터를 자연스럽게 어둡게 표현하기 위해 URP Custom Render Feature, Stencil Buffer와 커스텀 셰이더를 구성했습니다. 공유 오버레이 머티리얼을 사용하면서도 캐릭터별 상태를 독립적으로 제어하기 위해 MaterialPropertyBlock을 적용했고, 등장·퇴장 연출과 오버레이 코루틴의 실행 순서를 조정했습니다.
Frame Debugger로 진단한 lilToon 런타임 투명화 문제
런타임에서 Alpha와 Blend 값을 변경해도 투명해지지 않는 현상을 Frame Debugger로 분석했습니다. 프로퍼티는 GPU에 정상 전달됐지만 투명 셰이더 Variant가 선택되지 않는 것을 확인하고, lilToon 내부 키워드 매핑을 추적해 렌더링 상태를 동기화했습니다.
framedebugger, shadervariant, 패키지소스분석
기존 애니메이션에서 피크 포즈를 선택해 대기 연출 만들기
신규 루프 애니메이션이 부족한 상황에서 기존 클립의 피크 포즈를 정지시키고 Additive 호흡 레이어를 결합했습니다. 원하는 프레임을 코드 수정 없이 찾을 수 있도록 AnimationMode.SampleAnimationClip 기반 커스텀 인스펙터도 제작했습니다.
animator상태제어, additivelayer, custominspector