Found 216 posts.
Search results Show results as topic list.
Technical Discussion » Alembic Face Sets exported randomly
- derrick
- 329 posts
- Offline
Sorry, I meant a .hip file (and input Alembic archive) exercising the bug so we can track down exactly what is going wrong.
Technical Discussion » Alembic Face Sets exported randomly
- derrick
- 329 posts
- Offline
Houdini Learning Materials » Attribute Alembic export
- derrick
- 329 posts
- Offline
/obj/file1/attribvop1 is unable to find the “Cd” attribute because it is looking for point attributes. Houdini should export the expected values if you change the “Run Over” parameter on /obj/file1/attribvop1 to “Vertices”.
Technical Discussion » UI dual monitor interactivity issues
- derrick
- 329 posts
- Offline
Houdini 16.0.536 may fix the radial menu rendering under Microsoft Windows. Do you have the same problem with that build?
Technical Discussion » TopoBuild - Smooth All - R15 and R16 have different behaviour
- derrick
- 329 posts
- Offline
Technical Discussion » Export dop network as alembic
- derrick
- 329 posts
- Offline
The Alembic ROP currently does not support exporting scene data directly from DOP networks. An RFE has been submitted to support this workflow.
Houdini Lounge » Pie
- derrick
- 329 posts
- Offline
The main goal of the radial menus is to provide quicker access to tools. They let you keep one hand on the mouse/stylus and the pointer near the area you are working in the viewport. Also, menus can be quickly navigated without much effort visually parsing them if a frequently used item's position is known.
Houdini Indie and Apprentice » How to do face weighted normals in Houdini?
- derrick
- 329 posts
- Offline
HenrikVilhelmBerglund
That looks great, thanks! Now I just need to find out what makes that work… :shock:
Wrangle nodes let you run a snippet of VEX code on your data. The Attribute Wrangle SOP in this example runs over points so the code is evaluated for each point. Also, the “v@N” means a vector attribute called “N” on our data (in this case points). Here is an easier to read version of the code:
vector nml = { 0, 0, 0 };
// iterate over each primitive that references the current point
foreach(int pr; pointprims(@OpInput1, @ptnum))
{
// use the primitive's area as its weight in the weighted sum
float w = primintrinsic(0, “measuredarea”, pr);
// accumulate the primitve's normal at the primitive's center scaled by the weight
nml += w * prim_normal(@OpInput1, pr, 0.5, 0.5);
}
// normalize the vector
v@N = normalize(nml);
Edited by - May 2, 2016 16:35:13
Houdini Indie and Apprentice » How to do face weighted normals in Houdini?
- derrick
- 329 posts
- Offline
HenrikVilhelmBerglund
That method gives me hard edges which I don't really want, but it could be useful for some other things I guess. What I'm really looking for are smooth edges that kind of look like a high poly (subdivision) mesh when it's really just a simple mesh.
I don't think any built-in node provides the behaviour you described but a custom tool could be built using the Attribute Wrangle SOP. Attached is an example implementation.
Houdini Indie and Apprentice » Fur Guide problem
- derrick
- 329 posts
- Offline
jerry7
In this scene , the fur sop said: “The two sources have unmatched geometry”.
I don't understand the reason. Any help?
The Fur SOP looks for a primitive attribute called “guideorigin” on the guide curves that specifies where each guide hair attaches to the skin geometry in its rest pose. If the Fur SOP does not find that attribute, it assumes you want to use an old mode where guide hair ‘i’ should be attached to point ‘i’ in the skin geometry. The Fur SOP is complaining because it only found 6 guide hairs but there are 100 points in the skin geometry.
Attached is an example of how to create a “guideorigin” attribute.
You will also notice the Fur SOP interpolates the shape of nearby (see the “Guide Radius” parameter) guide hairs but does not affect where hairs are grown from.
Houdini Indie and Apprentice » Why is a force like gravity added after the RBD Solver?
- derrick
- 329 posts
- Offline
reelinspirations
I noticed that if you create an AutoDopNetwork, that Houdini adds the gravity at the very end, even after the static solver.
Is there a reason for this?
The Static Solver ignores gravity data but a Gravity DOP is added to the network because you likely will later add something that should be affected by gravity. Using a standard layout with placeholder merge nodes makes it easier to write shelf tools that need to manipulate the DOP network.
reelinspirations
It's also hard for me to understand how gravity can affect the Rigid Body Solver even when it's downstream.
The DOP network basically performs two passes when it cooks each frame. The first pass evaluates nodes in the DOP network. In most simple simulations, the DOP nodes introduce objects and data into the simulation during this pass on the first frame and do nothing on all later frames. The second pass runs the solvers that have been applied to objects in the simulation. In most simple simulations, nothing happens on the first frame during this pass but on later frames the solvers update simulation objects to reflect the passing of a timestep.
It doesn't matter which order the Rigid Body Solver and Gravity DOP are applied because the gravity data is added to the simulation during the first pass and the Rigid Body Solver discovers the applied gravity data when it is run during the second pass.
The Geometry Spreadsheet is really helpful in understanding what is happening during a simulation.
Technical Discussion » H15 Data Parameter ?
- derrick
- 329 posts
- Offline
jerry7
where is pre/poststroke parameter ?
The Curve Groom SOP's prestroke parameter is invisible. To see it in the type properties window, enable the “Show Invisible Parameters” toggle on the Parameters tab.
Technical Discussion » H15 Data Parameter ?
- derrick
- 329 posts
- Offline
Doudini
I was looking for that poststroke callback you mention.
The Curve Groom SOP does not need to perform any action after a stroke completes so it does not provide a poststroke callback. If you are developing a custom tool based on the stroke state and it needs to perform some action at the end of a stroke, a poststroke callback parameter can be used.
Technical Discussion » H15 Data Parameter ?
- derrick
- 329 posts
- Offline
Doudini
For example where does the curve groom HDA execute the caching once the stroke is finished ? it seems to execute the python script definition prestroke() after each stroke is finished, but i dont know how and when its doing that?
The Stroke State is responsible for that behaviour. When starting a new stroke, it looks for a callback parameter called “prestroke” and runs it. At the end of stroke, it looks for a callback parameter called “poststroke” and runs that too. These hooks allow customisation of tools based on the stroke state. The Curve Groom SOP uses the “prestroke” hook to store the result of any previously performed strokes into a data parameter. The data parameter's value is used by the Curve Groom SOP as a starting point for applying new strokes (the geometry is retrieved with a Python SOP).
Technical Discussion » About TopoBuild
- derrick
- 329 posts
- Offline
vux
I really want to use this SOP for my tools, because it can store many operations in one SOP. It can help in my scripts to avoid many SOPs (like many PolySplit nodes for example).
The TopoBuild SOP is really only intended for interactive use with the TopoBuild state and its future development will be driven by this state's needs. It does not provide options for customising the behaviour from what is expected for the manual topology reconstruction use case (eg. no options to customise the edge dissolve behaviour). A Python SOP or an HDA that iterates over a list of operations may be more appropriate for custom tools.
The raw data for the “Rewire Primitives” tool basically describes which points each primitive should reference. It is used by the TopoBuild state when it wants to perform an operation similar to the consolidate mode of the Fuse SOP.
Technical Discussion » About TopoBuild
- derrick
- 329 posts
- Offline
vux
TopoBuild SOP contains ‘Rewire Primitives’ operation type. How it works?
It is an internal operation used in situations where points should be fused/removed when manually editing points. To see it used, grab a boundary point and drag it over to another boundary point until it snaps then inspect the TopoBuild SOP's parameters.
Technical Discussion » Wire solver attracting forces
- derrick
- 329 posts
- Offline
Attached is an updated example that will work with Houdini 15.0. Basically, the Wire Object in Houdini 15.0 was updated to make some workflows easier and more consistent with other solvers. Instead of using the “fexternal” and “texternal” point attributes to apply forces and torques to Wire Objects, use “force” and “torque”. Also, the Wire Object now only has a single geometry subdata. The Wire Solver expects to find the attributes on this piece of subdata.
Technical Discussion » h15 data parameter in type properties
- derrick
- 329 posts
- Offline
tamte
and the motivation is probably to provide fast and flexible way to cache arbitrary data (well, at least geometry) for your tools in order to avoid slow and dangerous workaround using editable nodes and node locking within HDAs
Yes, one of the main goals for the Data Parameter is to provide a better alternative to editable nodes in an HDA. You can see an example of it in use in the Curve Groom SOP. In that HDA, the “Cache Strokes” button (an invisible parameter) is used to store some geometry in a data parameter and a Python SOP in the HDA makes use of the stored geometry.
Technical Discussion » topobuild
- derrick
- 329 posts
- Offline
keyframe
Would it be worth while to consider adding that, along with the ability to edge slide along the templated topology?
Absolutely. We would like to improve the TopoBuild tool so those mesh manipulations can be done directly in the tool.
Technical Discussion » topobuild
- derrick
- 329 posts
- Offline
keyframe
Can't seem to figure out how to insert an edge loop while manipulating points – can anyone clue me in?
Currently you cannot insert edge loops directly in the TopoBuild tool. However, you can use the Edge Loop tool on the “Polygon” shelf to add edge loops then click the TopoBuild tool on the “Model” shelf to continue your work.
-
- Quick Links