마법적 구슬형태 제작



마법적 구슬형태 제작

금별 0 3,126 2019.08.30 06:32

 

I guess this is the first entry to this category, since I never had such a demand for a write-up before. So here goes!

The different between this format and regular “My take on shaders” post is that this is a more direct format, just going through a particular effect that I find too specific to write a complete tutorial about. Also, in some cases, like this one, I won’t be providing the completed code but I will be writing about the general idea and the process behind the specific effect.

In my tweet I mentioned it being a form of “raymarching” though I might be using the term loosely here. While I use a loop to move towards a certain direction, the technique doesn’t really resemble traditional raymarching. So keep that in mind.

 

The core idea

 

I’ve been constantly thinking about how to take advantage of past effects, and in this case I had an idea concerning the “layered parallax” effect that I demonstrated in an older post.

With that technique, you could sample a texture using coordinates that had been offset “inwards” of the object, by using the camera’s view direction in tangent space. The effect is super useful for adding some depth to materials like ice, or tiles or basically anything you want to make it look like “there’s something underneath the surface”. The result looked something like this:

 

 

My thoughts going from this effect were these:

  • Let’s ditch the main texture, don’t need it for now
  • What if in every “layer” of this effect, I performed a “step” function on a 2D noise texture, where the cutoff value ranges from 0 to 1 based on the “index” of the layer?

The “stepping” (that’s what I’ll call “using the “step” function” from now on) was inspired by the concept of using grayscale textures as heightmaps, with their value representing depth. Adjusting the cutoff value of a simple texture with a radial gradient looks like this:

 

As if the texture actually represents a cone and when I’m using “step” I’m cutting slices into it which decrease in size as I get to the top. Basically I’m super-over-explaining SDFs here, but that representation really helped clear things in my head.

So, if I were to assign 1 to the cutoff value of the out-most layer, 0 to the value of the deepest layer and the inbetween values to the inbetween layers, each parallax layer would have a differently sized “slice” of the texture.

If we add that “stepping” to each layer, with the same radial gradient texture, we end up with something like this (the texture is tiled 5 times so just pay attention to the middle one):

 

This uses 10 iterations on the grayscale texture

Turn up the iterations/number of layers (here it’s something 128) and you have smoothness:

 

Add a somewhat more complex texture, like a simple cloud texture and you have this:

 

 

Trying out random textures and noises is super fun with this one btw.

Add the material on a sphere and you have the ORB:

 

 

Add 2 HDR colors, and lerp between them based on the layer “index” instead of just lerping the intensity from 0 to 1 (also some Post-processing for the looks):

 

 

Add some waving displacement when sampling the texture in each layer for some extra variation and *magic*:

 

 

And that’s it! I hope that was helpful and I hope there will be many more write-ups in the future, especially as I’m easing into VFX stuff at the moment of writing. So, I’ll see you in the next one! ????



 

These posts will never go behind a paywall. But if you really really super enjoyed this post, consider buying me a coffee, or becoming my patron to get exciting benefits!

 

Comments


번호 포토 분류 제목 글쓴이 날짜 조회
1063 언리얼4 언리얼5 - 아틀라스 마스터 머티리얼을 만드는 방법 금별 2022.12.06 3622
1062 언리얼4 언리얼5 - DBufferTexture 노드를 이용한 데칼 응답의 수동처리 금별 2022.03.25 3619
1061 유니티 유니티 VFX 그래프 - 효과적인 데칼 제작 셋업 방법 금별 2023.01.05 3597
1060 언리얼4 언리얼4 나이아가라 - 인퍼머스의 스모크 파워효과 느낌 만들기 스피드메이킹 금별 2021.03.28 3590
1059 언리얼4 언리얼4 - 매지컬 쉴드 제작 머트리얼 노드 금별 2021.12.11 3587
1058 언리얼4 Making-of: VFX 고스트리콘 브레이크 포인트 금별 2020.01.20 3568
1057 언리얼4 [언리얼4 이펙트 튜토리얼]빗방울 쉐이더 만들기 금별 2018.11.13 3567
1056 유니티 [유니티 쉐이더그래프]프리뷰 노드 설명 금별 2018.11.21 3565
1055 2D 포토샵/섭스턴스 - 트레일 텍스쳐 제작 PART1 금별 2020.11.07 3562
1054 유니티 유니티 URP/HDRP - 스크린 공간·렌즈 플레어로 편하게 반짝 반짝 표현하기 금별 2023.05.08 3556
1053 유니티 유니티 앰플리파이 쉐이더 - 제트 엔진 쉐이더 제작 금별 2021.04.01 3554
1052 언리얼4 언리얼4 머터리얼 팁 - 머터리얼만으로 밴드형태 구현하기 금별 2020.03.26 3552
1051 언리얼4 언리얼4 튜토리얼 - 피벗 페인트 활용 시뮬레이션 제작 금별 2021.03.28 3544
1050 유니티 라바 램프 쉐이더 만들기 금별 2019.01.13 3533
1049 언리얼4 Invert Falloff Material 금별 2018.08.31 3509
1048 언리얼4 언리얼5 - 특정방향에서 늘어지는 리본수정 방법(리본 타일링||한국어팁) 금별 2022.09.29 3489
1047 유니티 유니티 앰플리파이 쉐이더 - 얼음 소재 제작방법(중국어) 댓글+1 금별 2022.09.08 3487
1046 2D 섭스턴스 디자인 - 패턴 텍스쳐 제작 FX TUTORIAL 댓글+2 금별 2021.04.23 3487
1045 언리얼4 언리얼 - distance와 step을 활용한 원 그리기 금별 2022.01.25 3484
1044 3D 3DS맥스 - FX UV Unwrap(언랩) 테크닉 댓글+1 금별 2020.02.28 3473
1043 유니티 유니티 앰플리파이쉐이더 - 카드형 라이트 엣지 디졸브/디스토션 제작과정 금별 2022.03.18 3472
1042 2D 애프터 이펙트 - 엘리먼트 3D 카툰풍 빔 이펙트 제작방법(중국어) 금별 2022.08.31 3464

 

Banner
 
Facebook Twitter GooglePlus KakaoStory NaverBand