To solve the licensing, you would have to black-box the houdini engine, black-box the HDAs and tie everything together so that it cannot be used separately any more.
Alternatively, I guess you could “bake out” the HDAs and the parts of Houdini Engine that they use so that they become stand-alone code for UE4 (or blueprint) blocks.
The latter version would also solve your implementation issues.
I am probably oversimplifying this - a lot. But I wonder, whether that's what you want to/try to do.
Found 452 posts.
Search results Show results as topic list.
Houdini Engine for Unreal » Houdini Assets as First Class Objects in UE4 Editor?
- DASD
- 453 posts
- Offline
Houdini Engine API » Can Houdini engine recognize its current platform?
- DASD
- 453 posts
- Offline
Technical Discussion » measurements in houdini
- DASD
- 453 posts
- Offline
Hi,
There is no built in ruler as far as I have seen, but this is Houdini so it,s good practice to try and make one of your own. With bbox expressions you can get the bounding box parameters of your object. Use those to move and scale lines. You will get the lenght of the lines in the process (endpoint-startpoint=lenght of a line). There is also the measure sop that can give you the lenght of a curve…
Oh and you can use the text sop with a channel expression to visualize the lenght. So somethign like `ch(“../line1/dist”)` - dist is the lenght parameter on a line sop. The backticks make the text sop evaluate the script. Use a merge sop to merge everything and tranfsorm sops to move things around.
As for loop selection, you should look into the standard documentation. (It's good practice to get used to doing that.) I happen to know it's in there.
There is no built in ruler as far as I have seen, but this is Houdini so it,s good practice to try and make one of your own. With bbox expressions you can get the bounding box parameters of your object. Use those to move and scale lines. You will get the lenght of the lines in the process (endpoint-startpoint=lenght of a line). There is also the measure sop that can give you the lenght of a curve…
Oh and you can use the text sop with a channel expression to visualize the lenght. So somethign like `ch(“../line1/dist”)` - dist is the lenght parameter on a line sop. The backticks make the text sop evaluate the script. Use a merge sop to merge everything and tranfsorm sops to move things around.
As for loop selection, you should look into the standard documentation. (It's good practice to get used to doing that.) I happen to know it's in there.
Houdini Engine API » Can Houdini engine recognize its current platform?
- DASD
- 453 posts
- Offline
Thanks! Well, there goes my example.^^
- Still curious whether it's possible. For no practical reason right now.
- Still curious whether it's possible. For no practical reason right now.
Houdini Lounge » Forum status suggestion
- DASD
- 453 posts
- Offline
Hi,
I would really love it, if there was a status description for every forum thread that could help people to identify unresolved questions. It happens quite often that somebody asks a question and a helpful kind person answers. But sometimes the answer is not quite sufficient and the issue remains unsolved for a long time, because people don't bother helping someone who seemingly already received help.
Now if the creator of the thread could set an “unresolved” status on the first post (and this would be easily visible), more poeple might look at it. Once a solution is found, the creator sets the status to “resolved”. Now poeple who are looking to help won't waste their time and those who have the same question know where to look. WIN WIN WIN - I guess. ;D
I would really love it, if there was a status description for every forum thread that could help people to identify unresolved questions. It happens quite often that somebody asks a question and a helpful kind person answers. But sometimes the answer is not quite sufficient and the issue remains unsolved for a long time, because people don't bother helping someone who seemingly already received help.
Now if the creator of the thread could set an “unresolved” status on the first post (and this would be easily visible), more poeple might look at it. Once a solution is found, the creator sets the status to “resolved”. Now poeple who are looking to help won't waste their time and those who have the same question know where to look. WIN WIN WIN - I guess. ;D
Houdini Engine for Unreal » How can I create a procedural bone rig for Houdini Engine?
- DASD
- 453 posts
- Offline
Enivob, thank you for the reply, but unfortunately that is not what I am asking.
The animation can be handled in a variety of ways from within the game engine. What I am asking is how to generate different rigs with varying numbers of bones interactively. - All that from within an object node, and without python.
Please open my example file and play with the “segmentAmount” parameter on the caterpillar object node. What I would like to be able to do is to add a bone rig for the whole caterpillar on the fly. A bone rig with bones for the spine and bones for all the legs. But not more bones than needed.
The animation can be handled in a variety of ways from within the game engine. What I am asking is how to generate different rigs with varying numbers of bones interactively. - All that from within an object node, and without python.
Please open my example file and play with the “segmentAmount” parameter on the caterpillar object node. What I would like to be able to do is to add a bone rig for the whole caterpillar on the fly. A bone rig with bones for the spine and bones for all the legs. But not more bones than needed.
Houdini Engine for Unreal » How can I create a procedural bone rig for Houdini Engine?
- DASD
- 453 posts
- Offline
I have a procedural object with a varying amount of limbs of varying lengths (see attached caterpillar example).
How can I add a procedural rig with Houdini Engine that will be usable in Unreal Engine (or Unity)?
- This problem has been bugging me for ages. I understand that it would be possible to python script something, but I am pretty sure that Houdini Engine would not fully support that. Furthermore, it should not be difficult to procedurally create some points that have the properties and functionality of bones in realtime. So why not do that? But how exactly can I do that?
How can I add a procedural rig with Houdini Engine that will be usable in Unreal Engine (or Unity)?
- This problem has been bugging me for ages. I understand that it would be possible to python script something, but I am pretty sure that Houdini Engine would not fully support that. Furthermore, it should not be difficult to procedurally create some points that have the properties and functionality of bones in realtime. So why not do that? But how exactly can I do that?
Houdini Engine API » Can Houdini engine recognize its current platform?
- DASD
- 453 posts
- Offline
So lets assume I want to make a Houdini Engine procedure that works with both Unreal Engine and Unity.
As fas as I understand, I have to mark collision geometry for both engines in different ways (though I could be wrong about this). Therefore I would like to add a switch that will create different collision based on what game engine I'm running in. Obviously I could just make a manual parameter for this, but I guess there is a bit of script that will do it for the user. Any idea what such a script might look like?
As fas as I understand, I have to mark collision geometry for both engines in different ways (though I could be wrong about this). Therefore I would like to add a switch that will create different collision based on what game engine I'm running in. Obviously I could just make a manual parameter for this, but I guess there is a bit of script that will do it for the user. Any idea what such a script might look like?
Houdini Engine for Unity » Tutorial request: How to work with existing assets.
- DASD
- 453 posts
- Offline
Technical Discussion » Can we control ramp parameters via script?
- DASD
- 453 posts
- Offline
Thank you!
The python class thing with http://www.sidefx.com/docs/houdini14.0/hom/hou/RampParmTemplate [sidefx.com] seems to do that stuff I wanted. I really need to dive further into python.
The python class thing with http://www.sidefx.com/docs/houdini14.0/hom/hou/RampParmTemplate [sidefx.com] seems to do that stuff I wanted. I really need to dive further into python.
Houdini Engine for Unity » Tutorial request: How to work with existing assets.
- DASD
- 453 posts
- Offline
Concerning the object instancing:
The Houdini Instance Manager Script allows to add (and remove) additional inputs. I would like to use this to add optional variation to my project. As far as I can tell, the objects assigned to the additional inputs are randomly assigned to the instance points.
Is there a way to control this behavior inside Houdini Engine?
What exactly is happening there under the hood? Is this behavior even intentional and what is the original idea?
Specifically I want to control the probability of occurrence and the ability to paint (or otherwise specify) areas to use specific instance variations. For example the user would be able to specify that the first input would occur roughly 50% of the time and all other inputs occur about equally often. Or that the inputs occur in descending order of probability. (And of course the user should be able to control the seed value…)
I see how I would be able to do this by manually adding input slots. But I am intrigued by the options here.
The Houdini Instance Manager Script allows to add (and remove) additional inputs. I would like to use this to add optional variation to my project. As far as I can tell, the objects assigned to the additional inputs are randomly assigned to the instance points.
Is there a way to control this behavior inside Houdini Engine?
What exactly is happening there under the hood? Is this behavior even intentional and what is the original idea?
Specifically I want to control the probability of occurrence and the ability to paint (or otherwise specify) areas to use specific instance variations. For example the user would be able to specify that the first input would occur roughly 50% of the time and all other inputs occur about equally often. Or that the inputs occur in descending order of probability. (And of course the user should be able to control the seed value…)
I see how I would be able to do this by manually adding input slots. But I am intrigued by the options here.
Houdini Engine for Unity » Tutorial request: How to work with existing assets.
- DASD
- 453 posts
- Offline
Houdini Lounge » Houdini 15 Wishlist
- DASD
- 453 posts
- Offline
1. Add an expression to randomize values based on a ramp
randramp(value, ramp_path)
Values become more or less likely depending on the shape of the ramp. (The “value” is the seed.)
- There are various workarounds to get this effect, but the simple fact that there are multiple workarounds means that this is something people really would like to be able to do. And workarounds seem rather inefficient and clumsy.
2. Add a convenient expression to randomize between two extremes:
rand01(value, newmin, newmax)
which is exactly the same as:
fit01(rand(value), newmin, newmax)
- I know it is possible to do this myself, but it seems such an easy thing to add and such a convenient thing to have. So why not?
randramp(value, ramp_path)
Values become more or less likely depending on the shape of the ramp. (The “value” is the seed.)
- There are various workarounds to get this effect, but the simple fact that there are multiple workarounds means that this is something people really would like to be able to do. And workarounds seem rather inefficient and clumsy.
2. Add a convenient expression to randomize between two extremes:
rand01(value, newmin, newmax)
which is exactly the same as:
fit01(rand(value), newmin, newmax)
- I know it is possible to do this myself, but it seems such an easy thing to add and such a convenient thing to have. So why not?
Houdini Engine for Unity » Tutorial request: How to work with existing assets.
- DASD
- 453 posts
- Offline
I want to use Houdini to procedurally position assets that are already inside a Unity scene. So basically I want to generate an environment, but instead of generating geometry I want the user to plug in her/his own (modular) assets. And I want the result to be instanced placements of those assets.
How would I set up the input and how would set up the output for Houdini Engine so that I don't loose any properties the assets already have and so that the output is perfectly optimized and instanced?
Also: How would I (automatically) assign materials that exist in a Unity scene to Houdini Engine output? So to go with the scenario of instanced prefabs: The user would plug in a couple of his materials and then Houdini Engine would assign those to the placed instances to create additional variation.
How would I set up the input and how would set up the output for Houdini Engine so that I don't loose any properties the assets already have and so that the output is perfectly optimized and instanced?
Also: How would I (automatically) assign materials that exist in a Unity scene to Houdini Engine output? So to go with the scenario of instanced prefabs: The user would plug in a couple of his materials and then Houdini Engine would assign those to the placed instances to create additional variation.
Technical Discussion » Can we control ramp parameters via script?
- DASD
- 453 posts
- Offline
Is there a code in Houdini script or Python to:
1. Add points to a ramp parameter?
2. Find points on a ramp parameter? (Like getting a list of all points on the ramp parameter and where they are. - I am aware of how to get a value with chramp)
3. Move points on a ramp parameter?
4. Delete points on a ramp parameter?
- If not, then why not?^^ This would allow to make scripts that set ramp parameters to different (randomized) presets. Which sounds pretty cool to me.
1. Add points to a ramp parameter?
2. Find points on a ramp parameter? (Like getting a list of all points on the ramp parameter and where they are. - I am aware of how to get a value with chramp)
3. Move points on a ramp parameter?
4. Delete points on a ramp parameter?
- If not, then why not?^^ This would allow to make scripts that set ramp parameters to different (randomized) presets. Which sounds pretty cool to me.
Houdini Lounge » Houdini 15 Wishlist
- DASD
- 453 posts
- Offline
1. Easy visibility control for parameter handles in 3D viewport at the UI level.
When you set up the UI for your HDA you should be able to add control buttons that will turn off visibility for specified handles in the 3D viewport or whole groups of handles. Handles should also be automatically grouped with the parameters they control.
2. Easy adding of parameter handles in 3D viewport via UI creation menu.
I am aware that you can create 3D viewport handles in a separate area of HDA UI, but I think that misses the point. Handles drive parameters. So they should be part of their parameters. If you have to create 40+ handles -been there, done that- in the current system you completely loose any kind of overview. Of course you still might have naming to distinguish the handles, but really it gets impossible to find anything because you barely have any (visual) separation. Also controlling the visibility of 3D viewport handles is currently unnecessarily complicated and seems broken and unresponsive and uninteractive.
New workflow example: Let's say you have a plane and you want to give a user control over the positions of the corner-points of that plane in the 3D viewport.
- You make 4 “float vector 3” parameters
- While still in UI creation mode, you select them all and right-click on the parameters -> 3D viewport handle creation -> transform arrows
OR
While still in UI creation mode, you go to the (new) “3D handle tab” in each parameter and click the plus symbol -> transform arrows
- Apply changes. Now in the 3D viewport you see transform arrows at the points specified by the parameters.
- In each parameter in the (new) “3D handle tab” you now have an additional sub-tab for each of the parameter's handles. Here you can change the script that drives each handle's, position, rotation, scale, visibility etc. There is also an option (checkbox) next to the visibility that says “deactivate when parameter invisible”
and another that says “deactivate when parameter inactive”. Activate the second option and if the parameter is minimized in the UI or the user is in another tab of the UI, the corresponding handles disappear.
———–
On a somewhat related note: I think the Channel tab options should be fused into the Parameter tab. It's good practice to always specify defaults.
When you set up the UI for your HDA you should be able to add control buttons that will turn off visibility for specified handles in the 3D viewport or whole groups of handles. Handles should also be automatically grouped with the parameters they control.
2. Easy adding of parameter handles in 3D viewport via UI creation menu.
I am aware that you can create 3D viewport handles in a separate area of HDA UI, but I think that misses the point. Handles drive parameters. So they should be part of their parameters. If you have to create 40+ handles -been there, done that- in the current system you completely loose any kind of overview. Of course you still might have naming to distinguish the handles, but really it gets impossible to find anything because you barely have any (visual) separation. Also controlling the visibility of 3D viewport handles is currently unnecessarily complicated and seems broken and unresponsive and uninteractive.
New workflow example: Let's say you have a plane and you want to give a user control over the positions of the corner-points of that plane in the 3D viewport.
- You make 4 “float vector 3” parameters
- While still in UI creation mode, you select them all and right-click on the parameters -> 3D viewport handle creation -> transform arrows
OR
While still in UI creation mode, you go to the (new) “3D handle tab” in each parameter and click the plus symbol -> transform arrows
- Apply changes. Now in the 3D viewport you see transform arrows at the points specified by the parameters.
- In each parameter in the (new) “3D handle tab” you now have an additional sub-tab for each of the parameter's handles. Here you can change the script that drives each handle's, position, rotation, scale, visibility etc. There is also an option (checkbox) next to the visibility that says “deactivate when parameter invisible”
and another that says “deactivate when parameter inactive”. Activate the second option and if the parameter is minimized in the UI or the user is in another tab of the UI, the corresponding handles disappear.
———–
On a somewhat related note: I think the Channel tab options should be fused into the Parameter tab. It's good practice to always specify defaults.
Houdini Lounge » Request:Add a feedback feature to the (online) documentation
- DASD
- 453 posts
- Offline
Houdini Lounge » Rendering in Houdini - A big call for discussion
- DASD
- 453 posts
- Offline
Houdini Lounge » Rendering in Houdini - A big call for discussion
- DASD
- 453 posts
- Offline
gather loop vex/vop function - I would love to see some examples of that implemented and or tutorials on the topic.
Yes, I think so, too. Otherwise I wouldn't bother.^^
grayOlorin
Fwiw I do think sesi listens to its customers and would not be surprised to see some of these improvements make it in in the near future
Yes, I think so, too. Otherwise I wouldn't bother.^^
Houdini Lounge » Houdini 14 Wishlist
- DASD
- 453 posts
- Offline
pezetkoDASDLook at this how to add you own hscript fucntions, it's very easy:
- A fitRand function that essentially does:
fit01(rand( SEED ), NEWMIN , NEWMAX )
https://www.sidefx.com/docs/houdini13.0/expressions/_custom [sidefx.com]
I was aware of the option. I am a little fuzzy on how portable this is. I suspect the definition would be only local on my machine and I would have to make it part of a digital asset definition to make it portable. It seemed to me, that many people must use something like this very often, so I assumed it would make sense to make it a basic expression, to save many people some tedious steps.
pezetkoDASDThis would be (imho) better as orbolt request, as it's all already possible. You can use autorigs as starting point.
- A procedural face-rig (script) that would show how to procedurally generate bone chains.
- A procedural rig node, that generates bones based geometry. For example you would plug an L-system tree in there and you would get an exportable rig for that tree. ^^
Yes, thank you. I actually feel like a total noob for asking this, but how can I find the code that a shelf-tool executes? I mean, when I edit the shelf-tool I get the command, but I would like to see the full code that the command calls.
I guess it would be nice if the code were actually part of the helpfile (or linked in the helpfile) for each tool.
-
- Quick Links