본문 바로가기
유니티5의 Occlusion은 어떻게 따로 연산되는가? Occlusion 연구 오즈라엘이 내 질문에는 답 안해주면서 나보고는 질문하길래 만들어본 답변입니다. 오즈라엘이 내 질문에는 답 안해주면서 오즈라엘이 내 질문에는 답 안해주면서 오즈라엘이 내 질문에는 답 안해주면서 오즈라엘이 내 질문에는 답 안해주면서 오즈라엘이 내 질문에는 답 안해주면서 일단 유니티 PBS 강의에 보면, "Albedo는 Diffuse에서 Occlusion을 뺀 것" 이라는 말이 나옵니다. 그리고 따로 Occlusion을 집어 넣지요. 그러면 Occlusion은 어떻게 가동되게 되어 있는지 봅시다. 그냥 Albedo * Occlusion으로 계산되면, 사실 뺄 이유가 없잖아요? 뭔가 다르게 계산되니까 빠진거겠죠. 그래서 일단 커스텀 라이팅으로 Standard Metallic Shader를.. 2015. 6. 29.
Custom Standard Shader에서 Occlusion Texture 사용할때 안 나타나는 문제 강의용으로 Custom Shader를 만지고 있는데 이게 은근히 바뀐게 많아서 고생중입니다. 하나씩 해결중... 블렌딩 구문도 처리 방식이 변해서 변칙방법 찾느라고 고생했구요. 그거랑 또 고생중인게 있는데 Occlusion... 이게 아무리 해도 안들어가서 고생하다가 이유를 찾았습니다. 분명히 Albedo에 넣으면 잘 나오는게 Occlusion에 넣으면 안나와서 한참 고생중.... 이름문제인가? 레지스터 할당 문제인가??? 아니 3.0에서 이것밖에 못 쓸리가 없잖아.. 아직 8장도 안되었는데... 찾은 답은 이거였습니다. Occlusion은 그 특성상 다른 UV와 같은 것이 일반적이죠. 그래서인지, Occlusion용으로 따로 UV를 받아서 쓰면 출력이 안되지 뭡니까... Occulsion에 사용하려면 .. 2015. 6. 29.
유니티5 실시간 GI 이상현상 연구 : Unity5 Realtime GI 학생작품에서 리얼타임 GI 렌더링만으로 이런 결과물이 나오는 문제가 발생했습니다. 일단 느낌적인 느낌으로는 GI 렌더링 시에 서로 클러스터가 멀리 떨어지면서 나오는 문제라던가.. 하여간 클러스터의 연관관계가 끊어진 느낌의 결과물이었습니다. Baked는 하지 않고 Only 리얼타임 Gi 입니다. 일단 이 팀의 데이터를 보니 심각 ;;;; 전부 한덩어리로 맥스에서 한방에 넘긴 데이터인데다가 저 이상한 찌꺼기들은 뭘까요 실제 오브젝트를 불러봐도 엉망인걸로 봐서 원래 만들때 저렇게 만들었나 봅니다. 나중에 삭제라도 한건가... 설마 저 위치에 있는걸로 인식해서 생긴 문제인가 싶어 생각해 봤는데 그거랑 모양은 좀 다르긴 합니다. 그 문제는 일단 아닌걸로 가정. 게다가 물어보니 이 데이터를 기반으로 대규모 삭제를 .. 2015. 6. 16.
유니티 안드로이드 텍스쳐 포맷 (Unity Android Texture Format) 의 비밀 비밀..이라지만 그렇게 거창하진 않습니다 허허허 그냥 뭐 조금 정리할 필요가 있어서 쓴 것 뿐이지요. 일단 유니티에는 여러 가지 텍스쳐 포맷이 있고, 그것들은 대부분 자동으로 선택이 되곤 합니다. 물론 Advanced로 하게 되면 이렇게 세부적으로 설정이 가능하지만, 이렇게까지 하실 분들은 별로 없겠죠. 게다가 이걸 하나 하나 다 설명하고, 유니티에서 사용되는 자동포맷이랑 연결해서 설명하려면 책으로 한 20페이지는 넘을겁니다 (...) 그러므로 여기서는 요약해서! 안드로이드! 에서만! 자동으로!! 사용하는 포맷에 한정해서 얘기하죠. 아참! ETC2는 빼겠습니다. 자동으로 설정되지도 않고, 아직 범용으로 사용되는 포맷도 아니라서요. 일단 기본적인 것. 다 아시겠지만 ... 유니티 엔진에는 어떤 텍스쳐라도 .. 2015. 6. 5.
Unity Standard Shader 분석 - 일단 기본적으로 Standard Shader는 Uber Shader로 짜여져 있다. - 그래서 중간에 주요 라이팅 함수들이 분기가 된다. 특히 핵심 조명 코드인 BRDF 코드는 3.0 지원버전, 2.0 지원 버전, 모바일 버전으로 3가지로 분기된다 (어, 맞던가? 좀전에 봤는데 기억이 안나..) - 지금 아래는 서피스 쉐이더로 구현하던 것이다. 분기는 없애고 걍 3.0 지원버전으로 ... - 라이팅을 커스텀으로 한 것 뿐이다. - 분석하다가 중간에 정지한 것. 지금 라이팅 구문에서는 light.ndotl이 부분을 찾아야 한다. 일단 결과물만 테스트 해 보게 만든 녀석이다. 이 녀석은 어디 숨어 있는 걸까... - 그래서 지금 결과물 리턴은 NdotL이다. - 하프 렘버트라도 구현하려면 일단 ndotl.. 2015. 5. 28.
Unity 5 standard 2side shader 유니티용 2side Standard Shader 세트 2 side Standard Shader for Unity 5 2side Standard Shader (Specular Setup) for Unity 5 학생들이 자꾸 만들어 달래서 걍 공유. 뭐 힘든거라고 이걸 기본으로 안넣어주는지 모르겠다. 그냥 기본에다가 분기 하나만 넣어주지. 2015. 5. 27.
Hardware GPU Information : GLES3.0 Divice Hardware GPU Information Since the introduction of the original iPhone, Apple has continued to improve the GPU capabilities in new iOS devices. When you write a Metal or OpenGL ES app, you need to understand the specific limits of each device you app runs on. Currently, two distinct GPU categories are in common use: The Apple A7 and A8 GPUs The PowerVR SGX 543 and 554 GPUs Table 2-1 lists the de.. 2015. 5. 21.
UV scroll script using UnityEngine; using System.Collections; public class NxTextureUVScroll : MonoBehaviour { private Vector2 texcoord = Vector2.zero; public int materialIndex = 0; public string textureName = "_MainTex"; public Vector2 UVaniRate = new Vector2(1.0f,1.0f); private Vector2 TexUVScale; void Start(){ TexUVScale = GetComponent ().material.GetTextureScale(textureName); } // Update is called once per f.. 2015. 5. 7.
Unity 5.0 Shader 자료들 struct SurfaceOutput { fixed3 Albedo; fixed3 Normal; fixed3 Emission; half Specular; fixed Gloss; fixed Alpha; }; 은 그냥 존재한다. inline void LightingBlinnPhong_GI ( SurfaceOutput s, UnityGIInput data, inout UnityGI gi) { gi = UnityGlobalIllumination (data, 1.0, s.Gloss, s.Normal, false); } 처럼 GI 연산을 커스텀 라이팅에 포함할 수 있다. 이런 자료는 기본적으로 예전처럼 Lighting.cginc에 내장되어 있다. 그리고 아래는 UnityPBSLighting.cginc에 내장되어 있다.. 2015. 4. 23.
갤3 프레임 테스트 보호되어 있는 글 입니다. 2015. 4. 13.
유니티 물리기반 쉐이딩 http://www.slideshare.net/RenaldasZioma/unite2014-mastering-physically-based-shading-in-unity-5 2015. 4. 10.
유니티5의 라이트맵핑의 비밀 : Realtime GI와 BakedGI 동시에 쓰기 뭐 그럼 이번에야말로. 왜 도대체 처음에는 저놈의 리얼타임 GI와 베이킹 GI가 동시에 켜 있는지 궁금했었죠 ㅋㅋㅋㅋ 아놔 ㅋㅋㅋ 저거 베이킹 GI 꺼도 아무 변화 없잖아!@!! 제기랄!!! 이러면서 ㅋㅋㅋ 맨 처음 시작하면 저 상태에서 Baked GI를 꺼도 아무 변화가 없었다는 거죠. 그래서 처음에는 오해하기 딱 좋습니다. "리얼타임 GI가 켜지면 베이크드 GI는 동작하지 않는구나!!!" 하지만 이건 정확하지 않습니다. 베이크드 GI가 동작하지 않는게 아니라, 지금 설정이 모두 베이크드 GI 뿐이라서 그렇습니다. 그 증거로 Directional Light일때, 리얼타임 GI를 끄면 이상한 데이터가 나옵니다. 이것은 아마도 , 베이크드 GI가 동작했지만 Directional Light는 리얼타임 GI로.. 2015. 4. 5.
반응형