유니티쉐이더스타트업_테크니컬아티스트를위한
판매가 : 35,100
정가 : 39,000
적립금 :1,755
상품상태 :신상품
작가명 :정종필 저자, Pope Kim 감수
레이블 :비엘북스
출시일 :2017-09-25
구매수량 : 품절된 상품입니다
총 금액 :
도 서 위 치

왜? 그래픽 아티스트가 쉐이더를 배워야 하는가?
사실 불과 십여 년 전까지만 해도, 쉐이더라는 그 특유의 프로그래밍스러운 제작방식 때문에 쉐이더가 '프로그래머의 영역' 이라고 말하는 프로그래머와 아티스트들이 적지 않았던 것도 사실입니다. 하지만 근본적으로 말하면 쉐이더의 시작은 '그래픽 아티스트들이 원하는 3D의 질감을 자유롭게 제어하도록 하자'라는 것이 목표였기 때문에, 사실 쉐이더는 그래픽 아티스트의 영역이라고 할 수 있습니다.
그럼에도 불구하고 게임에서 쉐이더가 프로그래머의 영역처럼 여겨졌었던 이유는 당시 실시간 3D 게임에서 처리할 수 있는 쉐이더의 효과가 극히 제한적이다 보니 아티스트가 다루기에는 너무 기술적으로 민감한 영역이 많았었습니다. 그래서 그래픽 아티스트가 어설프게 다루는 것보다 프로그래머가 다루는 것이 훨씬 안정적이고 좋은 결과를 보여줬기 때문이었습니다.
하지만 이제는 시대가 발전하여 게임도 영화에 필적할만한 표현이 가능해졌으며, 어느 정도의 비효율적인 환경에서도 잘 적응하는 하드웨어가 개발되고 있는 시대인 만큼 기술적인 효율성보다는 아티스트의 감성을 보장해주는 시대가 되어가고 있습니다.
멋진 그래픽 쉐이더를 구현하려면 그래픽 아티스트들의 감각이 절대적으로 필요합니다. 그들은 3D 툴의 Material Editor와 같은 쉐이더 에디터를 통해서 오랫동안 비주얼 쉐이더를 연구하며 감각을 키워왔기 때문입니다.
프로그래머가 이해하는 쉐이더와 아티스트가 이해하는 쉐이더는 기본 개념부터 다르지만 결국 두 파트가 함께 공유하며 완성해야 하는 영역입니다. 아트적인 감각과 테크니컬 감각이 잘 조화되면 정말 훌륭한 비주얼이 완성될 것입니다.


진입장벽이 높았던 쉐이더, 이제 아티스트들도 쉽게 도전할 수 있다.
게임그래픽의 쉐이더는 프로그래머가 다룰 수 밖에 없는 영역이었다 보니 기존의 쉐이더 관련 도서들은 각종 수학공식과 코딩들로 구성된 내용이 대부분이었습니다. 더구나 높은 진입장벽 때문인지 쉐이더를 배우고자 했던 아티스트들은 쉽게 접근하기도 어려운 분야였습니다.

이 책은 프로그래밍으로 완성해야 하는 쉐이더의 구현을 아티스트들의 역량으로도 충분히 발휘할 수 있도록 도움을 주는 책입니다. 저자의 오랜 게임그래픽 실무경험과 대학강의에서 쌓아둔 교육 노하우를 토대로, 아티스트들이 어렵게만 느끼고 있던 쉐이더를 쉽고 재미있는 방식으로 접근하여 중급 단계의 쉐이더까지 다룰 수 있는 자신감과 능력을 키워 줄 수 있는 책입니다.
이 책을 보고 나면 그간 몇 번을 시도해도 이해하기 어려웠던 쉐이더에 대해서 한 잔의 사이다를 마신 듯한 가슴이 뻥 뚫리는 청량감을 맛보게 될 것입니다.


문제는 프로그래밍, 어떻게 접근하여 쉐이더의 구현구조를 이해시키는가
쉐이더는 결국 프로그래밍으로 구현되기 때문에 프로그래밍을 이해하고 공부하는 것은 피할 수 없습니다. 그렇다면 어떻게 접근하면 아티스트들이 쉐이더를 쉽게 이해하면서 시작할 수 있을까요.

저자는 좀 더 쉬운 접근과 설명을 위해서 5개의 원칙을 세웠습니다.
= 1. 유니티 및 기타 3D 툴에 대한 기본 설명은 생략합니다.
이 책은 유니티 엔진에서 지원하는 쉐이더를 중점적으로 설명하는 책이므로, 유니티 엔진의 기본 운용방법에 대해서 설명하지 않습니다. 간단한 메터리얼의 생성과 편집, 라이팅 제어 등을 할 수 있고 인터페이스 조작과 유니티 패키지 파일을 다룰 수 있을 정도면 됩니다. 기타 3dsMax나 Maya 등의 3 D툴도 마찬가지입니다.

