본문 바로가기
셰이더로 동그라미 그리기 말그대로 동그라미 그리기. 여러가지 상황에서 써먹을 수 있는 녀석들이라 정리해 두는 것이 유용하다 입체로도 응용할 수 있어서, 마둠파님의 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.
반응형