Found 5514 posts.
Search results Show results as topic list.
Houdini Indie and Apprentice » Way to stop FEM simulation inter-penetrating?
- tamte
- 8582 posts
- Online
when you specify the name of the attribute it should be lowercase force, it needs to match the geometry attribute name exactly. which is lowercase
Houdini Indie and Apprentice » Way to stop FEM simulation inter-penetrating?
- tamte
- 8582 posts
- Online
yes, force is pretty unified in H13 so it works for particles, FLIP, wires, cloth, FEM, RBD
in earlier versions you could add some value to v for FLIP or use fexternal for cloth, VOP Force for RBDs… to control your sim besides the DOP Forces
transforming points directly is usually a bad idea since solver then needs to solve interpenetrations that you may cause that way which may be much more trickier(and many times too late) than letting the solver prevent interpenetration in the first place by solving the positions internally by integrating forces and velocities
in earlier versions you could add some value to v for FLIP or use fexternal for cloth, VOP Force for RBDs… to control your sim besides the DOP Forces
transforming points directly is usually a bad idea since solver then needs to solve interpenetrations that you may cause that way which may be much more trickier(and many times too late) than letting the solver prevent interpenetration in the first place by solving the positions internally by integrating forces and velocities
Houdini Indie and Apprentice » what's wrong with this script ?
- tamte
- 8582 posts
- Online
you are setting the renderer outside of any filtering function so it will not be called in the right time for the actual mantra node that is being processed, but rather globally before everything
this should work
import mantra
def filterCamera():
mantra.setproperty('renderer:renderengine','raytrace')
this should work
import mantra
def filterCamera():
mantra.setproperty('renderer:renderengine','raytrace')
Houdini Indie and Apprentice » Way to stop FEM simulation inter-penetrating?
- tamte
- 8582 posts
- Online
that's because you are moving the points in SOP solver directly
what you need to do inside of your SOP Solver is just introduce vector attribute named: force
and let FEM solver to move the points accordingly
what you need to do inside of your SOP Solver is just introduce vector attribute named: force
and let FEM solver to move the points accordingly
Houdini Lounge » FEM force feedback
- tamte
- 8582 posts
- Online
we are waiting for proper RBD/Cloth interaction since H10 and were advised to use temporary fix with stiff cloth objects and now stiff solid object
however that is not the same as interaction with RBD/Bullet, especially if I want complex constrained ragdoll with breaking off pieces to bounce off the trampoline for example, can't imagine straightforward way how to replicate all of it with Solid objects (and simulation time is another concern)
the glimpse of hope was this, introduced in h12.5
http://www.sidefx.com/docs/houdini13.0/cloth/interaction_solvers [sidefx.com]
but since Enable Impact Feedback checkbox doesn't exist on Cloth Solver or FEM solver, I guess we still need to wait for proper solution
it would be as well nice to get at least Bullet Cloth/SBD implementation so that we have some working multiphysics enviromnemt, results from Momentum (Bullet ICE implementation) plugin for Softimage are too impressive to ignore
however that is not the same as interaction with RBD/Bullet, especially if I want complex constrained ragdoll with breaking off pieces to bounce off the trampoline for example, can't imagine straightforward way how to replicate all of it with Solid objects (and simulation time is another concern)
the glimpse of hope was this, introduced in h12.5
http://www.sidefx.com/docs/houdini13.0/cloth/interaction_solvers [sidefx.com]
but since Enable Impact Feedback checkbox doesn't exist on Cloth Solver or FEM solver, I guess we still need to wait for proper solution
it would be as well nice to get at least Bullet Cloth/SBD implementation so that we have some working multiphysics enviromnemt, results from Momentum (Bullet ICE implementation) plugin for Softimage are too impressive to ignore
Houdini Indie and Apprentice » Renaming OTL's
- tamte
- 8582 posts
- Online
Windows/Operator Type Manager
find your OTL, Right-click your asset name/Duplicate…
correct your name, Accept, it will create copy of your asset with different name
Right-click original asset name/Delete
just be careful if you are using the old asset in any scene, because deleting it will cause your scenes not finding it, so you either need to replace it with new type in your scenes, or just specify different otl file for your new asset, but I guess this is not your case
find your OTL, Right-click your asset name/Duplicate…
correct your name, Accept, it will create copy of your asset with different name
Right-click original asset name/Delete
just be careful if you are using the old asset in any scene, because deleting it will cause your scenes not finding it, so you either need to replace it with new type in your scenes, or just specify different otl file for your new asset, but I guess this is not your case
Houdini Indie and Apprentice » Accessing primitives length for size relative UV mapping
- tamte
- 8582 posts
- Online
use
UV texture SOP (uniform spline or similar) to create normalized (0-1) UVs in x (or y)
Measure SOP to compute Perimeter attribute per primitive (which is length of the curve)
Attribute Promote perimeter to point
Attrib Wrangle in Point or Vertex Mode (whichever you want your uvs to be)
@uv.x *= f@perimeter;
UV texture SOP (uniform spline or similar) to create normalized (0-1) UVs in x (or y)
Measure SOP to compute Perimeter attribute per primitive (which is length of the curve)
Attribute Promote perimeter to point
Attrib Wrangle in Point or Vertex Mode (whichever you want your uvs to be)
@uv.x *= f@perimeter;
Houdini Lounge » Problem with Lights "Attenuation Ramp Multiplier"
- tamte
- 8582 posts
- Online
it's not about light attenuation but your camera
because all shading is done in camera space, the scale of the camera is important
and because you've scaled camera parent you scaled camera as well and that can mess up a lot of things not only light attenuation, but all your displacements, bias length, SSS attenuation, etc.
to correct that you can simply unhide Scale Parameter on camera and type following expressions in respective scale xyz fields
origin(opinputpath(“.”,0), “”, “SX”)
origin(opinputpath(“.”,0), “”, “SY”)
origin(opinputpath(“.”,0), “”, “SZ”)
it will make sure that you camera scale in the world space is 1 no matter where in hierarchy it is and how many parents of it are scaled
or you can use chops, Blend Obj, or any other way to simply make sure that your camera scale stays 1
because all shading is done in camera space, the scale of the camera is important
and because you've scaled camera parent you scaled camera as well and that can mess up a lot of things not only light attenuation, but all your displacements, bias length, SSS attenuation, etc.
to correct that you can simply unhide Scale Parameter on camera and type following expressions in respective scale xyz fields
origin(opinputpath(“.”,0), “”, “SX”)
origin(opinputpath(“.”,0), “”, “SY”)
origin(opinputpath(“.”,0), “”, “SZ”)
it will make sure that you camera scale in the world space is 1 no matter where in hierarchy it is and how many parents of it are scaled
or you can use chops, Blend Obj, or any other way to simply make sure that your camera scale stays 1
Houdini Lounge » new popnet 1.st problem
- tamte
- 8582 posts
- Online
you can either set your emission type to All Points
or use npoints() expression instead of $NPT to get number of points of the node you want
or use npoints() expression instead of $NPT to get number of points of the node you want
Technical Discussion » Skin exterior points of a divided polygon
- tamte
- 8582 posts
- Online
what you probably want is change primitive type to Polygon Mesh and use Axis Divisions
Houdini Lounge » Debug expressions
- tamte
- 8582 posts
- Online
if by expressions you mean hscript expressions there is
print() function for that
for python use native print statement
if you mean VEXpressions you can use VEX printf() function or simply export value to attribute using @ syntax
print() function for that
for python use native print statement
if you mean VEXpressions you can use VEX printf() function or simply export value to attribute using @ syntax
Houdini Lounge » gamma question
- tamte
- 8582 posts
- Online
Houdini Lounge » gamma question
- tamte
- 8582 posts
- Online
if you are using H13 then texture VOP inside of your material can adjust colorspace
by default is set to Automatic which removes sRGB gamma from 8bit image formats, you can however set it to “linear” if you are sure your 8bit image is linear
by default is set to Automatic which removes sRGB gamma from 8bit image formats, you can however set it to “linear” if you are sure your 8bit image is linear
Technical Discussion » Exporting to .obj and can't change the normals
- tamte
- 8582 posts
- Online
you may want to try Reverse SOP as that is reversing geometric normal instead of just an attribute
Technical Discussion » variable viscosity
- tamte
- 8582 posts
- Online
there is an example file in help for FLIP Solver called VariableViscosity
otherwise its as simple as having viscosity attribute on particles and check Enable Viscosity and Viscosity By Attribute on FLIP Solver node
otherwise its as simple as having viscosity attribute on particles and check Enable Viscosity and Viscosity By Attribute on FLIP Solver node
Houdini Learning Materials » copy SOP? Something that should be simple...
- tamte
- 8582 posts
- Online
you probably want Object Merge SOP to get any geometry from another object
then if you want to copy to get more, you need to connect it to the first input of the Copy
SOP
the Source Group is for specifying primitive group of the first input, not for sop you want to copy
EDIT: graham was faster
then if you want to copy to get more, you need to connect it to the first input of the Copy
SOP
the Source Group is for specifying primitive group of the first input, not for sop you want to copy
EDIT: graham was faster
Technical Discussion » packed primitives material assignment
- tamte
- 8582 posts
- Online
Netvudu
Well, don´t get me wrong, Mark. I appreciate both your explanation and the packed geometry feature, but…seriously, no matter how I look at it, it looks as bad planning.
I mean…how long, after you guys told us how cool packed geo is and how well it works for dynamics, you were expecting for us to try to actually render those dynamics?
The very first thing anybody is going to try is to shatter something, pack it, and sim it.
And then bamf! it doesn´t render properly, because you lost your inside and outside group…not very logical, is it?
Or maybe, we are supposed to unpack every time before render. Which I can live with, but I would expect someone to confirm it if that´s what I gotta do.
per primitive/per point attributes are kept inside of packed primitives and are properly accessable in the shader through Bind VOP/Parameter VOP as it's the case of unpacked geometry as well
the same goes for shop_materialpath attribute as mark mentioned so it uses correct material
on top of that you can get attributes of packed primitives through renderstate() as mark mentioned as well
that already gives you lots of power to vary each packed primitive's shader individually without unpacking
with a little bit of expectation from you to think ahead and prepare your packed primitives properly
additionally you can always unpack the packed fragments change what you need and pack them back
the fact that you loose groups is not a big deal if you've already assigned materials to them before packing them for dynamics
I'm not saying that it wouldn't be great to be able to override materials per group inside of packed primitives, but at the same time it doesn't stop you from rendering packed primitives at all
additionally what I miss in packed primitives is the ability to promote attributes to/from them while packing/unpacking
so that any attribute from packed primitive like Cd, pscale, etc can be composited with the same attribute on the geometry (packed inside) when unpacking it, so you can chose if it should replace, add, subtract, miltiply, divide, do weighted average, do nothing…
the same for packing, just extract that attribute like attribromote does First Match, Max, Min, …
and as well attributes applied to packed primitives like Cd are not visualized in the viewport, that would be cool as well
Technical Discussion » how to instance mutlimaterial bgeo ?
- tamte
- 8582 posts
- Online
renderstate packed:<attribname> will get attribute that's on the packed primitive, not inside
because you are creating attribute before packing, you can't get it by that function
so you either make sure that you create that attribute before packing
or much much easier, just use Bind VOP in your shader to get sphereColor vector attibute you created
it should work for your current setup
because you are creating attribute before packing, you can't get it by that function
so you either make sure that you create that attribute before packing
or much much easier, just use Bind VOP in your shader to get sphereColor vector attibute you created
it should work for your current setup
Technical Discussion » How to render level set surfaces?
- tamte
- 8582 posts
- Online
that shouldn't be a problem
but your problem could be that you didn't apply vm_volumedensity and vm_volumequality properties and set to correct values as both have wrong defaults for isosurface rendering
but your problem could be that you didn't apply vm_volumedensity and vm_volumequality properties and set to correct values as both have wrong defaults for isosurface rendering
Technical Discussion » Parameters in DOP controlled by expressions
- tamte
- 8582 posts
- Online
nodes like RBD Fractured Object are digital assets which have some parameters promoted from inside but not all
so
you need to unlock such asset (Rightclick/Allow Editing Of Contents)
find the original Parameter, in case of RBD Fractured Object/Glue Strength parameter it would be Glue Strength parameter on rbdstate1 node inside RBD Fractured Object and you will see the mode toggle next to it, just change it to Set Always there
then your expression on RBD Fractured Object/Glue Strength will be evaluated every timestep
so
you need to unlock such asset (Rightclick/Allow Editing Of Contents)
find the original Parameter, in case of RBD Fractured Object/Glue Strength parameter it would be Glue Strength parameter on rbdstate1 node inside RBD Fractured Object and you will see the mode toggle next to it, just change it to Set Always there
then your expression on RBD Fractured Object/Glue Strength will be evaluated every timestep
-
- Quick Links