Planetside Software Forums

Support => Terragen Support => Topic started by: David on December 04, 2019, 06:19:03 pm

Title: Sculpting ripples in water
Post by: David on December 04, 2019, 06:19:03 pm
Does anyone know if it's possible to sculpt ripples and wakes from say, a boat, onto the Lake surface in Terragen? My first thought was to sculpt this in ZBrush and then insert a water-shaded OBJ into the Lake but tests showed that this won't render correctly. So is there a way to use the painting facility in Terragen to 'paint the lake' to enable local displacement and even foam? And if so, firstly, how do I paint the lake, and then what might the node structure look like for such a shader? I'm still pretty new to Terragen and am definitely trying to run before I can walk here, but I'm sure you all know how this goes in terms of planning the future steps involved in doing something 'new'! Thanks.
Title: Re: Sculpting ripples in water
Post by: sboerner on December 04, 2019, 10:43:28 pm
Your best bet would be to use a displacement map. There's some discussion of boat wakes (and the Kelvin wake pattern created by moving boats) here with a link to a displacement map (https://planetside.co.uk/forums/index.php/topic,24077.45.html).

Load the image into an image map shader then pipe it into the displacement slot of a surface layer. Keep in mind that the surface layer reads color data as displacement, so Apply Colour must be ticked in the image map shader. Adjust the displacement in the Displacement tab of the surface layer.

If you search for "foam" in the forum you'll find several threads devoted to that topic.
Title: Re: Sculpting ripples in water
Post by: Dune on December 05, 2019, 01:59:31 am
I sometimes make a topdown or ortho render of a boat on the water (or even a topdown screendump from Lightwave), then paint an extra layer in Photoshop for wake/bow displacement and foam (either use them together or make two masks), save as greyscale, and import those as image map to fit over the boat (Y projection, best use a transform shader to rotate and locate/shift in its exact place), with displacement by surface shader or displacement shader, or vector displacement shader (Y) and some fractal to break up the foam a bit more if needed (depends on the accuracy of the painted map). With a greyscale map, you'd only get positive displacement though, you actually need a 32-bit vector displacement map, but that needs another approach (Mudbox or so).
Title: Re: Sculpting ripples in water
Post by: David on December 05, 2019, 01:03:28 pm
Thanks guys for taking the time to help me, the links are really helpful too.
I think I'm halfway there. The 2 images show the use of screengrabs from the web, one b/w 8-bit, the other a normal map. Both result in what look like structures below the water surface - there doesn't appear to be any displacement above the surface, certainly nothing that catches the light. Please excuse me if I haven't interpreted your instructions correctly.
Dune, your suggestion that I need a 32-bit vector map for grey scale images - could I generate this in ZBrush from a sculpted mesh? Files attached if you have the time and inclination to expose my bloops! Thanks again. David

Bow wave 2.jpg
Title: Re: Sculpting ripples in water
Post by: WAS on December 05, 2019, 02:03:19 pm
It looks to me that you are applying your displacement to the ground, under the water, and not to the water surface. Try adding a surface layer after your Water Shader 01 and add the displacement there (remember to uncheck Colour).

