본문으로 바로가기
반응형


2025년 맞이 내용 추가.


게임분야를 중심으로 서술합니다. 절대적인 기준치라기보다 참고용으로 읽는것을 권장.
비게임 분야의 경우 미디어엔터/영상 및 일반산업군에서 요구되는 역량이 차이가 있음.(Digital Twin이라던가 그 외 embeded solution Project에 투입되는 경우).
지원하고자하는 분야에서 특정 기술, 엔진에 대한 이해도보다는 기본이 되는 그래픽스, DCC Tool 들에 대한 기술적인 바탕이 있는지 이해가 중요하다.

아래 문서의 주석(!)을 잘 읽어보는 것이 도움될 것이라 생각된다. 이거는 아마 AI 돌려도 제대로된 정보가 나오지 않을거라 생각해 일일이 써둔건데 부족하거나 맞지 않는 내용이 있을 수 있다. 널리 이해해주기 바란다.

Portfolio 제작

포트폴리오 작성에 대해서는 우선 이해도를 높이기 위해 내 유튜브 영상을 참고하기 바란다.(깨알 광고)
https://youtu.be/hwvRFAvQ5ww?si=Gzg4uy5FAxd0ZCLZ

몇가지 팁을 간략히 적어보자면

  • 유튜브나 블로그, 웹페이지등 검색한 내용을 따라서 구현한 것을 그대로 해본걸 넣은걸로 끝나는 포폴은 매우 좋지 못하다. 적어도 따라 만들어 봤다면 왜, 어떻게, 실제 해보니 어떤 결과나 문제가 있었는가등 자신의 생각을 잘 정리해서 덧붙이는게 좋다
  • 동영상만 혹은 스샷만 덜렁 첨부하는 경우. 이런 케이스도 많이 접하는데 보는 입장에서는 "그래서 어쩌라고?"라는 생각이 저절로 든다. 위의 내용과 같이 어떤 고민을 했는지, 왜 이렇게 만들었는지에 대해 정리가 첨부되어야 한다.
  • 프로젝트 수행을 위해서 어떤걸 고민했는지, 무엇을 했는지 기록하는 것이 좋다.
  • TA가 기술적인걸 다루는 인력이지만 아티스트이기도 하다. 포폴 레이아웃이 구리면 보기가 싫다. 폰트, 레이아웃, 텍스트 배치등 프레젠테이션을 위해서 여러가지를 고민해는게 좋은 인상을 주기 좋은 방법이다.

내 Unity 퇴사하면서 만든 포트폴리오. Unity에서 담당했던 업무만 정리했던거라 Unity Template을 그냥 썼다....;;;

Kaya 같은게 좋은 포트폴리오 예제가 될 수 있겠다 싶다. https://github.com/UnityKorea/ProjectKaya

이번에 Unite Seoul 2025에 우리부서 주니어들(3년차) 발표자료가 좋은 예가 될듯 하다. 이런 컨퍼런스 발표자료가 좋은 포트폴리오가 된다. Unite Seoul 2025 SSAO 경량화 및 Custom Shadow 개발(Com2uS TADept)  

Technical Artist interview check list

아래 내용은 지원/면접전 모두 이해해야하는 부분은 아니다. TA의 업무범위는 생각보다 넓고 다양한것을 요구하기 때문에 모든것을 다 대응할 수 있기는 쉽지 않다. 다만, 어떤 부분들이 업무수행시 요구되고 대응해야 하는지에 대한 참고 정도로 접근하면 도움이 된다. 스스로 강점을 가진다고 생각하는 부분을 부각하는 것이 경쟁력을 보여줄 수 있다.

다만, 연차가 높을 경우와 관리직을 목표로 한다면 업무범위를 넓게 가져가는 것이 좋긴 하다. 필수적으로 요구되는 몇가지 역량에 대한 부분이 있지만, 회사별, 프로젝트 인력 구성별로 요구하는 상황이 매우 상이하다. 개발직군에서 정형화된 역할보다 상용엔진의 발전에 따라 기술적인 이해도를 많이 필요로 하는 부분에서의 역할이 중요하고, 결국 프로젝트 리딩보다는 지원/보조 업무의 성격이 많다.

