Color gradients via Displacement

   13939   15   0
User Avatar
Member
30 posts
Joined: July 2005
Offline
Hi there,

I'm experimenting with VOPs, and using a ‘vex geometry operator’ I'm displacing an object by getting its uv values from the SOPs. (using a UV Project sop) Everytings going fine now, but somehow I'd like the control the color values of the heights those are created with displacement. Say, the lowest parts of the surface is green, while higher parts turns to brown and may be the heightest part of the surface is grey and so on. I couldn't manage to get the “height” values of the displaced geometry and communicate the data along VOPS and SHOPs. And even I don't know if this is the way in Houdini to get my desired results. Also I would like to have experiment this with bumps and displacement with shaders.

I'm kinda' total newbie with surfacing (as well as houdini itself) so I'd be grateful to get some clear explained helps from the veterans.

Thanks all,
Later.

Diya
Life is too short, to be a 3d Animator.
User Avatar
Member
710 posts
Joined: July 2005
Offline
Hey diya, I'm not a veteran, but here's a really basic way to do it. I'm sure there's more advanced ways that tie in better to whatever displace shaders you have. This one just does a gradual ramp in the y-axis.





And the file (Right Click>Save Target)…
http://www.geocities.com/stehrani3d/3dfiles/height_shader.zip [geocities.com]
User Avatar
Member
1631 posts
Joined: July 2005
Offline
Hi Diya,

You can check out the VEX Mountain SOP's code which colours points based on a “ramp”. Or you can download & watch the VEX Lava SOP video available here [sidefx.vislab.usyd.edu.au].

Cheers!
steven
User Avatar
Member
30 posts
Joined: July 2005
Offline
hey, thanx very much for your great replies… but, DaJuice: My goal is a bit different from your example. By the way it pushed my knowledge further, thank you again.

Sorry for not being clear enough. Here is what exactly I'm trying to do: Think of a landscape that is displaced with VEX (it might be displacement shader, though) with a mix of mandelbort and cellular cracks maybe. Now I have some plains, valleys and some heights like small peaks and higher mountains. I'm trying to control the color of the different heights with gradient type operators and mix them smoothly with each other. Say my valleys are blue and it smooths out to green where the planes begin, then gradually color turns to brown with heights and grey/white over the top of the monutains. I'm not sure about the logic behind this in Houdini but in my software it's fairly straightforward to do.

And Steven, thanx for the link. I've already studied those videos over and over again. They take you somewhere, but left you there alone in the middle of the road. Someone should continue to expand those series. That video made me understand the way to export and import parameters between the VOPs, SHOPS and SOPs so I'm very grateful to them but now I want more! Neither I can find books nor intermediate to advanced training materials about Hodini. So I'm starting to think my switch to Maya. It has at least a hundred times much more info via books, online tutorials etc.

Thanx again for your replies…

Diya.
Life is too short, to be a 3d Animator.
User Avatar
Member
710 posts
Joined: July 2005
Offline
Hmm, maybe this one is more what you're looking for. Not exactly realistic terrain but it has planes, valleys, and peaks…well…sort of. I think you'll have to get nitty gritty with it to see if it works out for you…



http://www.geocities.com/stehrani3d/3dfiles/terrain_shader.zip [geocities.com] (Right Click>Save Target)

Couple of notes on the file: If you look at surface shader, a couple of the VOPs have their paramaters all green, and you can't change the values. That's because those values are channel referenced to their duplicate VOPs in the displace shader. So if you change a parameter in the Soft Dots VOP under terrain_displace, it will automatically change that same parameter in the Soft Dot VOP under terrain_color. For some reason, it doesn't automatically update the change in the VOPs viewer, idunno, maybe a bug in 6.1.149. If you try to change a value it will update to show the correct state. Also if you see any VOPs with blue text (not light blue/purple) that means you can middle click to read comments I added. You probably already knew that but I just thought I'd mention.
User Avatar
Member
121 posts
Joined: July 2005
Offline
you could also have a look at the biosurface/displace shaders on odforce.
User Avatar
Member
30 posts
Joined: July 2005
Offline
hey DaJuice,

I'm very grateful for your such great effort. Thank you for your interest. Your example is very clear and the comment line made me understand better to the use of ‘shift op’. I see the logic to control the colors of displ. shader with referencing. But I was thinking of a more versatile or flexible approach, if yours is not the only way. I think that with your example you have to change or update the network of the surface shader according to the changes made in the displ. shader. Ok, they are referenced but what if I change the type of the displacement ops or add new operators in displ. VOP network? So I had to copy all the same and rearrange in the surface shader network. I was thinking (or dreaming ) of a way where I somehow get the displaced height values on the object, and use them as range for controlling the color values via a gradient type interface. So I could be able to divide this ‘range’ as much sections as I like and define a color for each. This should be independent of the displ. network in ‘shapevice’, but using its displacement values as ‘range meter’ for color control. Hope I could make it clear and understandable with my limited English.

Again I thank you for your great help.

