선생님 소개

안녕하세요. 발차기 여러분. 저는 그래픽스 프로그래머인 노동진 입니다. 한국에서 조이시티, 엔씨소프트에서 근무하며 예전에 세피로스, 프리스트 온라인, 최근에는 아이온 모바일 레기온즈 개발에 참여하였고, 현재는 중국에서 완미세계라는 회사에서 차기작 개발에 참여하고 있습니다.

수업 대상

기술을 이해하고 싶은 도전적인 아티스트, TA, TD.

수업 목표

아티스트가 Unreal 엔진의 렌더링 코딩을 할 수 있을까? 이를 증명하고 싶은 도전적인 아티스트들을 초대합니다. 언리얼 소스 코드를 사용하기 위한 환경설정과 코드를 고치고 빌드하는 것을 배우게 됩니다. 아티스트를 대상으로 한 코딩 워밍업 수업으로, 복잡한 기능을 구현하기 보다는 간단한 렌더링 관련 기능을 직접 구현해 보아, 언리얼 코딩에 대해 이해를 하기 위한 수업입니다. 이 작은 도전에 성공하고, 그 다음 단계로 같이 갈 수 있을까요?

사용 프로그램

Unreal Engine, Visual Studio 2019 Community, Visual Assist, SmartGit (방송에서 각 툴에 대해서 자세히 설명할 것임)

수업 커리큘럼

 

Week 1 – Material Editor를 사용한 Height-Blend 구현

  • 일반적인 Material Blend와 한계, Height Blend 소개 및 다층 Layer Height Blend 구현.
  • 이미 잘 알려진 Height Blend를 좀 더 개선된 방식으로 Material Editor에서 구현합니다.
  • Custom Node를 일부 사용하여 Height Blend 구현을 완성합니다

 

Week 2–  Unreal Shader의 이해

  • Radial Blur의 Forward Rendering에서 구현상 문제의 이해.
  • Unreal Shader 코드를 이해하고, shader를 만드는 C++ 코드 분석하기. 이를 통하여 Radial Blur 구현에 무슨 문제 있는지 파악하기
  • CPU, GPU, Shader 빌드, Custom Node의 관계와 동작 방식 이해하기
  • 이 지식을 사용하여 Custom Node 구현하여 Deferred, Forward에 모두 다 동작하는 Radial Blur 구현

 

Week 3 – Material Expression 구현하기

  • Shader의 Constant Fold 이해하기. Custom Node를 언제 써도 되고 언제 쓰면 안 되는지 이해하기
  • Material Expression의 가치를 이해하고, C++로 구현하는 방법 배우기
  • 간단하지만 매우 유용한 Material Expression 두개 두 개 구현하기 – LerpFoldable, Fit

 

Week 4–  Material Expression을 사용한 Height-Blend 구현

  • 간단한 Material Expression부터 출발하여 Height-Blend 구현 시작
  • 구현한 Material Expression이 Landscape에도 적용되도록 확장
  • Material Blend의 두가지 방법인 Alpha Blend와 Weight Blend의 장단점 이해 및 구현

 

Week 5 – 고급 Height-Blend 기능 완성

  • Material Attribute 이해 및 구현하기
  • layer 상호간의 침투 효과 구현 및 효과의 뛰어남 확인
  • Material Expression Output 이해하기 및 구현하기

 

Week 6 – 물 웅덩이 표현 및 실제 예제를 통하여 엔진 내부 수정 이해하기

  • 완성된 Height-Blend에 실사적이면서 사용하기 편리한 물 웅덩이 레이어 구현하기. 물과 주위의 젖은 표면의 자동적인 추가 표현 구현하기
  • 엔진 내부 코드 수정이 무엇인지, 그로 인해 책임져야할 것에 대해 이해하기
  • 강사만의 엔진 수정 규칙에 대해 이해하고 그 방식으로 엔진 수정해 나가기
  • 이 지식을 사용하여, 엔진 코드를 직접 수정하여 Landscape의 Painting Tool의 버그 고쳐 보기
  • Visual Studio에서 언리얼 엔진 디버깅하는 방법 배우고, 이를 사용하여 Landscape의 Layer Preview 관련 버그 확인 및 수정하기

 

