유니티 쉐이더 스타트업 3쇄 교정내용 제보해주신 문현목님께 감사 드립니다. 43페이지 첫 번째 그림을 이 녀석으로 바꿔주셨으면 합니다. 의 왼쪽 그림 말입니다. 또 43페이지 맨 아래에 있는 는 로 바꿉니다. 208 페이지 그림을 교체합니다 212페이지 그림을 교체합니다 344페이지 Input 함수에 Input 구조체에 271페이지 벡터는 방향과 힘을 나타낸다고 했습니다 벡터는 방향과 크기를 나타낸다고 했습니다. 그리고 벡터의 크기는 보통 물리학에서 '힘'으로 말하기도 합니다 348페이지 그림교체 2019. 5. 1. Camera Depth Texture : 카메라 뎁스 텍스쳐 포워드 렌더링에서 카메라 뎁스 텍스쳐가 필요한 경우가 있습니다. 디퍼드 렌더링 상태에서는 뎁스 텍스쳐가 걍 있으니까... 근데 포워드 렌더링 상태일때는 없죠 그럴때는 뎁스 텍스쳐를 생성시켜야 합니다 출처 https://lindenreid.wordpress.com/2017/12/15/simple-water-shader-in-unity/ using UnityEngine; [ExecuteInEditMode] public class DepthTexture : MonoBehaviour { private Camera cam; void Start () { cam = GetComponent(); cam.depthTextureMode = DepthTextureMode.Depth; } }이 스크립트를 카메라에 적용해 줍니.. 2019. 2. 1. 셰이더로 동그라미 그리기 말그대로 동그라미 그리기. 여러가지 상황에서 써먹을 수 있는 녀석들이라 정리해 두는 것이 유용하다 입체로도 응용할 수 있어서, 마둠파님의 InnerAo나 여러 볼류메트릭 기법등에서도 유용한 공식이니 정리해 두면 좋을듯. 첫 번째 방법 float dist = distance(IN.uv_MainTex, float2(0.5, 0.5)); UV의 각 수치를 0.5,0.5에서 얼마나 멀리 떨어졌는지를 계산한다. 이걸 Pow 처리하거나 이래저래 처리하면 요래조래 쓸 수 있다 o.Emission = pow(1-dist,7); 두 번째 방법 float dist2 = pow(cos(abs(IN.uv_MainTex.x * 2-1)) * cos(abs(IN.uv_MainTex.y * 2 - 1)),10); 이건 좀 복잡하니.. 2019. 1. 28. Fake Interior Shader 페이크 인테리어 셰이더 블로그 주인장에게 커피값을 후원할 수 있습니다! 가짜로 실내를 만들때 쓰는 셰이더. 언리얼에서는 로보리콜에서 예제를 볼 수 있고, 스파이더맨 PS4 게임에서도 볼 수 있는 건물 표현 방식입니다. 그 외에도 오버워치라던가 여러 군데에서 씀. 실내에 직접 모델링을 할 수도 있지만 아무래도 그게 좀 많아지면 이게 훨씬 더 가벼운 방법 참고할 수 있는 부분은 심시티나 스파이더맨에서도 사용함 http://www.andrewwillmott.com/talks/from-aaa-to-indie 유니티 포럼에서 이 내용에 대해 토의 https://forum.unity.com/threads/interior-mapping.424676/#post-2751518 알란주코니의 모음 https://www.alanzucconi.com.. 2019. 1. 27. AABB(Axis Aligned Bounding Box) 방식의 레이 충돌공식 AABB(Axis Aligned Bounding Box) 방식의 레이 충돌공식 정리우선 시작하기 전에 하이브리드 선생님에게 감사의 인사를 드리는 바입니다 일단 TOP 에서 본다고 칩시다. 위에서 보는 겁니다 Plane을 보는 카메라를 위에서 바라본다고 생각해 보죠 그러니까. 이렇게 보고 있는 거예요 저기에 우리가 그리고 싶은건 입체입니다. 일종의 '박스' 를 그리는 거지요. '방' 을 만들고 싶다고 해도 좋아요 3D로 최종을 만들어야 겠지만 뭐 일단 2D로 해도 충분히 나중에 3D로 볼 수 있으니 일단 2D로 봅시다 그래서 결국 우리가 원하는 것은, 아래처럼 P 점의 위치가 R 점으로 이동하길 원합니다. 이런식으로 우리가 보는 점이 계속 방의 안쪽 점으로 이동시켜지면 결국 방이 그려지는 것이니까요 자 그.. 2019. 1. 24. 고양이 입체 영상을 만들자! Parallax shader 일단 결과물부터 * 찬조출연. 앵듀네 크리미 일단 이걸 이해하려면 패럴렉스 셰이더부터 이해해야 하는데요 기본 공식은 이거고 http://egloos.zum.com/chulin28ho/v/3749030 언리얼에서는 Bump offset이라는 노드로 존재하고 있습니다. http://api.unrealengine.com/KOR/Engine/Rendering/Materials/HowTo/BumpOffset/ 유니티의 엠플리파이트 셰이더에서는 패럴렉스 옵셋 parallax offset 이라는 이름으로 존재하고 있고요 캐네디언이 된 풍풍풍이의 글도 좋구요 https://m.blog.naver.com/PostView.nhn?blogId=sorkelf&logNo=40125344612&proxyReferer=https%.. 2019. 1. 22. melting shader melting shader for Unity 서피스로 충분해서 노드 분석으로 코드로 재작성. 엠플리파이드 예제 안에 있는 내용을 보기 편하게 재정리하고 살짝 개량함쓸데없는 부분 제거. 2019. 1. 21. melt shader 기본형 만들기 멜트 기본형 만들기 - 엠플리파이트 셰이더 안에 있는 예제 분석 공부입니다 일단 버텍스 셰이더에서 float meltHeight = _Height - vertexPos.y; 을 추가해서 v.vertex.xyz += float3(0, meltHeight, 0); 을 만듭니다. 이렇게 되면 _Height 값을 조절하면 , 버텍스 포지션 을 뺀 것에 다시 버텍스 포지션을 더했으니 버텍스 포지션은 0가 되고, 모든 버텍스가 _Height 값의 y 값으로 이동하게 됩니다 그 상태에서 여기서 float meltHeight = min(0,_Height - vertexPos.y); 으로 만들어서, 0보다 아래 값만 존재하게 합니다. 즉 + 값은 없는거임 v.vertex.xyz += float3(0, meltHeight.. 2019. 1. 19. SSS Shader for Unity ¨https://www.alanzucconi.com/2017/08/30/fast-subsurface-scattering-2/ ¨마둠파님의 정리 ¡https://blog.naver.com/mnpshino/221442188568¡https://blog.naver.com/mnpshino/221442196618 ¡https://blog.naver.com/mnpshino/221442210257 2019. 1. 19. 텍스쳐 회전시키기 float2 rotateUV(float2 uv, float degrees) { const float Deg2Rad = (UNITY_PI * 2.0) / 360.0; //1도의 라디안값을 구한다 float rotationRadians = degrees * Deg2Rad; //원하는 각도(디그리)의 라디안 값을 구한다 float s = sin(rotationRadians); float c = cos(rotationRadians); float2x2 rotationMatrix = float2x2(c, -s, s, c);//회전 2차원 행렬을 만든다 uv -= 0.5;//중심축을 이동시켜 가운데로 만들고 uv = mul(rotationMatrix, uv);//회전한 다음에 uv += 0.5;//다시 중심축 이동시.. 2019. 1. 11. 언리얼 엔진에서 같은 이름의 데이터가 같은 자리에 존재할 수 있는가 언리얼에서 같은 이름의 데이터가 같은 폴더에 존재할 수 있는가? 예를 들어 같은 이름의 tga 파일과 png 파일을 준비해 놓고, 일단 TGA를 드래그해서 부르면 이렇게 불러진다 그런데 그 이후에 같은 이름의 PNG 파일을 드래그해 불러 들인다면, 이렇게 불러들이게 된다. PNG 파일은 저렇게 데이터가 완전히 없는 부분은 특정한 색상으로 채워져 보이곤 한다ㅏ. 그렇다면 다른 폴더에 카피해 놨다가 폴더를 다시 옮기면 어떻게 될까? 같은 자리에 두 개가 생길까? 뉴 폴더에 불러놨던 smokeTest.tga 를 png 파일이 있는 Smoke 폴더로 옮겨 보았다 안된다. 같은 이름이 있다고 안된단다. 그럼 대문자로 바꾸면 어떻게 될까? 다른 이름으로 인식할까? 해보면 아니다. 즉 결론적으로 '파일 포맷도 상관 .. 2019. 1. 9. 버텍스 칼라를 이용한 라이트맵 / AO 베이킹 Bake Lightmap/AO by vertex color 먼 옛날 (..한 10년전쯤) 에는 많이 쓰던 방법인데 요즘엔 라이트맵 때문에 잘 안쓰는 방법이죠 뭐 그래도 .. 라이트맵을 쓸 수 없는 상황에서라던가 특이한 경우에 쓸만한 기능이니까 알아두면 나쁠건 없습니다. 일단 라이트를 넣습니다. 라이트는 걍 보통 옴니 라이트라도 괜찮습니다. 옛날에는 라디오시티 기능을 이용해서 버텍스 베이킹을 했었는데 요샌 안그래도 되는군요. (세상이 좋아졌다) 저는 여기서 색상을 보려고 굳이 조명을 좀 붉은 색으로 만들었고, 구석진 부분의 AO를 표현하고자 범위를 조금 제한했습니다. 그리고 오브젝트를 선택한 상태에서 유틸리티에 들어가서 More -> Assign Vertex Color를 선택합니다. 설정은 위와 같이. 라이팅 데이터만 가져갈거니까 라이팅만으로 처리하고, 라디오시티.. 2018. 12. 30. 이전 1 ··· 24 25 26 27 28 29 30 ··· 57 다음 반응형