Florian W (elcangrejo)

33 replies · posted

Collab 2021 WIP elcangrejo

This is my ongoing thread documenting my progress through the 2021 collab.

  • Please see text below.

  • Above I posted some  pre-alpha previews of possible directions the look of our creek could steer towards. None of them are intended as final result and are mere WIP  showcases to help in making further design decisions. 

    I tried several different approaches to simulating flowing water with a toonish look. I used the Ocean Modifier, Dynamic Paint (set to vertex color), a flowmap and several different shader configurations - some based on shaders from Blendermarket and Gumroad.

    Flowmaps didn't help as much as I was hoping for,  they might still be worthwhile for collisions though. 

    Dynamic Paint is an option for collision with rocks etc as well. I also tried an Ocean Modifier - great for simulating waves.

     A full fluid simulation with Mantaflow is IMO a bit too much for our project, especially within Eevee. 

    Conclusion: ATM I think it best to use a shader like the ones I created above and use Dynamic Paint or Flowmaps for collisions and add some slight surface movement via an Ocean Modifier set to shallow water.

     Planned next steps: As shown in the first video, collisions still need some looking into -  friendly advice welcome. Reflections and transparency will be (re-)implemented in the next iterations. 

  • crew

    LOVING what I'm seeing elcangrejo! I'll give you a proper grading + feedback ASAP, but I just wanted you to know I see your work and it makes me happy 🤩

    • crew

      elcangrejo Like I said earlier: Very impressed with your work for week 1. The resourcefulness is huge and your experimentation is extremely promising.

      I really don't have any constructive notes to give other than "keep doing what you're doing." With regard to collisions, for the final result I'd like to see "edge foam" present; the white water effect that emphasizes collision with the ground and rocks. I'll tell you what I told pprocyonlotor:

      I've looked into techniques for this a couple times and have never been able to do it procedurally with shader nodes. Maybe there's a way to do it but 🤷‍♂️. Alternatively you could try adding a dedicated strip of geometry along the edges of the water (slightly above the water) with it's own shader to simulate edge foam. This guide seems insightful (though not with Bender).

      If you could further explore collisions + edge foam in week 2, that'd be great!

    • Thanks for your encouraging feedback and input! I'll get in touch with  pprocyonlotor and hopefully produce some nice collisions and foam together :)

  • Awesome, thank you theluthier :))))

  • so compelling!

    I signed up for this asset as your second. no experience with water simulations, so I’m glad to be learning from what you’re doing

  • Thank you aubrie! I'm mostly using what I find in tutorials and online and try to wrap my head around all of it. I'm looking forward to working with you. Tell me if you need anything :-)

  • elcangrejo
    My team is investigating the issue of water falling in a mini waterfall from the blades of the waterwheel. I guess we should see how we combine the techniques. That research would also be useful, I suppose, for the mini-waterfalls in the river that would be outside the camera. At the moment I am looking for information. What I have found so far is this:



  • Some collisions for you beautiful people. This uses Dynamic Paint and Brushes.

    This is still heavily WIP since I'm working with a shader from Blendermarket which needs a lot of tweaking and digging to get it right :)

    Shape, form, color, speed and everything else are costumisable . Especially the shape of the foam might not be everybody's taste. 

    With this setup I'm having some trouble making the water follow a curved plane perfectly but I'm confident about that. Since theluthier liked the lines of foam in my last submission I'll try to get this reimplemented.

    I loved how pprocyonlotor created his collisions from something as simple as AO and I will try his technique out for my next iteration. 

  • Oh, btw, pprocyonlotor , theluthier spikeyxxx , aubrie - what do you think about adding one or two fish below our creek's surface?

  • crew

    This is looking awesome! That dynamic paint approach seems to be working really well 👍

    This is still heavily WIP since I'm working with a shader from Blendermarket which needs a lot of tweaking and digging to get it right :)

    Which shader are you using? I'll ask that you avoid using paid products for this since it means the legality of sharing our final scene with everyone would be questionable, but if you need help implementing some part of it from scratch I bet I can help you out. 

    I just posted a longer response to pprocyonlotor 's WIP thread about the kind of shading that I'll be looking for, so give that a read and let me know if you have any questions or think of a better way of approaching it. The TL;DR of it is that we can't use emission shaders because we need it to receive shadows from the house.

    Full points for week 2. Keep it up!  

  • I'll be posting something for the eye soon, I'm waiting for jlampel 's input on how to imitate my paid shader for our project. A bit too diffcult just on my own. I'm also digging myself deeper into the Dynamic Paint feature since I believe it to be the best solution for collisions with rocks and landscape.

  • jlampel  theluthier Are we going to be using the Unreal Engine? Kent mentioned it last Tuesday. This could mean we should make our creek in UE instead?

  • If we're using Blender I'm wondering if we should limit our view somehow, maybe with some kind of LOD? Performance is really down to its knees here in Eevee ^^'

  • crew

    It'll be for rendering in Eevee, and I don't think we'll have time to port over all the assets to UE. 

    Can you share the file? I'm not sure what would make it so slow. Is it super heavily subdivided or something? 

    Ok, on to the questions from the file from Discord. The Dynamic Paint effect is only really needed if the objects in the river are going to be moving around. Since we can have all of them be static, it would be much more efficient to just paint a mask for the foam using vertex paint. 

    Using that vertex paint mask (which can be fairly soft so we can get a transition between black and white as well), we can set up a procedural shader that places the foam in those areas:

    The texture in the example isn't perfect, but hopefully it gives some ideas. 

    As mentioned on Discord, the original shader doesn't do screen space reflections and it gets darker when looked at on an angle, so we need to go with something that behaves more believably to light so that it ties in well with the other parts of the scene. 

    We can then get reflections by mixing a transparent shader with a glossy shader:

    After messing with this setup I found that switching out the transparent shader for a diffuse or emission shader works better to help sell the colors. Which one you use is up to you, but be aware that both will look wrong in different contexts. I also added some bump (that can be whatever texture you want) to make the reflections wavy and the stack of transparent planes to give it depth. 

    The file is in the drive if you want to poke around. Hope that helps!

  • My creek for week 4, based on jlampel s shader and with some tinkering on my part. The creek consists of two layers which creates a depth effect I really like, especially with the foam. I built a "close" version of the creek, leaving the far away parts out - something I couldnt figure out how to implement without killing performance. 

    I will correct the speed of the animation after I wake up. 

    I want to use the time after week 4 to make fish and maybe some water plants and little rocks to scatter  inside the creek.

  • elcangrejo, it looks like you are finishing up with your project.  And, your creek in the animation looks great.  I'd love to post your artwork in the TSMF Blog.  Please let me know if you create a still money shot.  

  • I didn't intend this to be a competition situation. Unfortunately, communication with pprocyonlotor didn't work ( no blame, it's just unfortunate) so we have two submissions now. I'd really appreciate if we could somehow combine the best of my and pprocyonlotor 's work.  jlampel, theluthier what do you guys think?

    And yes, I'm worried my hard work might be left out ;-) 

    • Apologies again about missing the discord message! I have a weekly meeting on Tuesday evenings but I can try to look at your file on Wednesday after work, and you are of course welcome to take anything you want from my shader.  I kind of figured us "working together" would always look like us just working on our own and each keeping the other updated on progress with full permissions to borrow/steal and an agreement that the final submission would be a joint work.  Sorry if that wasn't communicated well or if you were waiting on me for anything.

    • pprocyonlotor As I was taught at university, many problems or complications can be traced back to errors in or lack of communication. I could have pushed the reaching out  to you a bit more, especially here in the forums. 

       "An agreement that the final submission would be a joint work " sounds like the way to go to me.  

    • crew

      elcangrejo  I'm sorry the communication of working together fell short of expectations. I don't see any fault here, just the reality of communication being difficult  A very valid point to learn at university.

      Similarly I intended to spend time exploring creek techniques myself and never was able to found the time. Thankfully Lampel stepped in with some hands-on advice. Still the creek task was a tall order and both you and John did an amazing job with it!

      It's too little too late now, but for some constructive feedback: Your latest WIP shows significant promise. The wave modifier adds an excellent displacement element that I did not anticipate. Likewise the "edge foam" looks like a great setup with vertex groups, which I like not having to bake a texture for it.

      The issues right now is that it doesn't run in real time. I'm not exactly sure what's so heavy: Even when I remove the material and wave modifier and go to local view on the top-most creek mesh the scene never plays above 12 fps 🤔 The creek mesh is pretty high resolution at 90K quads and there's two of them...

      So this won't be able to be featured in the final .blend file but it will be renderable for the video. Oddly enough the edge foam details I loved about your week 1 submission is missing from the latest iteration. I wish that wasn't the case.

      I'm worried my hard work might be left out

      elcangrejo Don't worry about that - I'll make sure your work is included 👍 You also get full points for tackling one of the most difficult assets in the collab. Truly you've impacted the project and I'm so glad you joined!

      Cheers, Florian 🤝

    • This means a lot to me, Kent. Thank you! theluthier 

      The edge foam came from a different shader setup. I shall try to add it  into the new setup :)