마법적 구슬형태 제작



마법적 구슬형태 제작

금별 0 4,575 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


번호 포토 분류 제목 글쓴이 날짜 조회
561 언리얼4 언리얼 5.3 - Sparse Volume Textures (VDBs) 금별 2023.08.16 3259
560 언리얼4 언리얼4 캐스캐이드 - 이미터 유지 스폰시간 계산 금별 2023.08.16 2673
559 2D 애펙을 활용한 간단한 카드형 UI 생성 연출 예제 제작과정 금별 2023.08.16 2656
558 언리얼4 언리얼 - 2D->3D로 카메라 벡터 - HLSL 코드 활용 동적 만다라 쉐이더 제작 금별 2023.08.16 2516
557 언리얼4 언리얼 머트리얼 - 타일 그라디언트에서 원형 링 마스크로 변환 금별 2023.08.16 3882
556 언리얼4 언리얼 - 2D 헥사곤 타일 애니메이션 연출 제작노드 금별 2023.08.16 2788
555 언리얼4 언리얼 Material Texcoord 사용법[한국어 라이브 특강] 금별 2023.08.12 3220
554 유니티 유니티 - 빙속성 화살 스킬 제작과정 금별 2023.08.11 3368
553 언리얼4 언리얼5 - 간단한 소용돌이 쉐이더 제작방법 금별 2023.08.11 3687
552 언리얼4 언리얼5 - 데칼 실시간 생성 및 늘어나는 문제 해결 금별 2023.08.11 3089
551 언리얼4 언리얼5 - 불규칙한 바닥 빗방울 리플효과 제작방법 금별 2023.08.11 3588
550 유니티 유니티 앰플리파이 쉐이더 - 차원 포털 제작과정 금별 2023.08.11 3548
549 언리얼4 언리얼 - 구체 노면에 따라 흐르는 웨이브 제작과정 금별 2023.08.10 3701
548 유니티 유니티 VFX 그래프 - 오브 이펙트 제작과정 금별 2023.08.10 3219
547 유니티 유니티 - 수속성 구체 폭파 제작 튜토리얼 금별 2023.08.08 3122
546 언리얼4 언리얼 - 비누방울 머트리얼 제작과정 금별 2023.08.07 2807
545 언리얼4 언리얼 - Advanced Scan Effect 제작 튜토리얼(그리드FX) part3 금별 2023.08.07 2631
544 언리얼4 언리얼5 - Ghost World Postprocess Material 제작과정 금별 2023.08.06 2592
543 유니티 유니티 - 파티클시스템 커스텀 데이터 설명 금별 2023.08.06 4119
542 유니티 유니티 - 포션병 액체 효과 제작과정 금별 2023.08.06 3985
541 유니티 유니티 - 연속 창공격 예제/바닥크랙생성 제작 튜토리얼 사진new 금별 2023.07.31 3695
540 언리얼4 언리얼 - Advanced Scan Effect 제작 튜토리얼 금별 2023.07.31 2711

 

Banner
 
Facebook Twitter GooglePlus KakaoStory NaverBand