mountain height masking with group and/or color
15074 32 2-
- olivierth
- Member
- 1141 posts
- Joined: April 2017
- Offline
I still couldn't open the file. I get the error:
Warning
This node is using an incomplete asset definition. It will not
function properly until the asset library containing the full
definition is installed.
The main difference between VOP displacement and the mountain sop is that displacement uses black to white colors to displace along the normals of the mesh. The mountain probably doesn't need normals because it's using vector colors (R,G, B) to decide where to move/offset the points. Other than that, I don't no much about how it operates.
points/primitives/vertex can only be IN or OUT of a group. Binary like you said. If you want to do a soft selection, you could use your color sop set to white (and using your group). You'll end up with a black and white mask (no greys) and you add an attribblur sop to soften @Cd. Then, you just use the mix colors node (vop) and mix between the position and the stored position while using the mask as the bias.
-Olivier
Warning
This node is using an incomplete asset definition. It will not
function properly until the asset library containing the full
definition is installed.
The main difference between VOP displacement and the mountain sop is that displacement uses black to white colors to displace along the normals of the mesh. The mountain probably doesn't need normals because it's using vector colors (R,G, B) to decide where to move/offset the points. Other than that, I don't no much about how it operates.
points/primitives/vertex can only be IN or OUT of a group. Binary like you said. If you want to do a soft selection, you could use your color sop set to white (and using your group). You'll end up with a black and white mask (no greys) and you add an attribblur sop to soften @Cd. Then, you just use the mix colors node (vop) and mix between the position and the stored position while using the mask as the bias.
-Olivier
-
- ostyascukor
- Member
- 75 posts
- Joined: Feb. 2019
- Offline
https://www.sidefx.com/forum/topic/49771/?page=1#post-224682 [www.sidefx.com]
it says probably the file missing the hdas, and You have to reimport them to get a new correct path
i attached the hda again (few post ago i already attached, but how can follow this chaos haha)
i hope it works now because i really like to show how i worked around the main problem with your method with storing/recalling the P and N
it says probably the file missing the hdas, and You have to reimport them to get a new correct path
i attached the hda again (few post ago i already attached, but how can follow this chaos haha)
i hope it works now because i really like to show how i worked around the main problem with your method with storing/recalling the P and N
Image Not Found
-
- ostyascukor
- Member
- 75 posts
- Joined: Feb. 2019
- Offline
-
- olivierth
- Member
- 1141 posts
- Joined: April 2017
- Offline
I'll have to be honest. I'm impressed with the result you got. And you did that without summoning a single demon!
Whenever you need to do a very basic boolean that only cuts a flat surface, you might want to replace that boolean by a clip sop and a fill sop. Clip will cut a flat section out of the mesh. The polyfill is to fill that hole. It's way faster than a boolean.
I don't know a way to "distort“ a mask but there's a way to make it more interesting. You can check the attached file. I added some blue nodes. I used a trick often used in the gaming industry. They often have super blurry vertex painted mask and they ”upgrade" it by blending it with a texture with and ADD and a MULTIPLY. You can check the vop I did for an example. Also, if your mask is perfectly sharp, this trick will not work.
Oh, and the Ouput sop I was talking about goes inside your assets(inside the subnetwork) at the last node. It also allows your asset to output more than just one connection line (if you need that);
Whenever you need to do a very basic boolean that only cuts a flat surface, you might want to replace that boolean by a clip sop and a fill sop. Clip will cut a flat section out of the mesh. The polyfill is to fill that hole. It's way faster than a boolean.
I don't know a way to "distort“ a mask but there's a way to make it more interesting. You can check the attached file. I added some blue nodes. I used a trick often used in the gaming industry. They often have super blurry vertex painted mask and they ”upgrade" it by blending it with a texture with and ADD and a MULTIPLY. You can check the vop I did for an example. Also, if your mask is perfectly sharp, this trick will not work.
Oh, and the Ouput sop I was talking about goes inside your assets(inside the subnetwork) at the last node. It also allows your asset to output more than just one connection line (if you need that);
Edited by olivierth - July 7, 2019 10:09:17
-
- olivierth
- Member
- 1141 posts
- Joined: April 2017
- Offline
Distortions can be done on a noise by blending the input Position with another noise. Same thing with textures applied to UVs. you can blend the uv position with some noise and the texture will look distorted.
On your example, you'd need to tell houdini to sample other area (in 3D) of your mask. I have no clue how that would be possible.
On your example, you'd need to tell houdini to sample other area (in 3D) of your mask. I have no clue how that would be possible.
-
- ostyascukor
- Member
- 75 posts
- Joined: Feb. 2019
- Offline
I like that detailing method to the “mask”, it's very useful!
It's like poor man's overlay (in photoshop) ;-)
Thank You also for the boolean tip, i'll do that in the future (i just left that top cutter hacking thing in, but not using anymore, since i have control above my top areas to!
)
Now here is the newest challenge
I try to make some of my “inner corners” more like cracks, and i'm trying to do that with a mountain node that should go inward mostly.
Of course mountain uses noises going in and out, so i would like to create a fit range that convert my mountain height from (0-1), to (-1-0) so the even my “highest” mountain point can't go higher that my original mesh position.
Sadly i don't see where should i put that fit range node, because if i mix my P vector (converted to float) then it moves all my points to the same direction (well that seems logical
).
Btw is there any way to get for example a mountain node parameter into vex builder?
Like as we see the P N info of a geometry, it would be cool to see all the (editable) parameters of a node in vex builder, if i connect an attribvop after the a node.
It's like poor man's overlay (in photoshop) ;-)
Thank You also for the boolean tip, i'll do that in the future (i just left that top cutter hacking thing in, but not using anymore, since i have control above my top areas to!

