마법적 구슬형태 제작



마법적 구슬형태 제작

금별 0 3,883 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


번호 포토 분류 제목 글쓴이 날짜 조회
502 유니티 유니티 앰플리파이 쉐이더 - 쉐이더 활용 레이더 제작과정 금별 2023.05.25 2596
501 언리얼4 언리얼 - 물방울 형태 버프 이펙트 제작방법(물방울/십자 형태 텍스쳐제작) 금별 2023.05.25 2870
500 2D 포토샵 - 불/폭발/액체 그리는 방법 금별 2023.05.24 2752
499 유니티 유니티 쉐이더 그래프 URP - 에너지 쉴드 제작방법 금별 2023.05.22 3158
498 언리얼4 언리얼 - Smoothstep활용 프로시졀쉐이더 제작(2D 반지형 링) 금별 2023.05.18 4136
497 유니티 유니티 포스트프로세스 - 집중선 효과 제작과정 금별 2023.05.18 3412
496 유니티 유니티 앰플리파이 쉐이더 - 카툰풍 폭파 이펙트 제작방법(중국어) 금별 2023.05.15 3950
495 언리얼4 언리얼5 - 레벨에서 나이아가라 이펙트가 보이지 않을때 해결방법 금별 2023.05.15 3854
494 언리얼4 이펙터의 모든것! 게임이펙터 O/X 인터뷰 [신입~3년차] new 금별 2023.05.15 3786
493 언리얼4 Parallax Frost Material in UE5.2 Tutorial | Download Files ashif 2023.05.10 2370
492 언리얼4 언리얼 - 노출 변화화에 상관업이 이미시브 색상을 유지하는 방법 금별 2023.05.10 3657
491 유니티 유니티 쉐이더 팁 - 스텐실 버퍼를 활용한 카드형 포털 효과 금별 2023.05.10 3183
490 유니티 유니티 URP/HDRP - 스크린 공간·렌즈 플레어로 편하게 반짝 반짝 표현하기 금별 2023.05.08 5118
489 유니티 유니티 앰플리 - 웨이브 디폼 형태의 옷가락 날리는 효과 구현 예제 금별 2023.05.08 3367
488 유니티 유니티 앰플리 - 붕괴 스타레일류 빨려들어가는 트랜지션효과 간단구현 금별 2023.05.08 5757
487 유니티 유니티 - 불,얼음,전기 속성 텍스쳐 구성 팁 금별 2023.05.08 4652
486 유니티 유니티 VFX 그래프 - Six-way lighting workflow new 금별 2023.05.04 3123
485 언리얼4 언리얼5 퀵팁 - VFX 아티스트들이 가장 많이 사용하는 5가지 UV 트릭 금별 2023.05.04 2967
484 언리얼4 언리얼5 퀵팁 - 텍스쳐를 나선형으로 만들기(polar coordinates) 금별 2023.05.04 3572
483 언리얼4 언리얼 - Drawing Locations to a Render Target 금별 2023.05.04 2090
482 2D 포토샵 - 간단한 노이즈 3종 제작방법 금별 2023.05.02 4992
481 2D 포토샵 - 간단한 플레어 텍스쳐 제작방법 금별 2023.05.02 2390

 

Banner
 
Facebook Twitter GooglePlus KakaoStory NaverBand