I can't open your TGD, the XML reader says it's broken, and TG forums are saving it as a .txt file and not a .tgd.
Title: Re: Sculpting ripples in water
Post by: David on December 05, 2019, 04:18:24 pm
Wow, Thank you WAS! It did occur to me that the image map was perhaps attached to the ground plane but I guess I wasn't reading the node layout correctly. Anyway, I'm very grateful for your help. Now to study FOAM!
Title: Re: Sculpting ripples in water
Post by: sboerner on December 05, 2019, 09:03:25 pm
Looks like progress! Here's a 32-bit displacement map if you want to give it a try.
Title: Re: Sculpting ripples in water
Post by: Dune on December 06, 2019, 01:43:40 am
You should be able to use ZBrush, but I don't know how to extract a vdisp map out of a sculpt there. I do know how to in Mudbox; sculpt on a hires plane, add another low-res plane and extract vector displacement map through one of the tabs, and instructions. Apply that in TG through a vector displacement shader.
Title: Re: Sculpting ripples in water
Post by: David on December 06, 2019, 01:41:48 pm
Thanks Guys, you're heroes! You've given me plenty to get on with. Yes ZBrush can export VDM's, now for some tests.
Title: Re: Sculpting ripples in water
Post by: Dune on December 07, 2019, 02:05:43 am
Quote from: David on December 06, 2019, 01:41:48 pmYes ZBrush can export VDM's
If you know how that works, could you explain? ZBrush has much better tools to sculpt a nice wake than Mudbox.
Title: Re: Sculpting ripples in water
Post by: j meyer on December 07, 2019, 11:37:23 am
@ Ulco - What's wrong with the explanation from back then?
https://planetside.co.uk/forums/index.php/topic,16110.msg157376.html#msg157376
Only the value of 3 has to be changed to 43 instead, but that's mentioned at the end
of the thread, too. ZB 2020 might use another value haven't checked yet.
Title: Re: Sculpting ripples in water
Post by: Dune on December 07, 2019, 12:23:23 pm
To be honest, I forgot about your explanation back then. Sorry! Copied it again and saved, gonna try soon. Thanks, Jochen!
Title: Re: Sculpting ripples in water
Post by: David on December 07, 2019, 01:39:55 pm
Jochen, your link is excellent, thank you. I was just about to share the following link with Ulco but spotted yours first. Anyway, Joseph Drust is always worth watching/listening to. https://www.youtube.com/watch?v=FB07uGbFje8
My project is a Greek Trireme moving forward in fairly calm water. Straightforward enough until one considers the oarsmen, 80 per side, each oar creating its own local furrowed wake, with splashing! VDM creation for such complexity might force me to simplify things with a bump map plus splashes made as separate water objects using the ZBrush 'splash brushes' from BadKing. I hope to post progress in due course.

Please can someone help me with a basic procedure for updating an OBJ that I've been surfacing in Terragen? If I need to make alterations to a model in Lightwave and then save it under a new file number I loose all the Terragen texturing when I re-importing it. Or, if I remove an item from the model and re-export it back to Terragen using the original file number, I get error messages for the missing parts. What is the best modus operandi for make small changes to an already Terragen-surfaced OBJ? Thanks.
Title: Re: Sculpting ripples in water
Post by: sboerner on December 07, 2019, 07:21:09 pm
If you don't change any of the shading groups (or their names) you should be able to update or replace the mesh through the obj reader. If the filename doesn't change, just reopening the scene should update it.

If you make any changes to the shading groups (using Maya terminology here, they may be called something else in Lightwave), then you will run into issues. TG stores all the shading info in the tgd file and won't update it when you replace the mesh. So you can get mismatches and errors.

I've learned through experience to work defensively when it comes to imported objects.

First, I always check the mtl file exported by Maya and prune any unused shading groups. (Maya exports every shader in the scene, whether its used in the mesh selected for export or not.) This avoids having your object's internal network cluttered up with unused object part shaders.

Then, as I'm building the object's shading network I try to arrange the nodes so they can be easily selected *without* selecting the object part shaders. When the network is finished I then select all the nodes (minus the part shaders) and export them as a clip. This way, if I ever have to rebuild the network for a new version of the mesh, I can insert the clip in the internal network and just reconnect the object part shaders.

Sometimes you just have to rebuild the network, and this really speeds things up. Plus the clip file is a nice way to back up those networks. (As you probably know, they can represent hours of work.)

Finally, if you don't already do this, you might want to consider using tgo files instead of obj files in your final scene. tgo files include the shading networks and don't use mtl files.

So my workflow goes like this: Every new mesh is imported into an empty Terragen scene, then shaded. When the network is done the scene is saved in the same folder with the mesh, and the object is then saved out as a tgo file. The tgo is then placed in the final scene. 

It may seem like I'm adding an extra step (and I guess I am), but shading the mesh in an otherwise empty scene is much faster then working in the final scene (which just keeps growing in size). It makes it easy to try different lighting angles, etc. And tgo files are pretty bulletproof. The downside, of course, is that if you do make changes to the mesh you have to make a new obj *and* tgo file. (Which is why using shortcuts like clip files can really help.)