= 2. 수학 수준은 최대한 낮게 설명합니다(사칙연산만 알면 됩니다)
쉐이더는 수학이 매우 많이 필요한 기술이지만, 이 책에서는 쉐이더의 수학적 접근을 최대한으로 줄여서 수학에 관심이 없던 그래픽 아티스트들도 가벼운 마음으로 접근하기 쉽도록 구성되었습니다. 따라서 컴퓨터의 사칙연산 (+, -, ?(곱하기), /(나누기))나 제곱연산의 수학 능력만으로도 충분하며, 숫자도 거의 0과 1사이에서만 연산합니다. 물론, 중고급 난이도의 쉐이더는 다루지 않습니다.

= 3. 코딩실력이나 컴퓨터 그래픽스에 대한 지식이 부족하더라도 본문의 정독은 필요합니다.
그래픽 아티스트들이 컴퓨터 그래픽스 이론이나 코딩 부분을 최대한 이해하기 쉽도록 집필이 되어 있습니다. 그래서 초반에 필연적으로 알아두어야 할 이론과 기초 부분은 생략할 수 없을 정도로 중요하므로 어렵더라도 반드시 정독하는 것이 좋습니다.

= 4. 책의 구성과 흐름에 맞게 순서대로 진행하는 것이 좋습니다.
그래픽 아티스트가 쉐이더를 이해하기 위한 흐름을 고려하여 목차가 구성되었습니다. 그러므로 앞 부분을 이해하지 않고 넘어가면 뒷부분을 이해하기 어려울 수 있습니다. 가급적 앞 부분을 완벽히 이해하고 예제도 충분히 학습한 후 다음 단계로 넘어가길 바랍니다.

= 5. 감마코렉션을 알아두세요.
자신이 만든 쉐이더가 모니터의 감마값 때문에 정상적인 결과물이 나오지 않을 수 있으니 감마코렉션을 잘 이해하고 있어야 합니다.

=6. 노드 기반의 비주얼 쉐이더는 다루지 않습니다. 
쉐이더 코딩의 기본 개념이 먼저입니다.


아티스트가 기술을 이해하면 놀라운 일이 생깁니다.
'아티스트가 기술을 이해하면 놀라운 일이 생깁니다.'는 그래픽 아티스트 입장에서 바라본 저자의 평소 게임개발에 대한 지론입니다. 아티스트들이 그래픽적인 기능성과 함께 프로그래밍에 관심을 갖는다면 게임개발에 상당한 기여를 할 수 있다는 것입니다. 이제 아티스트들도 그래픽 리소스 제작에서 벗어나서 게임개발에 좀 더 적극적으로 참여할 수 있는 기회를 가져야 할 때입니다.

Part_01. 쉐이더란 무엇인가 
- 쉐이더란 무엇인가 
- 왜 쉐이더를 그래픽 아티스트가 배워야 하는가 

Part_02. 쉐이더를 익히기 위한 기반 지식들 
- 렌더링 파이프라인 
- 모니터에 표현되는 색과 빛의 기본원리 

Part_03. 코딩의 기본/ 유니티 쉐이더 구성 
- 코딩의 기초 
- 유니티 쉐이더의 작성 요령 

Part_04. 기초적인 서피스 쉐이더를 제작해봅시다. 
- 오브젝트에 메터리얼과 쉐이더를 적용해봅시다. 
- 쉐이더 코드를 열어서 이름을 바꿔 봅시다. 
- 쉐이더 Properties를 제작해봅시다. 
- 색상을 출력하고 연산해 봅시다 
- 변수 이용해보기 
- 외부에서 값을 입력받아 출력해보기 
- 좀 더 깔끔하게 지워봅시다!

Part_05. Surface Shader를 이용해 텍스처를 제어해봅시다.
- 텍스쳐 한 장 출력하는 것 외의 부분을 삭제해 봅시다. 
- 텍스쳐의 입력과 출력 
- 이미지를 흑백으로 만들어 봅시다. 
- lerp 함수를 사용해봅시다. 

Part_06. UV를 이용하는 법을 배워봅시다. 
- UV의 기본개념 
- UV를 시각적으로 확인해봅시다. 
- UV에 숫자를 더해봅시다. 
- _Time으로 UV가 흘러가도록 해봅시다. 
- UV를 이용해서 불 이펙트를 만들어봅시다. 
- 좀 더 멋진 방법으로 불을 만들어 봅시다 

Part_07. 버텍스 컬러를 이용해봅시다. 
- 버텍스 컬러를 적용해봅시다. 
- 버텍스 컬러를 출력해봅시다. 
- 버텍스 컬러를 마스킹 기능으로 사용해봅시다. 

