유니티 터레인에서 하이트맵 사용하기 Using heightmap in Unity terrain 일단 하이트맵을 구해야 한다. 여기 사용된 하이트맵은 구글링을 통해 https://www.reddit.com/r/heightmaps https://stepbysketch.files.wordpress.com/2015/07/grandcanyon_height_map.png 에서 구했음을 먼저 밝힌다. 근사한 영국 지도가 있다. 일단 이 이미지를 그레이스케일로 바꿔야 한다. 칼라로 하면 칼라 채널로 저장하기 때문에 나중에 하이트맵에서 인식할 수 없게 된다. 채널을 하나만 가지게 만들기 위해서이다. 그 후 포토샵 Raw 파일로 바꾸어 저장한다. 아참 잊고 말하지 않은게 있다. 사이즈는 512 1024 등의 2의 제곱 숫자를 사용하여야 한다. 유니티에서 터레인을 만든다. 터레인을 선택하고 인스펙터에 있는 터레인 관.. 2016. 2. 8. GGX in Unity 5.3 http://blogs.unity3d.com/2016/01/25/ggx-in-unity-5-3/ 유니티 5.3에서 스페큘러가 GGX 스페큘러로 바뀌었군요. 언리얼에서도 사용되고 있는 녀석이고 좀 더 뭐랄까 파형이 높고 부드러워요. 5.4에서는 IBL도 강화할 생각인가 봅니다. 음 확실히 언리얼을 의식하고 있다는 느낌적인 느낌? 글은 뭐 쉬우니 번역 안합니다. In Unity 5.3 Standard Shader, we have switched to GGX as the BRDF of choice for both analytical lights, such as point/directional light, but also for image based lighting. Furthermore, a complete .. 2016. 2. 8. Light Probe Proxy Volume 라이트 프로브 프록시 볼륨 http://blogs.unity3d.com/2016/02/03/light-probe-proxy-volume-5-4-feature-showcase/ Unity 5.4 has entered beta and a stand out feature is the Light Probe Proxy Volume (LPPV). I just wanted to share with you all what it is, the workflow and some small experiments to show it in action. 유니티 5.4 에는 라이트 프로브 프록시 볼륨이라고 하는게 들어가는군요. (역주: 기존의 라이트 프로브처럼 하나하나 박는 놈이 아니고 볼륨 박스를 넣는 놈 같네요 ..... 좀 더 정밀한 라이트 프로브 연.. 2016. 2. 7. Standard Shader 에서 완전한 블랙 만들기 에... Standard Shader에서 Albedo를 그냥 블랙으로 만들어 버리면... 완전한 블랙은 나오지 않습니다. 이렇게요. 저게 그러니까 주변을 반사하고 있다는 물리 기반 속성 때문인데, 저걸 없애보겠다고 Smoothness 를 0으로 만들어 둔탁한 재질을 만들어도 여전히 주변 반사하는건 그대로라서 어쩔 수 없습니다. 하이라이트는 없어지지만. 완전한 블랙은 아니죠. noambient를 해봐도 마찬가지입니다. 그건 Diffuse 연산이 살아있을때나 쓸모있는거. 그러므로 지금은 리플렉션을 날려야 합니다. 어떻게? 정답은 Window / Lighting 에서 Reflection Soruce를 Custom으로 만들어 버리는 겁니다. 뭐 사실 Albedo를 -10 정도로 낮춰도 검게 나오게는 할 수 있습.. 2016. 1. 18. Making the Post Effect : Blur - X (Post Effect 만들기 기본 : 블러 만들기 장난질 ) 이건 더더욱 별거 아닌 장난질. 블러를 셰이더 처리 안하고 단순히 다운샘플링만으로 처리할 수는 없을까? 라는 장난질입니다. 결과는 뭐. 임시버퍼를 4장이나 만들어 썼는데도 아까 블러보다 못한 결과물이 나왔다는거 ㅎㅎ 3개의 구역으로 나눴는데 매우 간단하죠. RenderTexture downsampling1 = RenderTexture.GetTemporary(source.width/2, source.height/2); RenderTexture downsampling2 = RenderTexture.GetTemporary(source.width/4, source.height/4); RenderTexture downsampling3 = RenderTexture.GetTemporary(source.width/6,.. 2015. 12. 28. Making the Post Effect : Blur - 3 (Post Effect 만들기 기본 : 블러 만들기 3 ) 이제 블러를 세로로 한 번 더 해서 완성해 보죠. 이전의 셰이더도 사실 세로로 블러를 할 수 있도록 준비되어 있었습니다. 이전의 가로 블러 셰이더에서 세로 블러 셰이더를 만들어 줍니다. 위의 저 부분만 바꿔주면 세로 버전의 블러 shader가 되는 것이죠 잇힝 이렇게 하고 나니까 ... 다시 한 번 버퍼 연산이 필요하겠죠? 버퍼 연산은 이렇게 흘러갑니다. 0. 임시버퍼를 생성합니다. 다운샘플링 버퍼와 가로 블러 버퍼. 크기를 줄여서 잡습니다. 1. 다운샘플링 버퍼에다가 소스를 랜더링합니다. 근데 1/n 크기로 잡혀 있으므로 알아서 다운샘플링 됩니다. 2. 가로 블러 버퍼를 생성하고 거기다가 다운샘플링한 버퍼를 넣는데, 가로 블러 셰이더를 적용해서 넣습니다. 3. 가로 블러가 적용된 버퍼를 목적지 버퍼에 .. 2015. 12. 28. Making the Post Effect : Blur - 2 (Post Effect 만들기 기본 : 블러 만들기 2 ) 그럼 이제 가우시안 공식에 의거한 블러를 만들어 봅시다. 일단 결과물은 이케 나와요 여기서 달라진건 offs2 와 offs3가 생겼다는거. 음 뭐. 왜 만들었는지는 아시겠죠 이게 이후의 버텍스 셰이더와 픽셀 셰이더의 모습입니다. 일단 버텍스 셰이더에서 늘어난걸 보죠 첨에 offs라는 UV를 만들때 half4 coords = blurFilter.xyxy* 3.0; o.offs = v.uv.xyxy + coords * half4(1.0h,1.0h,-1.0h,-1.0h); 를 써서 만들었으니, 기본 UV를 '가로로 좌우 3픽셀씩 이동한 UV' 를 만든 것을 알 수 있습니다. 그래서 이번엔 추가로 coords -= blurFilter.xyxy ; 로 가로로 1픽셀씩 오히려 줄여주고 o.offs2 = v.uv.x.. 2015. 12. 24. Making the Post Effect : Blur - 1 ( Post Effect 만들기 기본 : 블러 만들기 1 ) 다운샘플링은 했으니 이제 블러를 만들어 봅시다. 블러 만드는 방법은 뭐 몇 가지가 있지만... 일단 주변 7방향을 모두 방향의 값을 모두 받아와 처리하는 방법이 있고... 에이 그건 넘하자나라는 느낌으로 , 가로 블러하고 세로 블러하는 방법으로 두 번 처리해서 만드는 방법이 있는데 이렇게 한 번 가로로만 블러링해 주고 이렇게 세로로 그걸 다시 블러링 해주는 방법이예요. 전 이 두 번째 방법을 쓸겁니다. 이게 더 싸고 편해서요. (첫 번째건 사실 해본적도 없어요) 일단 이 글은 친절한 튜터리얼이 아니므로 결과부터 보고 설명하죠. 사실 친절한 튜터리얼을 만들어서 꼬꼬마들이 따라오게 할 수준의 강의도 아니고... 학교에서 저한테 쉐이더 수업을 이수한 친구들이 '뭐 더 할거 없나' 라고 기웃댈때 보라고 만든거라.. 2015. 12. 23. uniform half4 _MainTex_TexelSize; _MainTex_TexelSize; 말그대로 화면의 텍셀사이즈를 얻어온다. xy 외엔 1, 1로 들어오는 듯 하다. 즉 화면 가로 해상도가 1024 라고 한다면 _MainTex_TexelSize.x 는 1/1024 인 것이다. uniform half4 _MainTex_TexelSize; 이라고 pass에 선언만 해주고 쓰면 된다. 2015. 12. 23. Making the Post Effect : Downsampling (Post Effect 만들기 기본 : 다운샘플링하기) 이번엔 다운샘플링 하는 법입니다. 후처리에서 다운셈플링을 이용하는 이유는 여러 가지가 있을 수 있겠습니다만, 주로 Blur 등을 줄 때 이터레이션 최적화를 위해 쓰곤 합니다. 블러 샘플링은 주로 주변 픽셀을 끌어다가 찍는 for문 덩어리인데, 부드러운 블러를 위해서는 for문을 너무 많이 돌아야 하기 때문에 살짝 저해상도가 된 녀석을 이용하면 훨씬 가볍고 효과좋게 만들 수 있기 때문입니다. 뭐 하여간 이전 셰이더는 그냥 두고 다운샘플링만 해 보겠습니다. 스크립트만 수정해서 만들어 보겠습니다. using UnityEngine; using System.Collections; [ExecuteInEditMode] public class testgray : MonoBehaviour { public float in.. 2015. 12. 19. Post Effect 만들기 기본 : 흑백 후처리 http://www.alanzucconi.com/2015/07/08/screen-shaders-and-postprocessing-effects-in-unity3d/ 복습겸 ... 좋은 튜터리얼이 있길래 간단히 정리해 봅니다. 나중에 가르칠 수도 있으니까요 post effect를 만들기 위해서는 Shader와 스크립트, 두 개를 동시에 만들어야만 합니다. 일단 Shader부터 보면 다음과 같습니다. Shader "Hidden/NewImageEffectShader" { Properties { _MainTex ("Texture", 2D) = "white" {} _bwBlend ("Black & White" , Range(0,1)) = 1 } SubShader { // No culling or depth Cul.. 2015. 12. 18. AUTODESK Stingray : 오토데스크 스팅레이 / 가오리엔진 첫인상 오토데스크 스팅레이 세미나에 갔다왔습니다. 그동안 학교일에 바빠서 이런데 참여 못했던 것에 보상이라도 하듯. 뭐에 끌린듯 말이죠 최고의 단점은 기념품이 아무 로고도 찍혀있지 않은 비니모자 ...였다는 것 티셔츠 만들어 주세요 모자 만들어 주세요 엉어엉엉 로고 커다랗게 찍어 주세요 엉어어엉 뭐 사실 여기 가기전에 한 두 시간 만져보고 가긴 했죠 ㅎ 일단 가볍게 만져본 바에 의하면 상당히 쉽습니다. 음.. 인터페이스야 유니티 인터페이스가 이젠 표준이 된 듯 하고 재미있게도 언리얼도 유니티를 상당히 따라갔다 싶습니다만 이건 '더 유니티 스럽습니다 ' 간단하게 일례를 들어봐도, 텍스쳐를 어셋 브라우저에 드래그엔 드롭만 해도 불러 들여진다는 것. 그리고 또 재밌는건 이번엔 텍스쳐의 세부 속성을 바꾸려면 텍스쳐 셋.. 2015. 12. 10. 이전 1 ··· 31 32 33 34 35 36 37 ··· 49 다음 반응형