Vortex warp Shader Rotation control?

Started by aorikasa, January 06, 2022, 07:52:59 PM

Previous topic - Next topic

aorikasa

Hello, I'm new here.
I'm working on a planet orbit view with a bunch of vortex clouds.
My current approach is to place a bunch of vortex warp shaders around the planet to displace a power fractal that's fed into density of a global cloud layer.
However the vortex warp shader has only XYZ axis control so they tend to stretch as they go away from the center of each axis.
I'm wondering if there is a way to properly rotate each vortex warp shader so they are pointing at the center of the planet to avoid stretching.
Or if you don't mind sharing completely different approaches to make vortex clouds on a planet, I'll appreciate it.
Thank you!

Dune

It won't be easy, IMO. It would be a welcome feature if there were a flexible rotation input inside the shader. Problem is you can't add (rotated by transform shader) vortexed cloud through blue shader 'add' or via child input on a surface shader, because the original cloud will stay in as well, you can't mix (blue node; mix scalar) for the same reason, but you could try using a mix controller like a soft simple shape in the same location to cancel out the cloud in that area and mix in only the vortexed cloud. Theoretically, never tried it. Problem is then that the simple shape needs to be rotated as well. For each vortex! So you end up with a lot of nodes. And usually a vortex cloud will be pulled by another vortex if it's close enough, so this method (if it works) won't be natural.
Like I said, not easy.

aorikasa

Thanks for your opinion Dune. 
I thought about what you described as well but it seems to overly complicate things... I agree that it's not easy :-\  
I wish I could simply rotate a coordinate null to define warping direction.
Thank you for confirming I wasn't missing anything fundamental though!

WAS

Is the vortex warp in final position? My thinking is you can rotate the shader.

Actually, no, because it requires input and has no effect as a warper itself. That's sad. If this could be improved, and maybe had this as a "displacement" based warper, it could be done.

Dune

Exactly as I described, you can rotate a vortex, but you can't add/mix it as a rotated vortex, so it'll have to be serial, and then you rotate all previous as well. So it needs its own (more flexible) rotation parameters.

cyphyr

Not a perfect solution by any means but you could try something like this.

I've made everything big n' ugly so it's obvious what is going on but of course it could all be very much more subtle and nuanced

Each vortex is masked by a simple shape shader. I've used just one for simplicity but you can use as many as you like. Maybe roughen up the edges a little with a Fractal warp shader as well.

One point of note is that since both the Vortex shader and Simple shape shader work in 2D only they effectively project through the planet and create a vortex and mask on the opposite side of the planet.

Hope this is useful.

VortexWorld.jpg

VortexWorld.tgd

[attach id=104576]VortexWorldNodes.jpg[/attach]
www.richardfraservfx.com
https://www.facebook.com/RichardFraserVFX/
/|\

Ryzen 9 5950X OC@4Ghz, 64Gb (TG4 benchmark 4:13)

Dune

Cool setup, but indeed a lot of nodework. Thanks for sharing.

aorikasa

Thank you for sharing your scene Cyphyr!
I'll try that out!

FlynnAD

Is there any possibility that the Vortex Warp Shader could be updated to be more useful?

1. Can it have a mask shader? Still hoping for this since mid-2020: https://planetside.co.uk/forums/index.php?action=search2
2. Could it have a bias factor? This would be something like the ability to adjust how forcefully the vortex pulls from inside to outside; where the high peak is located.
3. For hurricanes, a user can try to add a smaller, reversed vortex after the main one to imitate the calm eye of the storm, but this is not a terrific solution.
4. Why does the Vortex Warp's radius go WAY beyond it's limits? See screenshot - the checker bitmap is 2000 x 2000m. Vortex A has a radius of 100m. This means there should be 950m on either side of the preview which is orthogonally checkered. However, the entire bitmap has been rotated. Why is the Vortex radius so enlarged?
5. Compare this to an attempt in 3dsmax, which allows you to choose a falloff bias for your centerpoint. It also has much better blending of the edge of the twist/vortex into the checker pattern.  Please note, I am NOT saying 3dsmax is a solution here. To render out a Terragen image, import that image into 3dsmax, make it a mesh, select some verts, twist them, render it, re-import it back into Terragen, only to integrate it into the rest of the scene, is NOT a productive solution.

Ultimately, the Vortex Warp shader could be far more useful but it necessary options.
Please add this to the wish list!

-Matt