MCprep icon indicating copy to clipboard operation
MCprep copied to clipboard

Create water shaders options

Open TheDuckCow opened this issue 5 years ago • 12 comments

This was actually already partially implemented, but then disabled in the last release to refine further. The goal is to provide out of the box options for water shaders. This would appear as yet another dropdown in the prep materials popup (although this popup is really getting cluttered now, another matter to consider). This would also be included in the settings for swap resource pack and generate materials from the material library panel. Different options could include:

  • Default prep (ie nothing special, only animate if animate textures enabled)
  • Animated reflective (using 4D texture noise and overlaps), little transparency
  • Animated reflective, higher transparency

Worth reaching out and seeing what shaders the community has created and used.

TheDuckCow avatar Oct 18 '20 02:10 TheDuckCow

I think it would be a cool feature to add, especially if the water shader is simple and easy to add more to(since it would encourage people to learn nodes and make tweaks)

StandingPadAnimations avatar Jan 29 '21 19:01 StandingPadAnimations

So here is my node setup for my water. Also I included 2 renders. image githubsubmit githubsubmit1

NiskoDT avatar Feb 12 '22 07:02 NiskoDT

Looks nice. I think the mapping nodes can be removed for Blender versions that have 4D noise textures. Also, it may be possible to use geometry nodes to add fake caustics which would benefit EEVEE (example: https://www.youtube.com/watch?v=C9iQKsShYIM) and Cycles if it doesn't gain MNEE

StandingPadAnimations avatar Feb 13 '22 00:02 StandingPadAnimations

My concern however is the use of glass. In Blender, glass doesn't tend to look good if caustics are disabled, which is common in MC animation (for render time and noise reasons). Though this could be avoided with some transparency sorcery

StandingPadAnimations avatar Feb 13 '22 00:02 StandingPadAnimations

So I did remove the mapping node, and then turns out its still needed to scale down the waves size, because using the "scale" value on one of the either noise texture doesnt seem to look good. Also, the two renders that I give actually has a different scale, the bottom one is lower than the top one. Also, since it is connected to the "Object" mapping, before it was the "UV", but it messes with a mesh that has diifferent face size. Also, I was thinking that, should I make it into a group node? Because I think its better if I make it into a group node, so its easier to change the value.

NiskoDT avatar Feb 15 '22 07:02 NiskoDT

Thanks everyone for the commentary in this thread! My reply is quite overdue - I'm going to shift this to the 3.4 release in favor of a sooner release of 3.3.1, which itself is quite overdue. Will likely seek feedback closer to the next release as I try to code in some options here.

TheDuckCow avatar Apr 14 '22 01:04 TheDuckCow

As per tradition :/ kicking this down the road, as we need to get v3.5.0 out the door soon.

TheDuckCow avatar Jul 05 '23 00:07 TheDuckCow

I have an RTX style water shader that MCprep can use if needed, it's public domain (well the material, not the water texture)

https://standingpadanimations.github.io/resources/#rtx-style-water-shader-v2

StandingPadAnimations avatar Jul 05 '23 00:07 StandingPadAnimations

The shader part is "easy", more about making sure we create the right user experience for being able to select it. Not that it's a huge effort, just need to give it the proper time, and not worth delaying v3.5.0 - appreciate the shader though, that seems like a great thing to include once we work on this!

TheDuckCow avatar Jul 05 '23 00:07 TheDuckCow

My concern however is the use of glass. In Blender, glass doesn't tend to look good if caustics are disabled, which is common in MC animation (for render time and noise reasons). Though this could be avoided with some transparency sorcery

Lol after a year I finally understand this reply. So yeah glass isn't necessary, I actually followed a tutorial and decided to tweak it to my liking, and since I always have caustics enabled in my renders.

As for mapping nodes, I think that, for me atleast, messes up the scaling of the textures if it's not present.

NiskoDT avatar Jul 05 '23 02:07 NiskoDT

The shader part is "easy", more about making sure we create the right user experience for being able to select it. Not that it's a huge effort, just need to give it the proper time, and not worth delaying v3.5.0 - appreciate the shader though, that seems like a great thing to include once we work on this!

Ah I keep forgetting that there are people that still use 2.7 and anything below 3.0. If user experience is the key point, I was suggesting using the "Asset Browser", so then they can drag and drop the material to the object. But if there are still using versions below 3.0, then probably not

NiskoDT avatar Jul 05 '23 02:07 NiskoDT

Ah I keep forgetting that there are people that still use 2.7 and anything below 3.0. If user experience is the key point, I was suggesting using the "Asset Browser", so then they can drag and drop the material to the object. But if there are still using versions below 3.0, then probably not

#414, that introduce some "drag" operators depend on the newer MCprep UI tabs (Materials, Blocks/Meshswap, Mob/entity rigs) so yes, changing some of the current known UI for 3.0+

zNightlord avatar Jul 05 '23 09:07 zNightlord