Week 7 – 캐릭터 전용 라이팅 (Facade Lighting) 기반 만들기

  • 캐릭터 전용 라이팅 (Facade Lighting)기능이 왜 필요하고, 왜 이를 엔진 수정을 통해서 구현하는지 이해하기
  • Facade Mask 추가 및 이를 위해 UHT 수정하기
  • Game Thread와 Renderer Thread이해하고, Engine쪽 데이터를 Renderer 데이터로 이동하는 방법 배우고 구현하기
  • Deferred Rendering에 대해 간략히 배우고, 관련 C++코드와 Shader 코드 이해하기
  • C++데이터를 Shader로 가져오는 방법 배우고, Primitive Data 이해하기.
  • 이 지식을 사용하여 Facade Mask가 칠해진 primitive는 Base Color를 정해진 단색으로 바꿔치기 하는 기능 구현하기

 

Week 8 – Facade Lighting 기능 완성

  • LightPass shader코드를 변경해 보기
  • 새로운 Shader 구현하는 방법을 배우고 C++과 Shader코드를 어떻게 연동시키는지 배우기
  • 이 지식을 사용하여 원래의 Light Pass 후에 새로운 Facade Light Pass 추가하여 Facade Lighting의 정식 효과 완성
  • 이 기능의 중요한 파라미터를 추가 및 동작 구현하기: Color, Intensive, Direction, Suppress
  • 이후 확장 기능으로 파라미터의 PostProcessVolume화 및 반투명 객체 지원에 대해 개략적으로 살펴보기

수업 진행 현황

에센스
[발차기]언리얼코딩 – 노동진 에센스 1주차 01:15:00
[발차기]언리얼코딩 – 노동진 에센스 2주차 02:26:00
[발차기]언리얼코딩 – 노동진 에센스 3주차 01:34:00
어드밴스
[발차기] Unreal coding – 노동진 어드밴스 1주차 02:38:00
[발차기] Unreal coding – 노동진 어드밴스 2주차 02:23:00
[발차기] Unreal coding – 노동진 어드밴스 3주차 03:21:00
[발차기] Unreal coding- 노동진 어드밴스 4주차 02:41:00
[발차기] Unreal Coding – 노동진 어드밴스 5주차 02:51:00
[발차기] Unreal Coding – 노동진 어드밴스 6주차 02:48:00
[발차기] Unreal Coding – 노동진 어드밴스 7주차 02:26:00
[발차기] Unreal coding- 노동진 어드밴스 8주차 03:12:00

단톡방입장 & 수업입장

어드밴스 보러가기

어드밴스 신청하기

게시판

수업 리뷰

5

5
2 ratings
  • 5 stars2
  • 4 stars0
  • 3 stars0
  • 2 stars0
  • 1 stars0
  1. 공부는 하고 싶은데 뭘 어떻게 해야할지 모르는분들에게~

    5

    언리얼의 머트리얼 에디터로만 작업을 해왔습니다. 이 강의에서는 언리얼 내부코드와 함께 진행을 해주셔서, 언리얼 머트리얼 관련해서 더 깊게 들어가고 싶은분에게는 정말 좋은 강의입니다. 수업 커리큘럼 특성상 개인마다 차이는 있겠지만(저는 여러번 돌려봐야…..), 공부는 하고 싶은데 뭘 어떻게 해야할지 모르는분들에게는 좋은 가이드가 될 것입니다.

  2. 공부는 하고 싶은데 뭘 어떻게 해야할지 모르는분들에게~

    5

    언리얼에 대해 좀 더 깊게 알고 싶은 분들에게 좋은 가이드 라인이 됩니다. 뒤로 갈수록 프로그램쪽 비중이 높아지지만 그만큼 매력이 있는 강의입니다.

44명의 학생이 수강함
© 2018 Balchagi. All Rights Reserved.