김희정

Unity 게임 클라이언트 개발자

기존 시스템의 흐름을 빠르게 파악하고, 실제 콘텐츠에서 드러나는 상태·연출 문제를 끝까지 추적해 해결합니다.

Unity와 C#을 중심으로 데이터 기반 콘텐츠 진행, 저장·복구, 캐릭터 연출과 URP 렌더링 기능을 개발했습니다. 새로운 기술을 많이 사용했다는 사실보다 무엇이 깨졌고, 왜 깨졌으며, 어떤 선택으로 해결했는지를 설명하는 데 집중합니다.

Portfolio at a glance

  • 목표 직무: Unity 게임 클라이언트 개발
  • 주력 기술: Unity, C#, UGUI, Animator, URP, Shader
  • 강점: 레거시 분석·확장, 상태 복구, 캐릭터 연출, 렌더링 문제 분석
  • 경력: 2025.08 ~ 현재 · Unity 클라이언트 개발

기술

영역기술
게임 클라이언트Unity, C#, UGUI, Animator, DOTween
렌더링URP, Custom Render Feature, Shader, Stencil Buffer, Frame Debugger
콘텐츠데이터 기반 시나리오, 선택지 분기, 저장·로드, 캐릭터·카메라 연출
개발 지원Custom Inspector, Editor Tool, Git

대표 사례

1. 레거시 비주얼 노벨 시스템 분석·확장

기존 데이터 기반 시나리오 시스템을 인수받아 구조를 분석하고, 선택지 분기와 저장·복구 흐름을 확장했습니다. 희소하게 기록된 시나리오 데이터에서 로드 시점의 배경·효과·음악 상태를 재구성하고, 선택지 구간이 기존 진행 로직을 침범하지 않도록 페이지 계산 정책을 분리했습니다.

보여주는 역량: 레거시 분석, 상태 관리, 저장·로드, 데이터 기반 콘텐츠

상세 해결 과정 읽기

2. URP와 MaterialPropertyBlock을 결합한 캐릭터 오버레이

현재 발화자를 제외한 캐릭터를 자연스럽게 어둡게 표현하기 위해 URP Custom Render Feature, Stencil Buffer와 커스텀 셰이더를 구성했습니다. 공유 오버레이 머티리얼을 사용하면서도 캐릭터별 상태를 독립적으로 제어하기 위해 MaterialPropertyBlock을 적용했고, 등장·퇴장 연출과 오버레이 코루틴의 실행 순서를 조정했습니다.

보여주는 역량: URP 렌더링 파이프라인, Stencil, Shader, 캐릭터별 런타임 제어

상세 해결 과정 읽기


추가 사례

기존 애니메이션에서 피크 포즈를 선택해 대기 연출 만들기

신규 루프 애니메이션이 부족한 상황에서 기존 클립의 피크 포즈를 정지시키고 Additive 호흡 레이어를 결합했습니다. 원하는 프레임을 코드 수정 없이 찾을 수 있도록 AnimationMode.SampleAnimationClip 기반 커스텀 인스펙터도 제작했습니다.

보여주는 역량: Animator 상태 제어, Additive Layer, Custom Inspector, 콘텐츠 제작 워크플로우 개선

상세 해결 과정 읽기


제가 일하는 방식

  1. 기존 구조를 먼저 그려 책임과 데이터 흐름을 파악합니다.
  2. 증상을 재현하고, 상태가 처음 어긋나는 지점을 좁힙니다.
  3. 기존 동작을 가능한 한 보존하면서 변경 범위를 제한합니다.
  4. 실제 장면과 도구에서 결과를 검증합니다.
  5. 해결 이후에도 남은 제약과 다음 개선 방향을 기록합니다.