인프런 커뮤니티 질문&답변

유영재님의 프로필 이미지

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

결론

안녕하세요 선생님 다음 강의인 dx12 x 게임수학 에 관하여 && 쉐이더에 관하여 질문 드리겠습니다.

21.02.18 00:46 작성

·

527

0

그래픽스 프로그래밍 즉, 쉐이더라는 것은 어렴풋이 감은 오겠는데, 정확히 우리가 무엇을 하는 것인지 여쭙습니다.

선생님 께서는 클라이언트 프로그래머 + 서버 프로그래머 지망생들을 위한 강의를 하시는데

질문 1 ) TA라는 직군이 있잖습니까?

그래픽스는 언리얼로 따지면 텍스쳐 이미지를 통해서

머터리얼을 만드는 작업이라고 보면 될텐데,

왜 굳이 TA라는 직군이 있는데도 불구하고 

우리가 이것마져도 알아야 하는지 궁금합니다.

언리얼 컨텐츠 플머 라고 한다면 우리는 그래픽스 지식을

가지고 무엇을 하게 되는 건가요? 때에 따라서 머터리얼

제작하는 것으로 투입이 되나요?

질문 2) 구글을 뒤지다가

유니티는 쉐이더 코드를 코딩으로 할 수 있는 걸로 알고 있습니다. 블로그도 있고,

그런데 언리얼은 어디에도 쉐이더 코드를 만지는 곳이 없습니다. 머터리얼로 그냥 선 잇고 조합해서 만지는 것 밖에 없습니다

왜 유니티는 비쥬얼 스튜디오로 쉐이더 코드를 손 볼 때가 있고

언리얼은 아예 막혀있는지 그래서 머터리얼로 작업을 해야하는지 궁금합니다.

질문 3) 그래픽스 지식이 최적화와 관련이 있나요?

관련이 있다면 이 다음 수업에서도 다루어 주시나요??

최적화최적화 그러는데 언리얼 최적화를 검색하면

뭐 툴을 이용해서 값 조절하고 그러는 것밖에없는데

언리얼 엔진 유튜브 에서 강연하는 것도 있기는 한데

그것도 언리얼 툴을 통해서 어느 부분이 성능을 더 잡아먹는지

확인하는 것 같은데 프로파일링인가?

아무튼 그래픽스 -> 최적화가 관련이 있다면 이 부분도 

다루어 주시는 지

궁극적인 질문) TA라는 직군이 있는데 클라가   그래픽스 지식을 익혀서 어디서 써먹는지 궁금합니다. 

 

답변 3

7

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2021. 02. 18. 01:54

사실 분량을 딱히 기획해서 만들거나 하진 않습니다.
먼저 구할 수 있는 온갖 강의와 미국, 일본, 중국쪽 서적들이 있으면
먼저 다 구매해서 훑어보고 R&D를 한 다음에
그 중에서 괜찮다 판단되는 내용들을 위주로 커리큘럼을 잡아서 처음부터 쌓아 올립니다.
아무튼 지금 대략적으로 강의 진행률은 50% 정도이고
현재 진행 상황대로 간다면 최종 분량은 30~40시간 사이에서 끝날 것 같습니다.

5

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2021. 02. 18. 01:05

질문 1 ) TA라는 직군이 있잖습니까?

그래픽스는 언리얼로 따지면 텍스쳐 이미지를 통해서
머터리얼을 만드는 작업이라고 보면 될텐데,
왜 굳이 TA라는 직군이 있는데도 불구하고 
우리가 이것마져도 알아야 하는지 궁금합니다.

-> 답은 간단한데 프로그래머의 미적 감각으로는 뭘해도 이쁘게 나오지 않기 때문입니다. 주르륵..

언리얼 컨텐츠 플머 라고 한다면 우리는 그래픽스 지식을
가지고 무엇을 하게 되는 건가요? 때에 따라서 머터리얼
제작하는 것으로 투입이 되나요?

-> Material 제작은 보통 아트팀이나 TA 직군이 맡게 됩니다