Now here is the newest challenge

I try to make some of my “inner corners” more like cracks, and i'm trying to do that with a mountain node that should go inward mostly.
Of course mountain uses noises going in and out, so i would like to create a fit range that convert my mountain height from (0-1), to (-1-0) so the even my “highest” mountain point can't go higher that my original mesh position.
Sadly i don't see where should i put that fit range node, because if i mix my P vector (converted to float) then it moves all my points to the same direction (well that seems logical

Btw is there any way to get for example a mountain node parameter into vex builder?
Like as we see the P N info of a geometry, it would be cool to see all the (editable) parameters of a node in vex builder, if i connect an attribvop after the a node.
Edited by ostyascukor - July 7, 2019 10:57:41
-
- olivierth
- Member
- 1141 posts
- Joined: April 2017
- Offline
Well, when I double click on the mountain node and double click on the VOP inside of it, it looks like it's just a unified noise applying displacement. I included an image of the noise inside the mountain node.
You can simply use the unifiednoise and displace along normal nodes to replicate the same thing. Keep in mind that some noises have different ranges. Noises usually have one of those 3 ranges:
0 to 1
-0.5 to 0.5
-1 to 1
In a fit range, you can test those values in the source min and source max channels.
You can simply use the unifiednoise and displace along normal nodes to replicate the same thing. Keep in mind that some noises have different ranges. Noises usually have one of those 3 ranges:
0 to 1
-0.5 to 0.5
-1 to 1
In a fit range, you can test those values in the source min and source max channels.
-
- ostyascukor
- Member
- 75 posts
- Joined: Feb. 2019
- Offline
nah, sorry but i can't use unified noise (or anything else then mountain) to displace something, because of the mixed displacing+shading (You know the mesh A and B we talked about before
)
And yes, the “base” of the mountain node is an unified noise, but there are lot of other nodes (the magic ones) that making, well… magic
I guess i have to make an expression in the mountain node that fit the range with the desired values.
Thanks for the help and the quick reply again!

And yes, the “base” of the mountain node is an unified noise, but there are lot of other nodes (the magic ones) that making, well… magic

I guess i have to make an expression in the mountain node that fit the range with the desired values.
Thanks for the help and the quick reply again!
-
- ostyascukor
- Member
- 75 posts
- Joined: Feb. 2019
- Offline
I just tried again the unified noise method to displace the mesh
But at this time i set an attribute with normals from the smoothed mesh (shot attached)
Maybe You explained something like this, but now it works
So basically that is the dark magic i didn't understand about mountain. It gets the normal from the smoothed mesh, and positions from the “proper shaped” mesh.
Basically now i have a mountain node in vex builder with much more control then just use a mountain node (of course without expressions)
One thing i don't understand. Now i got some hard edges, and i don't know how can i get “full smooth” in vex builder.
In worse case i can put a normal node after my attribvop, but would be good to keep everything (or as many as possible) in one node.
And again, i desperately need a “blur like” effect in vox builder.
It is extra annoying to always define a mask with bind export (i'm doing that because i don't want to use Cd all the time, and it can be also confusing what am i working with) and put an attribblur and then just to check my blur effect i have to create another attribvop and get a bind and connect it to Cd
It has to be some kind of averaging or i don't know what that blurs my float mask in vex builder
But at this time i set an attribute with normals from the smoothed mesh (shot attached)
Maybe You explained something like this, but now it works

So basically that is the dark magic i didn't understand about mountain. It gets the normal from the smoothed mesh, and positions from the “proper shaped” mesh.
Basically now i have a mountain node in vex builder with much more control then just use a mountain node (of course without expressions)
One thing i don't understand. Now i got some hard edges, and i don't know how can i get “full smooth” in vex builder.
In worse case i can put a normal node after my attribvop, but would be good to keep everything (or as many as possible) in one node.
And again, i desperately need a “blur like” effect in vox builder.
It is extra annoying to always define a mask with bind export (i'm doing that because i don't want to use Cd all the time, and it can be also confusing what am i working with) and put an attribblur and then just to check my blur effect i have to create another attribvop and get a bind and connect it to Cd
It has to be some kind of averaging or i don't know what that blurs my float mask in vex builder
Edited by ostyascukor - July 8, 2019 03:58:46
-
- ostyascukor
- Member
- 75 posts
- Joined: Feb. 2019
- Offline
-
- olivierth
- Member
- 1141 posts
- Joined: April 2017
- Offline
Hey!
About the Cd. If you want to keep the Cd for later but want to see grey Cd in the viewport, you could use the attribpromote sop. Just set the “original name” to Cd, check “change new name” and “delete Original” and set the name to something like “myStoredCd”. Right after, use a color sop set to the grey color you want.
At any time you can re-use the attribpromote sop with “myStoredCd” as the original name and “Cd” as the new name.
-Olivier
About the Cd. If you want to keep the Cd for later but want to see grey Cd in the viewport, you could use the attribpromote sop. Just set the “original name” to Cd, check “change new name” and “delete Original” and set the name to something like “myStoredCd”. Right after, use a color sop set to the grey color you want.
At any time you can re-use the attribpromote sop with “myStoredCd” as the original name and “Cd” as the new name.
-Olivier
-
- ostyascukor
- Member
- 75 posts
- Joined: Feb. 2019
- Offline
nahh, i have much bigger problems nowm but thanks for the help again! 
see my other madness topic
https://www.sidefx.com/forum/topic/67909/?page=2 [www.sidefx.com]

see my other madness topic

https://www.sidefx.com/forum/topic/67909/?page=2 [www.sidefx.com]
-
- olivierth
- Member
- 1141 posts
- Joined: April 2017
- Offline
-
- Quick Links