본문 바로가기
Unity5 Light Setting : 유니티5 라이트 셋팅 그럼 다시 처음으로 돌아가죠. 일단 Standard Shader로 바꾸고, Reflection을 SkyBox로 켜죠. 확실히 잘 보입니다. 이 반사가 잘 보이려면, Standard Material의 Metalic 수치를 올려주면 잘 볼수 있습니다. 메탈은 그림자가 지지 않으며, 주변을 full로 반사하는 속성을 지녔으니까요. Metal 수치를 올리자 그림자가 없어졌습니다. 원래 실제 세상의 Metal 재질도 그림자가 없으니까요. 그리고 주변을 제대로 반사...??? 응? 그렇습니다. 지금 이 오브젝트들은 주변 물체를 반사하진 못합니다. 오직 Skybox만 반사할 뿐입니다. 그래서 여기에 주변 반사를 추가해 주기 위해 Reflection Probe를 추가로 넣어 줘야 하는 것입니다. 즉 지금 현재는 Sky.. 2015. 4. 1.
Unity5 Light Sertting : 유니티5 라이트 셋팅 유니티 5의 라이트 옵션입니다. 우선 빈 씬에 plane과 공을 하나 만들죠. 새로 바뀐 PBR 시스템입니다. 기본적으로 PBR (PBS)는 '세상 모든것은 주변을 반사한다' 라는 개념아래 만들어져 있지요. 거기에 IBL (Image Based Light) 시스템 두 개가 가동되어 있습니다. 유니티 4에서 있던 아무 생각 없던 엠비언트 칼라와는 차원이 다르죠. 뭐 , 언리얼4에서는 이미 적용되어 있던 놈이긴 합니다만... 뭐 어쨌건 그래서 .. 라이팅은 옵션이 여기 다 몰아 있습니다. 유니티 베타때는 옛날 위치에 있었는데 여기로 바뀌어서 한참 찾았네요 ㅎㅎ 그럼 라이팅 메뉴가 나오죠. 아직 라이트맵에 대해서는 말하지 않... 아니 이미 다른 게시물에서 말했군요. 하여간 이것만 보죠 ㅎㅎ 많이 복잡해졌습니.. 2015. 3. 31.
Unity 5 Realtime GI http://www.shadowood.uk/Store/Store/ KEEP 2015. 3. 25.
Unity5 PBS로 작업하기 PBS의 텍스쳐 시스템은 크게 메탈릭이냐와 비 메탈릭이냐로 나뉩니다. http://ozlael.egloos.com/4071257#2324332 "스페큘러 워크플로우에서는 반사광의 스페큘러 색상을 직접 선택 할 수 있습니다. 반면 메탈릭 워크플로우에서는 재질이 조명될 때 메탈처럼 작동할 것인지에 대한 선택을 할 수 있습니다. 두 워크플로우 모두 최종적으로는 동일한 결과를 만들어 낼 수 있습니다. 따라서 작업 진행을 스페큘러 워크플로우로 할 것인지 메탈릭 워크 플로우로 할 것인지는 순전히 작업자의 기호에 맞추어 선택하면 됩니다. " 출처:물리 기반 셰이딩으로 작업하기 #1 " 유니티5의 스탠다드 셰이더는 스페큘러 컬러와 메탈릭 워크플로우 둘 다 제공하고 있습니다. 둘 모두 표면에 반사하는 색을 정의하고 있습.. 2015. 3. 11.
유니티 Aras님 블로그 http://aras-p.info/texts/talks.html 자료가 많다 !!! 개발자의 자료!!! 유니티 5의 그래픽 http://aras-p.info/texts/files/201503-GDC_Unity5_Graphics.pdf 물리 기반 쉐이딩 http://aras-p.info/texts/files/201403-GDC_UnityPhysicallyBasedShading.pdf 2015. 3. 10.
유니티 5.0 라이트맵 기본적으로 유니티 5.0의 라이트맵은 Lighting에 통합되었습니다 GI 가 가동됨에 따라 엠비언트 라이트에 큰 변화가 있었는데요. 어찌보면 당연하겠네요 아직 공식 메뉴얼이 나오지 않아서 확실하게 알기는 힘들지만, 짐작컨데 기존 데이터의 작업 방법을 유지하면서 실시간 Global illumination 을 추가한 것을 알 수 있습니다. 일단, standard shader에서 커넬 박스를 만들어 테스트 해 봅니다 static으로 만들기만 하면 실시간 GI가 가동되기 때문에, 모든 옵션을 꺼 봤습니다. 옵션을 끄니까 원래 유니티 모습이 보이는군요. 예전 4.x대의 모습 말입니다. 간접 조명을 보고 싶으니까 직접 조명은 꺼 보겠습니다. 직접 조명을 끄자 , 엠비언트 라이트만 보입니다. 이제 여기에는 라이트가.. 2015. 3. 10.
유니티5의 하늘 Unity5 Sky Lighting 일단 스카이는 유니티 5 베타때 써봤던 그대로입니다. 프로시져로 생성된 하늘이 있고, 예전에는 없던 디렉셔널 라이트 하나가 들어가 있습니다. 그리고 그 라이트 각도에 맞춰서 태양이 있습니다. 디렉셔널 라이트 각도를 돌리면 태양이 맞춰 움직이며, 태양의 각도에 따라 (시간대에 따라) 하늘의 색이 변합니다. 이것은 마치 맨탈레이 sky 같은 느낌인데, PBS를 위해서는 반사해야할 객체가 있어야 하니 당연한 듯 합니다. 물론 저 라이트를 지운다고 이상해지진 않습니다. 애매한 시간대의 하늘이 되고, 태양이 없어진다는 것 뿐 ㅎ 다시 디렉셔널 라이트를 만들면 태양과 시간이 연동됩니다. 스카이박스에 대한 것은 윈도우 / 라이팅 창을 열면 볼 수 있습니다. 기본적으로 스카이박스 메터리얼이 적용되어 있지만, 수정할 수.. 2015. 3. 6.
Global Illumination Quickstart (발번역 버전) 유니티5 글로벌 일루미네이션 거의 퇴고도 없는 순간 번역 수준이라 번역기 보다 조금 나은 레벨일겁니다 -_- Unity now uses Enlighten real-time global illumination (GI) technology. 유니티는 이제 인라이튼이라고 하는 리얼타임 글로벌 일루미네이션 기술을 사용합니다. Enlighten by Geomerics is the industry’s most advanced dynamic lighting technology. 물체의 인라이튼은 업계의 최고 발전된 기술이죠 It is the only product with proven ability to deliver real-time global illumination on today’s and tomorrow’s consoles and ga.. 2015. 3. 6.
유니티5 GI Cache 지우기 GI 메뉴얼에 GI캐쉬 지우기를 수동으로 해야 한다는 말이 있던데, 어디 있나 했더니 Preperence에 있었습니다. 설정은 기본적으로 10GB로 되어 있군요,. 어디다 써야 하는걸까... 싶긴 한데 캐쉬이니까... 아마도 라이트맵 버전관리 문제가 아닐까 예상합니다. 라이트맵이 실시간으로 구워지면서 나오는 캐쉬들이니 버전관리 아니면 그냥 쓰레기겠.... 지요? 추후 정체를 알아봐야겠습니다. 하드 용량이 뭔가로 많이 차기 시작하면 지워야 겠지요 2015. 3. 6.
유니티 LOD 사용법 뭐 흔히 아시다시피 LOD는 Level of Detail의 약자로.. 거리에 따라 오브젝트의 정밀도를 조절해 주는 마법 ..... .... 이라 쓰고 노가다라 읽는다 ..... 의 기술입니다. 유니티에서도 간단하게 처리할 수 있는데요. 간단한데 막 노가다 일단 물체가 있다 칩시다. 주전자네요. 콜수는 4 . 5800개의 버텍스네요. 버텍스 버퍼는 20 , 비디오 메모리는 12정도 이제 LOD 오브젝트를 준비합시다. 2개라도 좋고 1개라도 좋아요. 저는 2개를 준비해 봤습니다. 미들폴리곤과 로우 폴리곤 버전을요. 아 물론 위 사진처럼 놔두면 안됩니다. 위치정보도 필요하니까 같은 자리에 놓아야 해요. 같은 자리에 놓았습니다. 드로우콜은 당연히 늘어났네요. 12쯤 나와야 하는데 8이 나온게 이상한 정도? 버텍.. 2015. 2. 16.
유니티(Unity) 의 뷰 프러스텀 (View frustum)컬링 카메라에는 보이는 영역, 원뿔 .. 은 아니고 사각뿔 영역이 있습니다. 이 영역을 View frustom 뷰 프러스텀 이라고 하고, 이 영역 안에 있으면 화면에 보이는 걸로 치고 렌더링합니다. http://en.wikipedia.org/wiki/Viewing_frustum 네 뭐 좋습니다. 안보이면 안그리고 딱 좋지요. 보이면 그리는 겁니다. 하지만 이따만한 오브젝트가 있을 때, (2만 폴리곤이군요) 그 와중에 화면에 요따시만큼만 보일 때, 어떻게 될까요? 우선, 이 오브젝트는 보이는 건가요? 안보이는 건가요? ... 네 보이는 겁니다. 큰 오브젝트의 폴리곤 하나라도 보이면 이 오브젝트는 '보이는 겁니다' CPU는 매 프레임마다 이 화면에 어떤 오브젝트가 있는지를 검사하고 있습니다. '일' 을 하고 있는.. 2015. 2. 6.
UNITY_INITIALIZE_OUTPUT( ) UNITY_INITIALIZE_OUTPUT(type,name) 함수 HLSLSupport.cginc 에 정의되어 있는 함수. #if defined(UNITY_COMPILER_HLSL) #define UNITY_INITIALIZE_OUTPUT(type,name) name = (type)0; #else #define UNITY_INITIALIZE_OUTPUT(type,name) #endif HLSL 컴파일러가 왔을때에야 작동하는 함수. So, it does nothing unless the HLSL compiler is compiling. In that case it sets its value to a typecasted zero. That way the compiler won't complain about.. 2015. 1. 25.
반응형