Part_08. SurfaceOutputStandard 사용하기 
- 스탠다드 쉐이더 
- 메탈릭(Metallic), 스무스니스(Smoothness) 
- 노멀맵(Normal Map) 
- 오클루젼(Occlusion) 
- 7장의 배경에 기능을 추가해봅시다. 

Part_09. 램버트(Lambert) / 블린 퐁(Blinn Phong) 
- 유니티에 내장된 라이팅 구조 
- 램버트(Lambert) 라이팅 만들기 
- 블린 퐁(Blinn-Phong) 라이팅 만들기 

Part_10. 디지털 라이팅 이론
- 디지털 라이트의 분류
- 디지털 라이트의 원리 
- 벡터 
- 벡터의 특성
- 노멀벡터 
- 벡터의 연산 
- 벡터 연산을 이용한 디지털 조명 연산 

Part_11. 커스텀 라이트 1 _램버트 라이트 
- 커스텀 라이트 기본형 만들기 
- 램버트(Lambert) 라이트 연산만들기 
- 하프램버트(Half Lambert) 라이트 연산만들기 
- 램버트(Lambert) 라이트 완성해보기 

Part_12. 림 라이트 
- 프레넬(Fresnel) 공식을 구현해봅시다. 
- 림 라이트를 완성해봅시다. 
- 홀로그램을 만들어 봅시다. 

Part_13. 커스텀 라이트 2 _블린퐁 스페큘러 
- 블린-퐁 반사 이론 
- 블린-퐁 스페큘러 만들어 보기 
- 글로스 맵으로 스페큘러 강도 조절해보기 
- 림 라이트를 커스텀 라이트로 옮겨 보기 
- 림 라이트를 이용한 가짜 스페큘러 만들기 

Part_14. 커스텀 라이트3 _NPR 렌더링 
- NPR 렌더링이란 
- 외곽선 만들기 이론 
- 2Pass와 면 뒤집기
- 버텍스 쉐이더(Vertex Shader)를 이용한 오브젝트 확장하기 
- 끊어지는 음영만들기 
- Fresnel을 이용해서 외곽선을 만들어 봅시다. 
- Diffuse Warped 기법 
- Diffuse Warped 기법을 응용해봅시다. 

Part_15. 큐브맵 리플렉션(Cubmap Reflection) 
- 큐브맵을 적용해봅시다. 
- 노멀맵이 적용된 큐브맵을 적용해봅시다. 
- 마스크 맵을 이용해서 반사영역을 조절해봅시다. 

Part_16. 알파(Alpha) 
- Z-버퍼(Z Buffer) 
- 반투명 : 알파 블렌드(Alpha Blend) 
- 알파 블렌딩을 만들어봅시다. 
- 알파 소팅(Alpha Sorting)의 문제 
- 알파 테스팅(Alpha Testing) / 컷아웃(Cutout) 

Part_17. 커스텀 제어 알파 블렌딩 
- 커스텀 제어 가능한 알파 블렌딩 
- 블렌드 펙터 연산
- 유니티 내장 파티클 쉐이더와 비슷하게 만들어 봅시다

Part_18. 응용하기
- 2Pass를 이용한 깨끗한 알파 블렌딩 
- 타이밍에 맞게 반짝이는 기능 
- 타들어가며 없어지는 기능 
- 흔들리는 풀 
- 맷캡(Matcap) 
- 굴절 만들기 
- 물 만들기 
- 물에 흔들림을 추가해 봅시다. 
- 물에 굴절을 추가해 봅시다. 
- 트라이플레너(Triplanar) 

Part_19. 부록 및 퍼포먼스 이슈 
- 커스텀 라이팅과 구조체 
- 추가 옵션 파라메터 
- 서피스 쉐이더 인풋 구조 
- #pragma target 
- 데이터 타입 
- 쉐이더 LOD(Shader Level of Detail) 
- Tag 설정
- 프로퍼티스( Properties )의 추가 기능 
- 그 외 일반적인 추가 옵션들 
- 쉐이더 작성시 퍼포먼스 팁
- 기존 쉐이더를 가지고 공부하기

필독! 안내사항
매장에 방문시 재고유무 확인을 하신후에 방문부탁드립니다.(매장에 재고가 없을수도 있습니다.)
라이트노벨의 경우 제목에 [초판]표시가 없는 도서는 재판도서입니다.
초판부록이 있는 만화의 초판의 경우 제목에 [초판]표시가 되어 있습니다.
필독! 주문관련사항
결제방법을 무통장입금으로 선택하셨을 경우 주문일로부터 6일 이내에 입금확인이 되어야만 발송이 됩니다.
무통장입금의 경우 주문시 기입하신 입금정보와 실제 입금정보가 동일해야만 입금확인이 됩니다.
  (1원이라도 다를경우 입금확인이 안됩니다.)