I'm curious to hear how other (more experienced) hands deal with imported objects.
Title: Re: Sculpting ripples in water
Post by: Dune on December 08, 2019, 02:47:31 am
Interesting project you're working on, David. 160 oars and a trireme moving the water is indeed quite a task. Hope to see some of it here. My Roman warship scene was a bit easier than that, with just 20 oarsmen or so, but I just used a displacement map for a little water movement and foam. It depends on resolution what's the best workflow, I guess. The link you shared is interesting, one of his tutorials I didn't see yet. Thanks.

Regarding obj's: I always store them in an appropriate folder somewhere, take them through Poseray and group parts that have similar textures applied, then translate those groups to textures. You have to relink your textures, but that can also be done in TG. Save under the same name if the original is no use to keep. When working with say DAZ figures, I always make clipfiles out of completed sets in TG, and can import that to a new figure as a base and relink appropriate nodes to the parts. Grouping comes in handy then; you don't have to link one shader to 10 parts.
Or I relink every texture from within the default shaders, and add whatever is needed if I want to make a new set. Then save as tgo in a specialized (tgo) folder, ready for import in any new project.
Title: Re: Sculpting ripples in water
Post by: David on December 09, 2019, 04:59:29 pm
First off, thanks Steve and Dune for taking the trouble to answer my convoluted questions. Thanks for bringing clarity to the knotty problem of updating OBJ's - it's not obvious to a beginner the best workflow.
To backtrack a little, WAS kindly provided a scene to help me out with displacing the water surfaces and I've since been making tests with it by substituting different image maps. However, attempting to duplicate WAS's procedure from scratch I suddenly found myself back in the foothills of basic 'newbeeland'. The 2 grabs below shows a difference in the water node trees that I can't fathom. The Transform Input Shader shows in both shader windows but I can't understand why it doesn't show on my left hand window like that in WAS's. (I've noticed that this window doesn't always show until it is refreshed by a restart). I constructed my water shader within the shader node, was I correct? In other words I'm finding difficulty in ordering in my mind the correct sequencing of node structures - is there a video somewhere (I've looked) that clarifies this?
Dune, regarding Poseray, I agree it is very useful for cleaning models etc however I find that when it exports back to OBJ all my surface names suddenly lose alphabetical order when they appear back in Terragen. Have you found this?
Finally, I've attached my first 'look see' Terragen scene with the Greek Trireme. The ship isn't complete and there is still some surfacing work to do. I've parked a 'default' dude on the deck to give a sense of scale. I still have to create the rowers of course, complicated by the need to make them each slightly different due to the many different pitches of oars. 

WAS setup.jpg
Title: Re: Sculpting ripples in water
Post by: Dune on December 10, 2019, 03:15:13 am
I wouldn't look at the top left pane. I never use it, unless for objects sometimes. But it's strange that it isn't visible indeed.

You can construct networks within 'container-nodes' indeed, leaving less clutter on the main node layout. Only when you need to link from within one node to (within) another it will be a little more complicated. But it should work fine. I often set up in the main layout first, then ctrl+X all attached and put inside the (say) surface shader. Then link each input from the outside (input disappears).

I would put the transform directly under the image map, and have image map at 0/0, setting transform with location/rotation of ship, and fine tune then. Quite a big map, btw. 500x270m?

I've noticed that PR problem too, and it sometimes irritates me. I know of no way to alter sequence.

