목록전체 글 (27)
이것저것

오늘 포스팅에서는 Custom Light와 Half Lambert 그리고 Rim Light에 대해서 다룰 예정이다. 벡터의 내적 연산 벡터는 기본적으로 float3을 가지고 있는데 내적 연산으로 더하면 각도를 숫자로 나타내 float3 A와 B를 dot 하면 float1이 나오게 된다. dot은 코사인 그래프와 연관이 있다. 코사인 값이 0도일 때는 1, 90도일 때는 0 180도 일 때는 -1 인 것을 알 수 있는데, 이것을 알고 있으면 라이트 벡터와 노말 벡터의 연산을 알 수 있게 된다. Lambert 기본 셰이더 코드 셰이더 기초 포스팅 때 기본 코드가 있던 것처럼 라이팅에서도 기본적으로 베이스로 둘 코드를 소개하겠다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18..

이번장에서는 라이팅 이론에 대해서 다룰 예정이며 유니티를 가지고 작성된다. 간단한 용어 정리 Ambient Light 간정광에 의한 난반사 Diffuse Light 직접광에 의한 난반사 Specular Light 정반사 Digital Light의 기본 개념 현실을 '흉내 내는' 3가지의 라이트가 있다. 포인트 라이트 ( Point Light 혹은 Omni Light ) 점(Point) 모양의 광원으로 사방으로 뻗어 나가는 특성이 있기 때문에 둥근 모양의 라이트가 필요한 곳이나 특정 범위에 둥글게 라이트가 필요할 때 많이 사용된다. 디렉셔널 라이트보다 무겁기 때문에 성능에 신경을 쓰면서 작업해야 한다. 스팟 라이트 ( Spot Light ) 특정 부분을 강조하고 싶을 때 사용하면 좋다. 스팟 라이트 역시나..

저번 포스팅에서는 Time 변수와 UV Animation, UV 채널 그리고 불 이펙트 만들어 보기 등을 실습하였다. 이번 포스팅에서 다룰 내용으로는 버텍스 컬러(Vertex Color)를 배우고 실습해 보겠다. ⊙ 버텍스 컬러 (Vertex Color) 버텍스 컬러(Vertex Color)가 무엇? 말 그대로 버텍스에다가 직접 색을 칠하는 것이다. 예를 들어 빨간색과 초록색으로 면에 칠해놓고 각 색 영역에 맵핑들을 넣을 수 있다. 보통은 모델링 프로그램에서 사용하는 것인데, 엔진에서도 사용이 가능하다. 그중에서 엔진으로부터 사용 가능한 정보들이 5가지가 존재하는데 위치, UV, 컬러, 노멀, 탄젠트 이다. 유니티에서 버텍스 컬러(Vertex Color) 유니티에서는 버텍스 컬러 페인팅 기능을 기본적으로..

저번 포스팅에서 간단하게 UV를 제어해보고 lerp함수에 대해 알아보았다. 그리고 UV는 UV coordinate 혹은 texcoord라는것을 다시한번 기억하자! ⊙ UV Animation UV제어를 응용하여 움직이게 하고 물 혹은 불 이펙트 처럼 쉐이더를 만들어 보겠다. UV애니메이션을 사용하기 위해서는 유니티에서 제공해주는 몇가지 내장변수를 알아야 한다. 제공해주는 변수에는 여러 기능들이 제공되지만 그중에서 오늘은 TIME에 대한 기능을 알아본다. 그냥 봐서는 무엇인지 모를수 있다. 쉽게 생각해서 아래와 같은 상태라고 볼수있다. _Time.y 를 사용하여 현재시간을 사용자 마음대로 조절할수 있다. _Time.y * _CustomTime 를 만들고 _CustomTime 변수를 인터페이스에 만들어 사용자..

저번장에서 유니티 셰이더를 다루기위해 기본적으로 세팅해야 할것들과 몇가지 코드를 지우거나 추가해 보았다. 이번장에서는 텍스쳐와 UV 그리고 lerp함수를 알아보려고 한다. 시작하기 앞서 코드에서 텍스쳐 한장을 띄우기위한 정말 필수적인 코드들만 남겨보자. 모두 지우고 나면... 코드만 봐도 벌써부터 마음 한구석이 많이 편안해졌다. 저장하고 실행하여 결과를 확인해보자. 텍스쳐 한장만 들어가고 다른 기능은 없는 셰이더가 완성 되었다. 앞으로 이상태를 기본상태라고 생각하고 작업하면 될것이다. 25번줄에 Albedo 대신 Emission을 사용하여 확인해도 무관하다. 저번에 삭제한 코드들과 다르게 이번엔 LOD, fullforwardshadows, #Pragma target 3.0, UNITY_INSTANCING..