무통장 입금 확인은 입금 후 1시간 ~ 2시간 정도 소요됩니다.
주문상태가 입금확인상태가 안 되었을 때 주문이 취소된 경우 환불에 관한 사항은 코믹존 1:1 문의글이나 고객센터에 문의 바랍니다.
발송주문은 오후중에 택배사로 인계가 완료되오니 주문취소 및 주문정보변경의 경우 오전 11시까지 문의 하셔야 반영이 가능합니다.
적립금은 주문상태가 배송완료가 된 다음 지급됩니다. 
주문의 수령확인 버튼을 클릭하셔도 실제 배송에는 지장이 없습니다.
연락두절로 택배 수령이 안 될 경우엔 반송될 수 있으며, 이럴 경우 반송 택배비와 재발송 택배비 모두 고객부담입니다.
온라인 쇼핑몰에서 구매하신 상품은 매장 방문 수령이 불가능하오니 양해 부탁드립니다.
주문에 예약도서가 포함되어 있는 경우 주문에 포함된 예약도서가 모두 입고가 된 후 일괄 발송됩니다.
시드노벨, 시드북스 L노벨, L북스, SL코믹스와 같은 경우 부록이 겉면에 래핑되어 있습니다. 래핑 제거후 교환/환불이 불가, 부록 누락 사유도서 교환, 부록 재발송 불가합니다. 손상된 부속물교환은 아래의 링크 참고 부탁드립니다.
도서의 초판, 특별판 부록의 누락, 파손문의의 경우 수령일로부터 늦어도 한달 이내로 문의해주셔야 합니다. 
경품 피규어와 같은 경우 저가격에 대량 생산되는 제품군으로 조형사출의 미흡함이나 도색미스(도색삐짐, 도색뭉침, 점 찍힘이나 도색묻음, 스크래치)등으로는 상품 교환, 환불이 불가합니다.
경품 피규어의 부품 누락이나 불량여부 확인은 본포장(비닐포장)을 뜯기전에 꼭 확인하셔야 하며, 개봉시에는 어떠한 경우도 교환, 환불이 불가합니다.
경품 피규어의 단순변심교환은 미개봉 박스 상태에서만 가능합니다.
네이버페이 결제관련 사항
네이버페이로 결제하시는 경우 비회원 주문으로 시스템상 취급되기때문에 적립금은 받으실 수 없습니다.
네이버페이로 결제하시는 경우 주문내역은 고객님의 네이버페이 계정에서 확인가능하십니다.(코믹존 주문내역에서는 확인이 불가능합니다.)
네이버페이로 결제하시는 경우 19세이상 구매가능상품은 주문하실 수 없습니다.
네이버페이로 예약상품을 주문시 발송일정이 다른 상품(예약도서)은 따로 주문하실 수 없습니다.
네이버페이로 각각 따로 주문하셨을 경우 배송정보가 같으면 주문별로 합배송되어 발송됩니다. 
네이버페이로 결제하신 경우 군부대 주소, 사서함 주소의 배송지는 발송되지 않습니다. 이점 양해바랍니다.
발송주문은 오후중에 택배사로 인계가 완료되오니 주문취소 및 주문정보변경의 경우 오전 11시까지 문의 하셔야 반영이 가능합니다.
네이버페이로 결제하신 주문의 수령하셨을 때 파본이신 경우 먼저 저희쪽에 문의 바랍니다.
네이버페이 주문의 교환,반품 등의 문의는 먼저 저희쪽에 문의해주셔야 합니다.
네이버페이로 주문하신 도서를 저희에게 문의없이 보내시는 경우 왕복배송비가 청구됩니다.
배송비 : 기본배송료는 2,200원 입니다. (도서,산간 지역은 배송비가 추가될수있음)  20,000원 이상 구매시 무료배송입니다.
평균 발송일은 3일입니다. [단, 공휴일을 제외한 평일기준]
예약상품을 주문한경우 모든상품이 준비된후 함께 배송됩니다.
상품 청약철회 가능기간은 상품 수령일로 부터 7일 이내 입니다.
상품 비닐제거 또는 개봉으로 상품 가치 훼손 시에는 7일 이내라도 교환 및 반품이 불가능합니다.
일부 특가 상품은 고객 변심에 의한 교환, 반품은 고객께서 배송비를 부담하셔야 합니다(제품의 하자,배송오류는 제외)
일부 상품은 제조원가 변동 등 출판사 및 제조사 사정으로 가격 및 출시일이 변동될 수 있습니다.
사용흔적이 있는 경우에는 교환/반품 기간내라도 교환 및 반품이 불가능 합니다.
수입예약상품은 주문취소시 10%위약금이 발생합니다. 신중한 구매바랍니다.
도서가 파본인 경우 동일 도서로만 교환이 가능합니다.
---