프로젝트 내의 문제에 대해 어떻게든 도움을 주려는 서비스직 마인드가 없으면 하기 어려운 업무

 

Common check point

  • 문제 해결 능력[각주:1]
    • 이전 경력의 프로젝트에서 테크니컬 아티스로 담당한 역할에 대한 설명. 경력직의 경우 기술검증 부분 이외에 가장 눈여겨 보게 되는 부분이다. 프로젝트에서 담당한 역할과 여러 문제들을 어떻게 대응했고 이를 해결하기 위해 어떤 포인트로 접근했었는지에 대해 설명 할 수 있어야 한다. [각주:2]
    • 프로젝트에서 발생했던 이슈에 대한 설명
    • 문제 파악을 위해 시도했던 방법들 및 이를 해결하기 위해 했던 과정 / 결과
    • 담당 프로젝트에서 신경썼던 부분[각주:3]
    • Documentation & Guideline[각주:4]
      • 문서화 작업에 대한 원칙
      • 가이드라인 작성에서 유의하는 부분들
  • Platform에 대한 이해도[각주:5]
  • 주니어 리딩 및 구성원과의 협업에서 리드 혹은 Senior로써 task 및 scheduling manager에 대한 생각[각주:9]
  • 현재 관심가는 기술 이슈 및 목표
  • 개인 R&D 및 외부, 내부 컨퍼런스 발표자료가 있다면 공유

 

DCC Tool

  • Maya / 3DS Max / Blender[각주:10]
    • Resource 제작 workflow에 대한 이해(Character, Environment, effect, animation)[각주:11]
      • Artist workflow Guideline
      • Character, Environment Asset, world creation, effect, animation
    • export format guideline(fbx, obj, abc등 DCC에서 어떻게 export해서 engine등 실제 개발도구로 옮기거나 파트간 공유되는 포맷에 대한 이해)
    • Max script, Mel script, Python등 툴 프로그래밍[각주:12]
  • Photoshop[각주:13]
    • texture format 별 특징에 대한 이해도
    • Project resource 관리에 대한 경험
    • VCS에서 아트 리소스 관리에 대한 이해도(SVN, git, perforce등)
  • Substance Painter, Designer, art-engine등
    • 각 툴 사용에 대한 이해도
    • Unreal/Unity등 engine과 연동된 workflow 관리[각주:14]
  • Houdini[각주:15]
  • Zbrush[각주:16]
    • sculpting workflow에 대한 이해
    • retopology workflow 및 tool 사용(3D coat 및 기타 리토폴용 툴들)
  • Others
    • effect tools : fumeFX, after effect,
    • Terrain tools : world machine, GAEA, world creation 등 [각주:17]

 

Rendering

  • Rendering pipeline에 대한 이해
    • 렌더 파이프라인의 이해 Forward / Deferred
      • Platform에 따른 차이점들에 대한 이해
      • Platform별 pixel format에 대한 이해 및 가이드라인 적용 경험
    • Shader 제작
      • Visual scripting(Unreal Material Editor 사용능력 / Unity Shader Graph 및 기타 tool)
      • Code scripting(HLSL, Cg, GLSL)
      • 기타 code 작성 포맷(shaderToy, render monkey 및 DCC툴등 기타)
      • Graphics API별 shader model에 따른 특징.
      • 각 플랫폼 별 최적화 관련 사항
      • shader optimization
    • PBR workflow / NPR workflow에 대한 이해
    • Environment setting
      • Scene setting(Unreal Level / Unity HDRP/URP)
      • Physically based lighting의 이해
      • Lightmap(Unreal Lightmass, Unity Progressive lightmapping)
      • Post Processing feature들의 이해
      • Resource Optimization, LOD, HLOD, imposter등
    • Effect 제작
      • Effect Tool 제작에 따른 workflow 이해도
      • Unreal cascade, unity shuriken
      • Compute shader 기반 effect tool 이해(Unreal Niagara, Unity visual effect graph)[각주:18]
    • UI 제작
      • UI 리소스 제작 관련 이해[각주:19]
      • Unreal UMG, Unity UGUI에 대한 이해
      • Optimization guide(sprite packing, canvas layout 관리 규칙등)[각주:20]

 