Great ship! Creating all those rowers will be challenging. Good luck and thanks for showing this.
Title: Re: Sculpting ripples in water
Post by: sboerner on December 10, 2019, 05:11:00 pm
QuoteI wouldn't look at the top left pane. I never use it, unless for objects sometimes.
Echo this. (I'd close this pane if I could.) And someone with your experience is better off focusing on the node pane anyway.


Cool model. Looking forward to seeing your progress on this.
Title: Re: Sculpting ripples in water
Post by: David on September 11, 2020, 04:51:58 pm
I struggling to get the glass shader to show any SSS. In fact no adjustment I make to the settings in this shader makes any changes. I think that there must be something wrong with the way I'm connecting the nodes. As ever, I'd be very grateful for any insights. Otherwise, the scene above makes good progress thanks to WAS and Ulco's help with water surfacing on another post.
Title: Re: Sculpting ripples in water
Post by: WAS on September 11, 2020, 11:13:05 pm
Double-sided/thin walled doesn't work with SSS as far as I know. If you turn that off you'll see your settings are working and it becomes a solid white object. That setting is meant for like windows which don't really obstruct the view much.

Here's an idea to work from
Title: Re: Sculpting ripples in water
Post by: David on September 12, 2020, 05:43:05 am
Fantastic! Thank you WAS. You also correctly anticipated that I'd want to put a slope in for the foam. I really can't thank you enough!

If anyone at TG is listening, why not provide small downloadable .tgd's like this on the Docs pages, a few simple examples of such 'trees' would save beginners days of fruitless work. For someone like me that has no capacity for studying learned books on shader theory, this is the perfect way to speed up learning of Terragen.

Thank goodness for this forum!

PS. I have the 'notifications' box checked but don't get the alerts.
Title: Re: Sculpting ripples in water
Post by: David on September 12, 2020, 07:22:09 am
Hi WAS, I'm not quite there yet as my OBJ seems to have different attributes to your default sphere (top left menus). I stuffed the splash thru PosRay but don't understand what might still be wrong with my model. Also, I'm not sure why the splash has a 'water' surface (lower screengrab), and what I should do with it, ... disable it? I can't find an explanation in the docs either. Sorry for these, possibly, dumb questions!
Title: Re: Sculpting ripples in water
Post by: WAS on September 12, 2020, 01:36:06 pm
I'd need that object too to be able to see the problem. If it's shareable you can gather the project and upload a zip.

I should be able to dial in some settings with the actual object.
Title: Re: Sculpting ripples in water
Post by: David on September 12, 2020, 04:19:34 pm
Thanks WAS. Herewith the OBJ, let me know if you need more. David
Title: Re: Sculpting ripples in water
Post by: WAS on September 12, 2020, 05:58:21 pm
Welcome. I'll take a look in a bit. Battling a 5gb model export I need to fix the normals on. xD
Title: Re: Sculpting ripples in water
Post by: WAS on September 16, 2020, 06:38:29 pm
I hadn't had a chance to look over your project but I did play with the water splash, maybe this will work in PT with some adjustments.
Title: Re: Sculpting ripples in water
Post by: Dune on September 17, 2020, 02:01:02 am
It looks a bit like milk, is that the idea you're after? I thought the initial render of the transparent water in post #18 looked just fine.
Title: Re: Sculpting ripples in water
Post by: WAS on September 17, 2020, 02:17:33 am
Quote from: Dune on September 17, 2020, 02:01:02 amIt looks a bit like milk, is that the idea you're after? I thought the initial render of the The transparent water in post #18 looked just fine.
Yeah, I don't think this model is rough enough, more like a dunk splash of something small. Needs more jagged broken up areas, and a UV map to really texture them in
Title: Re: Sculpting ripples in water
Post by: David on September 17, 2020, 01:31:51 pm
Hi Guys, thanks for taking a look. The main issue for me is that the .obj I've posted above, which does have UV's, doesn't allow the same texturing as WAS's elongated default sphere, (also above). His application of a 'foam' gradient is brilliant and just what I need. Yes Dune, the earlier post #18 does look fairly convincing however it is often hard to see when it is placed in the scene at a proper scale. I think this is because there should be micro bubbles in the small spheres that would diffuse the light better. Translucency would be nice but with the glass shader on this .OBJ, I can't get any such changes to work. In fact, whatever I change in the glass shader menus, seems to make no difference! So the ideal is to find some way to incorporate WAS's shader on an OBJ.
Title: Re: Sculpting ripples in water
Post by: WAS on September 17, 2020, 01:38:18 pm
One you re-open the object based on your HDD path it will work. Paths are absolute mostly in TG unless gathering.
Title: Re: Sculpting ripples in water
Post by: David on September 17, 2020, 01:50:34 pm
WAS, please can you explain a little more, I'm a tad slow here?
Title: Re: Sculpting ripples in water
Post by: WAS on September 17, 2020, 02:29:15 pm
Quote from: David on September 17, 2020, 01:50:34 pmWAS, please can you explain a little more, I'm a tad slow here?
I'm on my phone so I can't really do fun little screenshots of TG, but if you look here: https://planetside.co.uk/wiki/index.php?title=OBJ_Reader

The orange folder icon will allow you to "open/reload" an object. Select open and find the splash on your HDD and it should work. 

Optionally you can copy my nodes from within the object and paste them into your object opened from the object menu.