And puma snyder, thanks for the tip, I'm looking for it right now.

See you all,

Diya.
Life is too short, to be a 3d Animator.
User Avatar
Member
710 posts
Joined: July 2005
Offline
No problem diya, I learned some stuff myself during this exercise. I think I understand your idea now. You want the displacement of the various VOPs as one big acumulative value in your surface shader, correct? You are right about needing to copy all the VOPs from the displace context to the surface context with my example, so in it's not as automated as your idea. You can still divide the ranges in this shader using some Color Mix VOPs, that's not a problem. For example the yellow/green base of the “hills” could be several layers.
I don't have Houdini in front of me right now, but I'll see if I can figure out your idea later.
User Avatar
Member
30 posts
Joined: July 2005
Offline
Thanks DaJuice, I'm happy that I could express my thought. I use this effect in so many situations with my software. It's great for bacteria like objects, landscapes, dirtying up surfaces, lava like things and many more… Some using displacement and some using bumps. Sure there should be many other ways for those effects, but I see that it suits me the best for the sake of speed and flexibility.

Looking forward for your new ideas

Later,

Diya.
Life is too short, to be a 3d Animator.
User Avatar
Member
30 posts
Joined: July 2005
Offline
:?

So once more I couldn't find the direct answer that is pointing my problem. Thanks for Dajuice and two others for their great help and taking their time. Now I'm curious about why my question is answerless? Is it that I'm totally in a wrong direction and out of logic with my desired approach, or there's no one in the community tried or used this method before? If it's the first probability, I'd like to know it and totally forget about this and say: “Oooh, it is poosible all in Lw, XSI and Maya but you can't do it in Houdini :? ”

Later,

Diya.
Life is too short, to be a 3d Animator.
User Avatar
Member
710 posts
Joined: July 2005
Offline
Sorry diya, haven't had much time to try it. What other software have you acomplished this effect in? Could you upload a picture made in another app, it would give me a more clear idea, and I could try to match the results more closely.
User Avatar
Member
30 posts
Joined: July 2005
Offline
Hi DaJuice, no problem. I made them in Lightwave3d and Softimage-XSI. I'm currently a Lw user, and its texturing method is very basic and straight forward. For example you model a geometry (like the valleys and peaks), enter its surface color texture attributes, apply a gradient layer that is based on a distance from object's origin or a null if you like, enter the ‘range’ value in meters (it should be the distance between the lowest and the highest point of your geometry, logically) and apply ‘color keys’ to your desired heights. For example you can say start as white in 0 meters, turn blue at 10 meters and become yellow between 15 and 25 meters, so on… Lw3D is layer based and you append layers that calculates (adds, multiplies, subtracts etc.) their preceding layers.

I made the same effect in XSI, which is node based and similar to Houdini. But there you don't even have to enter or calculate the distance values. I've used gradients node appended to texture that creates the displacement or bump, and output the node to the displacement input of the output shader.

I'm sorry I can't upload a picture ‘cause I’ve got no webspace. But the previous effect you made is the same, with a different method.

Thank you again for your interest.

Later,

Diya.
Life is too short, to be a 3d Animator.
User Avatar
Member
11 posts
Joined: July 2005
Offline
Hello diya,

here is a setup, which I think produce what you want,but it works with particles,
because only there(so far I see) is a gradient ramp (in the color op).

The Particle colour is determined by the Height of the Bounding Box of the terrain.
The colour attribute of the Particles is copied to the Points of the terrain.

Important: if you make changes somewhere, you have first to unlock the popnet1 sop. Changes are done, lock it again.Everything will be refreshed.



I hope this helps you a bit.

http://people.freenet.de/DoBe/terrain_colour_05.zip [people.freenet.de]

(houdini 6.5.40)


User Avatar
Member
710 posts
Joined: July 2005
Offline
That's pretty cool dobe. A proper gradient ramp in VOPs wouldn't be a bad idea.
I was trying it again diya and I'm not sure how to import the combined values of the displace VOPs into the surface context. I guess that's the only problem, because then you could take that value and plug it into the bias of a color mix vop. A gradiant ramp vop with multiple inputs would be nice, instead of having to build a tree of color mix vops to get a bunch of different layers.
User Avatar
Member
30 posts
Joined: July 2005
Offline
Thanx very much for taking your time dobe, and DaJuice, too. It's clearer for me now how things work in Houdini, it's always mentioned that there are many different ways to do things, but I see they are also different from other softs around.

The idea and the scene file is cool, as DaJuice mentioned the biggest problem for me was to “get/import values of the displace VOPs into the surface context”.

—"A gradient ramp vop with multiple inputs would be nice,"

That's for sure, I'm very surprised that there is none..

Again thanks all,

Diya.
Life is too short, to be a 3d Animator.
User Avatar
Member
1631 posts
Joined: July 2005
Offline
Hello there,

Carlos Lemus made a Ramp VOP which is available at Visual Paradigms [visualparadigms.com].

Cheers!
steven
  • Quick Links