질문 2) 구글을 뒤지다가

유니티는 쉐이더 코드를 코딩으로 할 수 있는 걸로 알고 있습니다. 블로그도 있고,
그런데 언리얼은 어디에도 쉐이더 코드를 만지는 곳이 없습니다.
머터리얼로 그냥 선 잇고 조합해서 만지는 것 밖에 없습니다
왜 유니티는 비쥬얼 스튜디오로 쉐이더 코드를 손 볼 때가 있고
언리얼은 아예 막혀있는지 그래서 머터리얼로 작업을 해야하는지 궁금합니다.

-> 언리얼도 당연히 HLSL로 쉐이더 프로그래밍을 할 수 있습니다.
다만 그걸 더 간편하게 드래그 드롭으로 손쉽게 만든게 
Material 툴인데
굳이 프로그래머가 아닌 직군들이 직관적인 툴을 놔두고

쉐이더 작업을 할 필요가 없을뿐이죠.

질문 3) 그래픽스 지식이 최적화와 관련이 있나요?
관련이 있다면 이 다음 수업에서도 다루어 주시나요??
최적화 최적화 그러는데 언리얼 최적화를 검색하면
뭐 툴을 이용해서 값 조절하고 그러는 것밖에없는데
언리얼 엔진 유튜브 에서 강연하는 것도 있기는 한데
그것도 언리얼 툴을 통해서 어느 부분이 성능을 더 잡아먹는지
확인하는 것 같은데 프로파일링인가?
궁극적인 질문) TA라는 직군이 있는데 클라가   그래픽스 지식을 익혀서 어디서 써먹는지 궁금합니다. 

-> 물론 관련이 있습니다.
우선 그래픽스 지식이 있으면, 엔진 공부를 따로 하지 않아도
엔진에서 [이런 이런 기능을 제공할 것이다~]라는 것을 감으로 예측할 수 있게 됩니다.
사실 그래픽스 공부 자체가, 자신만의 게임 엔진을 만드는 과정이라고 볼 수도 있습니다.
아무튼 유니티나 언리얼이나 최적화의 기본은 드로우콜 관리인데 
Material을 신나게 바꿔주면 왜 드로우콜에서 문제가 생길까? 인스턴싱이 뭐지?
와 같은 질문에 대해 공식처럼 외우는게 아니라 원리를 이해하고 해결할 수 있게 됩니다.
그리고 클라 프레임이 안 나올 때 기본적인 해결책도 제시할 능력도 생기게 되겠죠.

TA는 기본적으로 쉐이더를 아트의 갬성을 담아
이쁘게 꾸미는 프로그래머+아트의 중간 역할을 담당하는 것이지,
엔진 자체를 완벽하게 이해하는 직군이 아닙니다.

그리고 클라 개발자로 시작을 하더라도
연차가 쌓이면 엔진으로 넘어가는 경우가 많습니다.
그래픽스 지식이 하나도 없는 클라 개발자라면,
슬프지만 그냥 상용 엔진에서 제공하는 기능들에만 의존적으로 묶이거나
더 암담하게는 평생 UI 노가다 작업만 하다가 끝날 수도 있습니다.

따라서 아무리 클라 개발자라도 '딱' 그것만 하면 안 되고
서버를 대략적으로 이해해서 클라+서버를 병행하는 컨텐츠 제작 전문가가 되거나,
그래픽스 이해도를 바탕으로 클라+엔진을 병행하는 프로그래머가 되는 것을 추천드립니다.
어차피 UI 연동 노가다는 1년차나 10년차나 별다른 차이도 없습니다...
참고로 제 경험상 규모가 있는 회사의 클라 프로그래머들은
대부분 그래픽스에 대한 기본 지식을 갖고 있습니다.

0

유영재님의 프로필 이미지
유영재
질문자

2021. 02. 18. 01:49

매번 친절한 답변 주셔서 감사합니다. 

정말 마지막으로 여쭙겠습니다. dx 12 + 게임수학 강의 몇시간 분량정도로 기획하셨는지 여쭤봅니다.