Maybe, but the goal is generating very low resolution meshes (think 1980's vector display graphics), and at that resolution it seems like some hand editing will be unavoidable. I was just hoping for a hidden Houdini trick that would allow a 100% procedural workflow. Also, I'm lazy.
Thanks for the help!
Found 24 posts.
Search results Show results as topic list.
Technical Discussion » Making all points in all primitives coplanar
- Ethernaut
- 24 posts
- Offline
Technical Discussion » Making all points in all primitives coplanar
- Ethernaut
- 24 posts
- Offline
Thanks, that was very clear and concise!
The reason I'm getting so many non coplanar prims seems to be because I'm converting voxels to polygons, Im not sure if there's a way to enforce coplanar polys when doing that.
It looks like manually selecting and fixing offending prims with method “D” will be the way to go.
Thanks!
The reason I'm getting so many non coplanar prims seems to be because I'm converting voxels to polygons, Im not sure if there's a way to enforce coplanar polys when doing that.
It looks like manually selecting and fixing offending prims with method “D” will be the way to go.
Thanks!
Technical Discussion » Making all points in all primitives coplanar
- Ethernaut
- 24 posts
- Offline
Sure thing! Here's a .bgeo file with a super low poly mesh, just bring it in with a file node.
Notice how many of the quad primitives don't have coplanar points. The final model will be used in some “1980's vector arcade” looking graphics, but when the game engine triangulates those non coplanar faces I end up getting some annoying artifacts.
Thanks!
Notice how many of the quad primitives don't have coplanar points. The final model will be used in some “1980's vector arcade” looking graphics, but when the game engine triangulates those non coplanar faces I end up getting some annoying artifacts.
Thanks!
Technical Discussion » Making all points in all primitives coplanar
- Ethernaut
- 24 posts
- Offline
Hi,
Is there a way to make all points in all primitives coplanar? It's OK if the points shift a little here and there.
Thanks!
Is there a way to make all points in all primitives coplanar? It's OK if the points shift a little here and there.
Thanks!
Houdini Lounge » Can we get native Mac trackpad support ?
- Ethernaut
- 24 posts
- Offline
I haven't found any 3d apps to work that well with only the trackpad on a laptop.
It's a matter of design choice, not necessity. Most apps that don't support trackpad are like that simply because the devs don't use one. But if enough users request it, there's nothing keeping the feature from being implemented.
Unity3D works “out of the box” with trackpad support (maybe because it used to be a Mac exclusive in its early years?). Blender 3D and Godot also support it with some tweaking in the settings.
Houdini Indie and Apprentice » Exporting options for Indie users
- Ethernaut
- 24 posts
- Offline
Answering my own question, now that I renewed my Indie license: Yes, Indie exports FBX and GLTF without issues!
Edited by Ethernaut - 2019年1月28日 17:12:15
Houdini Indie and Apprentice » Exporting options for Indie users
- Ethernaut
- 24 posts
- Offline
That page is not up to date (doesn't include gltf, for instance). The error message in Apprentice seems to imply that FBX and GLTF require Houdini Core, so I was confused by that too. I want to upgrade, but want clarification on that first.
Technical Discussion » Invert rotations in a Matrix4
- Ethernaut
- 24 posts
- Offline
Never mind, figured it out… maybe not the best method, so here it goes (Tz, Rx and Ry are inverted in this case):
values = dict() values["translate"] = ( n.parm("tx").eval(), n.parm("ty").eval(), n.parm("tz").eval()*-1 ) values["rotate"] = ( n.parm("rx").eval()*-1, n.parm("ry").eval()*-1, n.parm("rz").eval() ) values["scale"] = ( n.parm("sx").eval(), n.parm("sy").eval(), n.parm("sz").eval() ) xform = hou.hmath.buildTransform( values )
Edited by Ethernaut - 2018年5月22日 00:49:30
Technical Discussion » Invert rotations in a Matrix4
- Ethernaut
- 24 posts
- Offline
Hi,
I'm using Python to get the local transformations from Houdini to a game engine, but I realized that the rotations are reversed. I can't change how the engine works, so I need to export the rotation values in the matrix already inverted.
I'm a complete failure when it comes to properly understanding Matrices, and couldn't figure out how to invert just the rotation vectors in a Matrix4 object obtained with objNode.localTransform(). I even tried numpy, but my own math incompetence wins. :-(
Is there a way to do that from Python in Houdini?
Thanks!
I'm using Python to get the local transformations from Houdini to a game engine, but I realized that the rotations are reversed. I can't change how the engine works, so I need to export the rotation values in the matrix already inverted.
I'm a complete failure when it comes to properly understanding Matrices, and couldn't figure out how to invert just the rotation vectors in a Matrix4 object obtained with objNode.localTransform(). I even tried numpy, but my own math incompetence wins. :-(
Is there a way to do that from Python in Houdini?
Thanks!
Technical Discussion » Camera vertical FOV
- Ethernaut
- 24 posts
- Offline
Hi,
How can I set the vertical FOV directly in Houdini? I need the camera to match a game engine's camera that has no film back or aperture values, and simply relies on a vertical FOV (horizontal changes depending on aspect, while vertical is fixed - the opposite of Houdini's).
I'm aware of the formulas here:http://www.sidefx.com/docs/houdini/ref/cameralenses.html [www.sidefx.com]
However, I'm terrible at math, and just can't figure out how to move the “focal” variable out of the atan() function… I know it's probably really basic, but I can't figure it out!… :-(
Thanks, any help appreciated!
How can I set the vertical FOV directly in Houdini? I need the camera to match a game engine's camera that has no film back or aperture values, and simply relies on a vertical FOV (horizontal changes depending on aspect, while vertical is fixed - the opposite of Houdini's).
I'm aware of the formulas here:http://www.sidefx.com/docs/houdini/ref/cameralenses.html [www.sidefx.com]
However, I'm terrible at math, and just can't figure out how to move the “focal” variable out of the atan() function… I know it's probably really basic, but I can't figure it out!… :-(
Thanks, any help appreciated!
Technical Discussion » Color parm in python
- Ethernaut
- 24 posts
- Offline
Great, that's exactly what I needed!
One wrinkle is that my parameters are in folders, and for some reason parmTuple doesn't have the containingFolder() function, so I had to change the code to use:
Took me a while because of the weird “trailing comma” tuple syntax for the folder name… at least weird for someone not familiar with Python like me! It fails if you just pass a single folder name without the trailing comma.
Works now though.
Thanks!
One wrinkle is that my parameters are in folders, and for some reason parmTuple doesn't have the containingFolder() function, so I had to change the code to use:
for t in n.parmTuplesInFolder(("FolderName",)):
Took me a while because of the weird “trailing comma” tuple syntax for the folder name… at least weird for someone not familiar with Python like me! It fails if you just pass a single folder name without the trailing comma.
Works now though.
Thanks!
Edited by Ethernaut - 2018年5月6日 02:47:29
Technical Discussion » Color parm in python
- Ethernaut
- 24 posts
- Offline
Hi,
I'm using Python to output a description of a scene to a game specific format.
Almost everything works fine, except Vector3 and Vector4 values.
For instance, I need to output a color value as a float array. To iterate all of a node's parameters, I'm using:
But when iterating, my “ColorFactor” parameter appears as for distinct float values, like in this printout:
Instead of what I expected…
Before I come up with a complicated solution (like iterating twice, the first time only to manually group related parameters), its there a simple way to ‘group’ each vector component into a single tuple or something like that?
Thanks!
I'm using Python to output a description of a scene to a game specific format.
Almost everything works fine, except Vector3 and Vector4 values.
For instance, I need to output a color value as a float array. To iterate all of a node's parameters, I'm using:
for p in n.parms():
But when iterating, my “ColorFactor” parameter appears as for distinct float values, like in this printout:
ColorFactorr = 1 ColorFactorg = 0 ColorFactorb = 0 ColorFactora = 1
Instead of what I expected…
ColorFactor = (1,0,0,1)
Before I come up with a complicated solution (like iterating twice, the first time only to manually group related parameters), its there a simple way to ‘group’ each vector component into a single tuple or something like that?
Thanks!
Edited by Ethernaut - 2018年5月5日 23:06:43
Houdini Lounge » GLTF 2.0 file format
- Ethernaut
- 24 posts
- Offline
Hey Leo! I'm here because I would also like a GLTF exporter!Hi Barrett! :-)
what could be done is to use houdini fbx export and blender GLTF exporterYeah, there are other FBX to GLTF options out there as well. But it's very cumbersome, not to mention it doesn't support exporting Pbr materials. Even a basic translation of Principled shaders to Gltf Pbr Material would be incredibly welcome!
Cheers!
Houdini Indie and Apprentice » "Wrapping" a principled shader into a Digital Asset
- Ethernaut
- 24 posts
- Offline
Hi,
Super beginner question here: How do I “wrap” a Principled shader into a simpler digital asset that only exposes a few of the parameters?
I'm collapsing it into a subnetwork, then “promoting” the parameters I want, but it seems to break the material.
<edit>I think the problem is that when I turn it into a subnetwork, I can't drag the subnetwork directly onto an object, or select it as a “valid” material anymore. Is there a way to flag a subnetwork's output as a a valid material?
This is the digital asset's interface (param names are a little different than default Principled shader names):
This is what the asset looks like inside:
Explanation: I'm using a custom 3D engine with a PBR shader that uses a few of the same parameters as the Principled shader (with different names). I wanted to take advantage that Houdini already does a good job of displaying the parameters I need (roughness, metalness, etc) in the viewer, so I'm going to use that shader and export my materials' needed parameters to a .json file using a python script from Houdini.
However, when I collapse a Principled shader into a subnetwork so that I can convert it into a reusable digital asset, it instantly stops working! How do I get around that?
Please notice that properly understanding shader networks is well beyond my scope right now, I just wanted to reuse an existing shader and simplify its interface without building my own shader from scratch.
Any help appreciated.
Thanks!
Super beginner question here: How do I “wrap” a Principled shader into a simpler digital asset that only exposes a few of the parameters?
I'm collapsing it into a subnetwork, then “promoting” the parameters I want, but it seems to break the material.
<edit>I think the problem is that when I turn it into a subnetwork, I can't drag the subnetwork directly onto an object, or select it as a “valid” material anymore. Is there a way to flag a subnetwork's output as a a valid material?
This is the digital asset's interface (param names are a little different than default Principled shader names):
This is what the asset looks like inside:
Explanation: I'm using a custom 3D engine with a PBR shader that uses a few of the same parameters as the Principled shader (with different names). I wanted to take advantage that Houdini already does a good job of displaying the parameters I need (roughness, metalness, etc) in the viewer, so I'm going to use that shader and export my materials' needed parameters to a .json file using a python script from Houdini.
However, when I collapse a Principled shader into a subnetwork so that I can convert it into a reusable digital asset, it instantly stops working! How do I get around that?
Please notice that properly understanding shader networks is well beyond my scope right now, I just wanted to reuse an existing shader and simplify its interface without building my own shader from scratch.
Any help appreciated.
Thanks!
Edited by Ethernaut - 2018年1月5日 18:52:55
Houdini Lounge » GLTF 2.0 file format
- Ethernaut
- 24 posts
- Offline
I'd love to post the link, but was unable to locate a “Find RFE” section or similar on the website to use the number I was provided (87080).
There's an easy to find “Report RFE” section, but the “Find RFE” counterpart is not obvious.
Thanks!
Leo.
There's an easy to find “Report RFE” section, but the “Find RFE” counterpart is not obvious.
Thanks!
Leo.
Houdini Indie and Apprentice » Rails is using wrong point order, can't figure out why!
- Ethernaut
- 24 posts
- Offline
Houdini Indie and Apprentice » Rails is using wrong point order, can't figure out why!
- Ethernaut
- 24 posts
- Offline
Hi,
When I create curves from scratch, my rails node works perfectly.
When when I generate those curves procedurally (extracting from edges in separate pieces of geometry), I can't get it to work, even though everything (point count on each rail, point order) looks right to me.
Instead of connecting the cross section from the first point in one rail to the first point in the second rail, it's connecting the first point in one rail to the last point in the other! Sorting the rail points seems to have zero effect.
I've attached a screenshot showing the point numbers on each rail (after merging), and a hip example file with the problem. I froze the procedural curves so I didn't have to include the geometry they're coming from. If you replace the procedural rails with the hand-created ones, you can see how it works properly.
Thanks, any help is really appreciated. I really want to keep the whole thing procedural!
When I create curves from scratch, my rails node works perfectly.
When when I generate those curves procedurally (extracting from edges in separate pieces of geometry), I can't get it to work, even though everything (point count on each rail, point order) looks right to me.
Instead of connecting the cross section from the first point in one rail to the first point in the second rail, it's connecting the first point in one rail to the last point in the other! Sorting the rail points seems to have zero effect.
I've attached a screenshot showing the point numbers on each rail (after merging), and a hip example file with the problem. I froze the procedural curves so I didn't have to include the geometry they're coming from. If you replace the procedural rails with the hand-created ones, you can see how it works properly.
Thanks, any help is really appreciated. I really want to keep the whole thing procedural!
Edited by Ethernaut - 2017年12月24日 00:55:16
Houdini Lounge » GLTF 2.0 file format
- Ethernaut
- 24 posts
- Offline
Houdini Lounge » GLTF 2.0 file format
- Ethernaut
- 24 posts
- Offline
Some interesting arguments pro GLTF2
https://godotengine.org/article/we-should-all-use-gltf-20-export-3d-assets-game-engines [godotengine.org]
And here are the format specs:
https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md [github.com]
Cheers.
https://godotengine.org/article/we-should-all-use-gltf-20-export-3d-assets-game-engines [godotengine.org]
And here are the format specs:
https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md [github.com]
Cheers.
Houdini Lounge » GLTF 2.0 file format
- Ethernaut
- 24 posts
- Offline
Hi,
Are there any plans, or have been any discussions, to adopt GLTF 2.0 [en.wikipedia.org] as one of Houdini's export formats?
It's been gaining traction recently, and would be very helpful to me personally right now.
Thanks!
Are there any plans, or have been any discussions, to adopt GLTF 2.0 [en.wikipedia.org] as one of Houdini's export formats?
It's been gaining traction recently, and would be very helpful to me personally right now.
Thanks!
Edited by Ethernaut - 2017年12月12日 02:07:34
-
- Quick Links