Animation

 

Engineering

  • C++[각주:22] , C#[각주:23]. Python[각주:24], Ruby 프로그래밍 언어에 대한 활용 및 이해
    • Visual scripting tool 활용(Unreal BP, Unity Bolt)
    • Engine Tool Programming(BP, scripting 어느것이든)
      • Pipeline support tool
      • resource check support tool
    • memory 사용에 대한 이해
      • separate memory handle과 shared memory 운용
      • Memory pooling과 streaming
      • resolution과 refresh rate가 프로젝트에 미치는 영향

 

Profiling

[각주:25]


**절대적인 내용은 아니고 참고용

**모든 섹터에 대한 이해도보다는 한 분야에 대해 깊이 있는 이해필요

 

 

  1.  국내에서 특히 많은 프로젝트에서 TA에게 기대하는 부분으로 명확하게 어떤 방식으로 프로젝트의 문제를 해결해야 하는지, 가이드 및 디렉팅을 할 수 있는 역량을 원하는 경우가 많다(기술적인 부분에서). 프로그래머의 경우 아트쪽의 니즈를 놓치는 부분이 있거나 혹은 결과가 이쁘지 않을수 있고 아티스트의 경우 최적화등 개발측면에서 좋지않은 방법으로 접근할 수 있기 때문. 물론 최적화나 구현이슈는 내알바 아니고 하고 싶은거 그저 만들어 주는것만을 원하는 팀도 있다. 이럴때는 알아서 잘 판단하자.
    시니어라면 이런 경우 어느정도 판단과 발언을 할 부분이 있지만, 주니어의 경우 요청 사항에 대응 하는것만으로도 어려울 수 있다. 이럴때는 결정권자(AD나 팀장, TD등)에게 상황을 공유하고 이에 대해 자신의 의견을 밝히고 최종 결정을 맡기는게 좋다. 아무 결정도 못하고 어버버하는 리더라면 그냥 빠르게 손절할 방법을 고민하는게 인생이 도움이 될지도 모른다. [본문으로]
  2. 이 부분에서 설명을 제대로 못하거나 어버버 거리게 되면 시니어 면접에서 가장 좋지 않은 인상을 줄 수 있다. TA로써 중요한 포인트는 기술적인것 이외에도 커뮤니케이션 역시 중요한데 면접때 자기가 했던 역할을 설명도 못하는 사람을 신뢰할 수 있겠는가. 주니어라면 유튜브 같은데 구현된 피처를 열심히 보고 따라 만들었다라는 설명은 면접에서 정말 아무런 도움도 안된다. 어느 부분에 대해 고민을 했고 어떻게 결과를 유도할지 고민했는지, 결과를 보고 기대한것과 어떻게 다르고 그 이후 후속 대처를 어떻게 했는지 잘 설명하는 것이 좋다. [본문으로]
  3. 프로젝트 수행에서 어떤점을 중요하게 여기고 어떻게 업무를 수행했는지를 잘 알수 있는 부분. 특히 시니어의 경우 주도적인 업무 역량을 꽤 요구하는곳이 많은데 이에 대해 스스로 프로젝트 상황을 얼마나 파악하고 어떻게 업무를 진행했는지 보여주는것이 필요하다. [본문으로]
  4. 문서화는 무엇보다 중요하고 이를 위해 대외 활동 및 내부, 그리고 블로그등 구체적인 결과를 보여주는 것이 좋다. 각종 문서 및 전달에 대한 자기만의 노하우가 있으면 금상첨화 [본문으로]
  5. 도메인이라 할수 있는 플랫폼의 특성 및 HW적 특성 역시 이해를 하고 있어야 한다. 특히 모바일 의존도가 큰 국내 프로젝트의 경우 플랫폼 구분못하고 말도 안되는 feature를 넣는걸 실력으로 오판하는 케이스가 있는데 TA로써는 매우 지양해야 할 부분이다. 이부분은 비게임쪽에서 훨씬 이해도를 요구하는데 WebGL, VR등은 플랫폼에 따라 매우 여러가지 제약이 존재한다. [본문으로]
  6. 사실상 모바일이라 봐도 좋다. Switch2에서는 좀 더 콘솔에 근접한 스펙이 되었다. [본문으로]
  7. 비게임쪽에서 여전히 요구하는데가 있다 [본문으로]
  8. embeded solution 특정 기술직군 트레이닝, 시뮬레이션등 게임 이외에도 여전히 수요가 있는 분야이다. [본문으로]
  9. Senior 한정으로 시니어급에게 요구되는 일정부분의 기술 리딩 및 가이드를 하는 역할에 대한 부분 [본문으로]
  10. 아직 한국 게임회사는 상당히 많은 수가 3DSMAX를 많이 사용하므로 3DS MAX에 대한 기본적인 지식은 가지는것이 여러모로 유리하다. 실사타입 프로젝트에서 캐릭터 제작은 이제 스컬핑 프로세스 이후 리토포도 토포건이나 다른 툴을 사용하는 경우도 많다보니 실제 모델링 툴보다는 로우폴리 메시 세팅 및 리깅 & 애니메이션 작업을 위한 작업 비중이 높아졌다. 반실사/캐쥬얼한 프로젝트의 경우는 비중이 또 달라진다. 여기서 애니메이션 세팅에서 바이패드가 생산성 이슈로 많이 사용하나 절대적인건 아니므로 이에 대한 개념을 잡고 있는 것이 좋다.

    블렌더는 주모델링 툴로는 아직 어렵지만 add on 기능 개발이 활발하고 유용한 기능들이 꽤 있어 보조 용도로 사용하는 케이스가 많이 늘어났다. add on 개발을 경험해 보았다면 이는 어필하기 좋은 부분. [본문으로]
  11. 실제 작업 가능한 수준이면 더욱 좋겠지만 시니어 레벨에서는 파트 안가리고 이슈 문의가 들어온다. 프로젝트를 경험하면서 꾸준히 살펴보고 경험을 쌓는것이 필요하다 [본문으로]
  12. 맥스 스크립트가 필수인가를 이야기할때 이는 프로젝트 마다 상황이 다르고 어떤경우에는 이러한 툴 작업을 하는 경우가 없는 경우도 많다. 파이썬의 경우 자체엔진이나 언리얼에서 셰이더 테스트용으로 활용하는 경우도 있긴 하다. [본문으로]
  13. 3D 제작툴만큼이나 중요한 것이 포토샵에 대한 이해이다. 텍스처 제작의 가장 마지막은 결국 포토샵으로 이어진다는걸 감안하고 살펴보자. 의외로 쓰는 기능들만 사용하고 필터나 효과, 리소스 제작에 필요한 기본적인 것들을 못챙기는 경우가 많다. [본문으로]
  14. 섭스턴스 페인터의 경우 이제 포토샵과 비슷한 수준의 기본 제작 도구로 쓰이는 툴이다. 엔진 에디터와 섭스 뷰툴과의 룩뎁을 일치해달라는 요청 및 필요한 mask texture 제작에 대한 기준을 만들어야 할 때도 많다. substance painter 뷰와 관련된건 이와 관련한 가이드를 제공하고 있어서 GLSL로 셰이더를 짤수 있으면 플젝에 맞게 해볼 수 있다.

    Shader API : https://substance3d.adobe.com/documentation/spdoc/shader-api-89686018.html 
    Custom Shader : https://substance3d.adobe.com/documentation/spdoc/custom-shaders-197427725.html
    [본문으로]
  15. 후디니는 아직까지 특정 프로젝트에서 활용하는 경우를 제외하면 수요가 많지는 않다. 다만, 대형 프로젝트의 경우 요구되는 곳이 있을수 있으니 destructable mesh 제작이나 procedural terrain 제작등 해외 활용 케이스들 정도는 살펴보는 것도 좋다. [본문으로]
  16. VFX 베이스로 TA를 하는경우 특히 스컬프팅 관련해서 잘 모르는 경우가 있다. 스컬프팅 작업 프로세스에 대해서는 정확히 몰라도 리토포등 로우 폴리 메세 제작과 관련된 부분은 알아둘 필요가 있다 [본문으로]
  17. world 제작툴은 숙련된 작업자를 찾는것도 쉽지 않기 때문에 케이스 스터디 정도만 해두고 프로젝트에 필요할 경우 따로 살펴볼 필요가 있다. 특정 프로젝트에서 작업툴과 엔진에서의 연동과 관련된 가이드를 요구할 수 있다. 월드 파티션 세팅 기준등 [본문으로]
  18. compute shader 기반 이펙트들은 플랫폼 및 graphics library에 대한 dependency 체크도 필요하다. 이외에 후디니를 사용한 point cache를 사용한다던가 flow map을 활용하는등 particle 기반 이펙트에서 좀 더 확장된 개념을 요구하게 된다 [본문으로]
  19. PNG, TGA 사용에 따른알파채널 관리 및 각 플랫폼별 지원 픽셀 포맷에 대한 이해역시 필요로 한다. [본문으로]
  20. 그외에도 최적화 관련한 내용들은 유니티든 언리얼이든 자료가 많다. canvas관리 라던가 drawcall 관리 그외에 UI effect 관련 이슈들이 여기에 해당한다. UI는 크게 Rendering order 관리를 위한 canvas 배치 및 sprite packing 그리고 UI VFX 연출 관련 이슈정도 이외에는 크게 이슈가 없다. 최근 유행하는 3D UI 구현 이슈의 경우 UI보다는 렌더링쪽에 가깝다. [본문으로]
  21. Rig & Animaiton의 경우 회사에 따라 별도 포지션으로 분리해서 채용할 정도로 전문성이나 이슈가 많다. 별도 포지션이 아닌 경우 대략적인 업무에 대한 내용만 알고 있어도 무방하다 [본문으로]
  22. C++를 직접적으로 작성하고 활용하는 경우는 거의 없다고 보면 된다. 언리얼 프로젝트의 경우 소스코드에 TA가 작성한 코드를 병합하는걸 원하지 않는 플젝이 대부분일거다. 다만, sceneview extension등 BP레벨에서 접근이 어려운 기능들이 사이사이 존재하는 이슈가 있다. 또한, runtime에서 쓰이는 툴을 제작했을때 BP기반이면 결국 퍼포먼스 이슈로 C++로 포팅해야하는데 어느정도 가안이라도 작성해서 공유하고 검수를 받는 방식이 가능할 정도면 매우 훌륭하다 [본문으로]
  23. unity ingame editor tool이나 Render feature, RT를 활용한 feature 개발에는 많이 필요로 한다. [본문으로]
  24. MaxScript 가 점점 Python으로 대체되는 영향이 있으나 둘다 이해하는 편이 좋다. 아직까지는 오래된 스크립트를 재사용/수정 해서 쓰이는 경우도 많기 때문. DCC 툴 이외에 그냥 자동화 툴이나 배치툴 같은용도로는 python활용이 괜찮으나 어차피 보조적인 영역 [본문으로]
  25. 프로파일링은 어쩌면 가장 중요한 부분중에 하나로써 프로젝트 진행에 있어 수시로 체크하고 문제가 발생하는 부분에 대해 신경써야 하는 부분이다. 특히 PC, 콘솔이라 할지라도 게임 디자인에 따라 가중치를 더하거나 덜어내거나 하는 판단이 많이 필요로 한다. 모바일은 여기에 더해 쓰로틀링과 배터리 소모에도 신경을 써야한다. 많은 피처를 넣어서 화려하게 보이더라도 지속적인 부하로 인해 발열이 늘어나 배터리 소모가 늘어나면 결국 플레이 경험이 나빠지기 때문이다. 디바이스 유휴 타임에 대한 안배와 적절한 수준의 디바이스 파워를 써야하는 밸런스에도 신경을 써야 한다. 그외 메모리 프로파일링 역시 플레이중 크래쉬에 대한 이슈가 있기 때문에 적정 수준의 리소스를 사용하는 기준을 세우는 것도 중요하다 [본문으로]
  26. GPU 비용 체크하기 위해서는 Xcode가 아직은 활용성이 높다. 다만, 맥 디바이스가 필요하다보니 직접 해보지 않더라도 개념적인 이해도만 가지고 있어도 충분하다. [본문으로]
반응형