전체 글510 [서평] 부자의 그릇 가볍게 읽기 적합한 책이다. 책 첫장의 내용처럼 은퇴가 비단 운동선수에게만 적용되는 것인지 직장인은 과연 다른 처지인지 생각해볼 필요가 있다고 느낀다. 이것이 돈에 대한 관점이 바로서야하는 첫째 이유가 아닌가싶다. 하지만 내 취향의 책은 아니긴 하다. 메모 2023. 8. 10. [Unity/Shader] 파트11-1 : 커스텀 라이트 코드 Shader "Custom/NewSurfaceShader 1" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM #pragma surface surf Test noambient // 원하는 이름 짓기, 엠비언트 라이트 영향 제거 #pragma target 3.0 sampler2D _MainTex; struct Input { float2 uv_MainTex; }; UNITY_INSTANCING_BUFFER_START(Props) // put more per-instance properties here UNITY_INSTANCING_BUF.. 2023. 8. 9. [Unity/Shader] 파트10-7 : 벡터 연산을 이용한 라이팅 연산 * 유의할 부분만 추려 필기하였다. 유니티에서는 조명 벡터가 뒤집힌 채로 받아져온다. -를 붙여 뒤집지 않아도 된다. 조명 벡터와 노말 벡터를 내적하면 Lambert 라이팅이 된다. 2023. 8. 9. [Unity/Shader] 파트10-6 : 벡터의 연산 * 벡터의 연산 중, 리마인드할 부분만 추려 필기하였다. 벡터의 덧셈 길이가 같은 두 벡터를 더하면 두 벡터 사이의 절반인 각도가 나온다. 이를 정규화하면 쉽게 절반인 각도의 방향벡터를 얻을 수 있다. 벡터의 내적 내적의 값은 단위벡터일때, cos 값과 같다. 2023. 8. 9. [Unity/Shader] 파트10-5 : 노말 벡터 - 노말은 버텍스가 가진다. 밝기 연산은 버텍스에서 한다. 계산한 밝기 값을 버텍스에서 보간해서 표현한다. - 각진 물체의 표현 하드 엣지를 표현하려면 한 버텍스에 노말이 3개 혹은 4개가 있어야한다. 버텍스 하나당 노말은 하나 밖에 가지지 못한다. 그래서 버텍스를 복사해서 같은 자리에 추가해서 표현하는 방법 밖에 없다. 따라서, 하드 엣지를 표현하려면 버텍스의 양이 더 늘어난다. 2023. 8. 9. [Unity/Shader] 파트9-3 : Blinn-Phong 라이팅 퐁 공식을 블린이 개량한 것이다. Specular를 가볍게 표현할 수 있는 공식이다. - 예외사항 _SpecColor라는 프로퍼티가 있다. 코드 안에서는 이 _SpecColor 프로퍼티 값을 받는 변수가 없어야한다. 있으면 오류가 난다. 따라서 _SpecColor는 예약어이다. 코드 내부에서 절대 받아선 안된다. - 구조체 멤버 Gloss는 0~1 사이의 값이다. Specular의 강도이다. Specular는 0~1사이의 값이다. Specular의 크기이다. 0 이면 커진다. 1이면 작아진다. Emission, Normal도 사용 가능하다. 코드 Shader "Custom/NewSurfaceShader 1" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white".. 2023. 8. 9. [Unity/Shader] 파트9-2 : Lambert 라이팅 매우 전통적이고 가벼운 라이팅 공식이다. 코드 Shader "Custom/NewSurfaceShader 1" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM // Physically based Standard lighting model, and enable shadows on all light types #pragma surface surf Lambert // * 여기를 Lambert로 바꿨다. // Use shader model 3.0 target, to get nicer looking lighting #pragma target 3.0 .. 2023. 8. 9. [Unity/Shader] 파트9-1 : 유니티에 내장된 라이팅 구조 라이팅 구조는 총 3가지이다. Lambert - Specular 공식이 없다. - SurfaceOutput 구조체를 사용한다. Blinn Phong - Specular 공식이 있다. 그 중 블린 퐁 공식을 사용한다. - SurfaceOutput 구조체를 사용한다. Standard - PBS (물리 기반 쉐이더, Physically Based Shader)이다. - 주변 환경 반사해 Specular 구현한다. - Diffuse와 Specular가 에너지 보존 법칙을 따른다. - SurfaceOutputStandard 구조체 또는 SurfaceOutputStandardSpecular 구조체를 사용한다. (단지 Specular 색상을 임의로 결정한다는 점만 차이가 있다.) 2023. 8. 9. [Unity/Shader] 파트8-5 : 멀티 텍스쳐링 (버텍스 컬러 적용) 버텍스 컬러를 이용해 여러 텍스쳐를 혼합한다. 그냥 lerp한 것이다. 코드 Shader "Custom/part8-5" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _MainTex2 ("Albedo (RGB)", 2D) = "white" {} _MainTex3 ("Albedo (RGB)", 2D) = "white" {} _MainTex4 ("Albedo (RGB)", 2D) = "white" {} _BumpMap ("Normalmap", 2D) = "bump" {} _Metallic ("Metallic", range(0,1)) = 0.5 _Smoothness ("Smoothness", range(0,1)) = 0.5 } SubShader { Ta.. 2023. 8. 9. 이전 1 ··· 41 42 43 44 45 46 47 ··· 57 다음