Hi,
I use a rop alembic node to save a tree of obj/geo nodes. For pipeline purposes, the nodes in the alembic file must have special characters like ':' (e.g. transforms should be like objA:X), however in houdini a node name cannot have ':' (i.e. houdini will change the name from objA:X to objA:X). Is there any workaround?
cheers
Found 39 posts.
Search results Show results as topic list.
Technical Discussion » is it possible to include special characters in object name?
- catchyid
- 39 posts
- Offline
Technical Discussion » How to create nested obj level transforms?
- catchyid
- 39 posts
- Offline
Hi!
I want to mimic Maya transforms structure in Houdini, i.e. transform node A, when you dive, you will find another transform node B, when you dive in you find transform C.
Just to clarify, I understand I can flatten this hierarchy by connecting obj level transforms in parent-child relationship (so all nodes will be on top level obj), but I don't want this.
The only way I am to do is by creating obj sub-networks, for example: root obj --contains--> object sub-network A --dive in--> obj sub-network B. Is there any other solution?
Tx
I want to mimic Maya transforms structure in Houdini, i.e. transform node A, when you dive, you will find another transform node B, when you dive in you find transform C.
Just to clarify, I understand I can flatten this hierarchy by connecting obj level transforms in parent-child relationship (so all nodes will be on top level obj), but I don't want this.
The only way I am to do is by creating obj sub-networks, for example: root obj --contains--> object sub-network A --dive in--> obj sub-network B. Is there any other solution?
Tx
Edited by catchyid - April 25, 2024 09:00:23
Technical Discussion » how to write "pure" transforms from using rop alembic?
- catchyid
- 39 posts
- Offline
hi,
the alembic rop out node has a checkbox to "Create Shape Nodes" (so it's either on or off). I have a situation where for some packed primitives I want to write both "transform" and "shape", and other packed primitives I want to write only "transform"? Is this possible?
the alembic rop out node has a checkbox to "Create Shape Nodes" (so it's either on or off). I have a situation where for some packed primitives I want to write both "transform" and "shape", and other packed primitives I want to write only "transform"? Is this possible?
Technical Discussion » how to write to .arbGeomParams section in an alembic file
- catchyid
- 39 posts
- Offline
Technical Discussion » how to write to .arbGeomParams section in an alembic file
- catchyid
- 39 posts
- Offline
Hi,
I am using an alembic output rop and I need to write to the .arbGeomParams section of the alembic file, tried to configure alembic rop output in different configurations, but nothing is written to this section? PS. I need to write data to .arbGeomParams because the render engine reads this section specifically...
Tx
I am using an alembic output rop and I need to write to the .arbGeomParams section of the alembic file, tried to configure alembic rop output in different configurations, but nothing is written to this section? PS. I need to write data to .arbGeomParams because the render engine reads this section specifically...
Tx
Technical Discussion » [Bullet] Relationship between Glue strengths and generated Impacts?
- catchyid
- 39 posts
- Offline
Another Update + four questions:
1) Just watched a tutorial by sidefx (https://youtu.be/lG0iZCv-sPQ?t=602) and it states if impact on constraint > glue strength then constraint will break, now according to my attached test this is not the case!? I set glue strength to 1.0 and @Frame 18, I see many impacts > 1.0 but still see their constraints are not in broken group?
2) Glue constraint number 87 seems to be always there with impact value 30510 (at frame 50), although all other constraint impacts are decaying to zero, why is that?
3) Why constraint impact = 0 when there is no collision? Should not be any internal values to keep pieces stuck together and prevent from falling under their own weight force?
4) If I increase Glue Constraint strength, I get lower impacts? Meaning, in the attached file:
If I set glue strength = 1 –> max generated impact is 30,510 (piece 87 @ frame 18)
If I set glue strength = 100 –> max generated impact is 1,946 (piece 87 @ frame 18)
My question: Why generated impact is a function of glue strength? Should not be the impact function of piece mass, velocity for example only and not function of strength defined on constraint?
1) Just watched a tutorial by sidefx (https://youtu.be/lG0iZCv-sPQ?t=602) and it states if impact on constraint > glue strength then constraint will break, now according to my attached test this is not the case!? I set glue strength to 1.0 and @Frame 18, I see many impacts > 1.0 but still see their constraints are not in broken group?
2) Glue constraint number 87 seems to be always there with impact value 30510 (at frame 50), although all other constraint impacts are decaying to zero, why is that?
3) Why constraint impact = 0 when there is no collision? Should not be any internal values to keep pieces stuck together and prevent from falling under their own weight force?
4) If I increase Glue Constraint strength, I get lower impacts? Meaning, in the attached file:
If I set glue strength = 1 –> max generated impact is 30,510 (piece 87 @ frame 18)
If I set glue strength = 100 –> max generated impact is 1,946 (piece 87 @ frame 18)
My question: Why generated impact is a function of glue strength? Should not be the impact function of piece mass, velocity for example only and not function of strength defined on constraint?
Edited by catchyid - Aug. 5, 2019 11:51:30
Technical Discussion » [Bullet] Relationship between Glue strengths and generated Impacts?
- catchyid
- 39 posts
- Offline
Just an update: glue impacts are zero when an object, let's say a wall, is not interacting with any other objects, just holding itself under gravity –> this means that “impacts” do not measure impulse/stress generated by glue constraints (otherwise it will have some values to counter gravity pulling the wall down). Hmmm…so the whole idea of measuring impacts and using them to set constraints strength is just wrong (unless I find the right parameter to measure)! Now going back to square one: i.e. how to set constraints strength such that I guarantee some will break and some won't…
Technical Discussion » [Bullet] Relationship between Glue strengths and generated Impacts?
- catchyid
- 39 posts
- Offline
Hi,
I need to compute max impact on glue constraints (call it max_impact), and use it to set glue constraint strengths such as: to break constraints set their f@strength<max_impact, otherwise set f@strength>max_impact. The idea here is to sim twice: first compute max_impacts on constraints, then sim a second time to glue strength either < or > than max_impacts. The problem here is each time I change glue f@strength, I get new max_impact? My initial thought is max_impact should be function of object density, speed,… and not related to glue strength?
Notes:
a-I compute max_impact by promoting impacts generating on constraints using “maximum” mode.
b-Below are 2 tests to demonstrate the “problem”:
Test 1: set Glue strength = 20e9 –> computed max impact on constraints = 2,879
Test 2: set Glue strength = 20e1 –> computed max impact on constraints = 286,801.8
As I mentioned above is max_impacts seems function of Glue strength? Attached is a simple hip file for the tests…
Thanks
I need to compute max impact on glue constraints (call it max_impact), and use it to set glue constraint strengths such as: to break constraints set their f@strength<max_impact, otherwise set f@strength>max_impact. The idea here is to sim twice: first compute max_impacts on constraints, then sim a second time to glue strength either < or > than max_impacts. The problem here is each time I change glue f@strength, I get new max_impact? My initial thought is max_impact should be function of object density, speed,… and not related to glue strength?
Notes:
a-I compute max_impact by promoting impacts generating on constraints using “maximum” mode.
b-Below are 2 tests to demonstrate the “problem”:
Test 1: set Glue strength = 20e9 –> computed max impact on constraints = 2,879
Test 2: set Glue strength = 20e1 –> computed max impact on constraints = 286,801.8
As I mentioned above is max_impacts seems function of Glue strength? Attached is a simple hip file for the tests…
Thanks
Technical Discussion » C++ Effects Programming
- catchyid
- 39 posts
- Offline
Hi,
I have been doing FX using Houdini for almost 1.5 year now, and I have over than 10 years of experience in C++ programming/algorithms. I am wondering what could be improved in Houdini Effects using C++? Is there any kind of effects that require more logic than just using simple VEX or Python scripts?
I know there are many translators between Houdini/Arnold/etc. integrations that could be written, but I am more interested in Effects programming, i.e. a program that would create hard to create effects using Houdini current built-in tools.
Any ideas are really appreciated
I have been doing FX using Houdini for almost 1.5 year now, and I have over than 10 years of experience in C++ programming/algorithms. I am wondering what could be improved in Houdini Effects using C++? Is there any kind of effects that require more logic than just using simple VEX or Python scripts?
I know there are many translators between Houdini/Arnold/etc. integrations that could be written, but I am more interested in Effects programming, i.e. a program that would create hard to create effects using Houdini current built-in tools.
Any ideas are really appreciated
Technical Discussion » constraints to alembic mesh (deforming static object)
- catchyid
- 39 posts
- Offline
Hi,
I have an animated alembic mesh - let's just say a plane. My goal is to import the plane animation and make its wing hits a tower and gets destroyed (let's assume a wing is a solid body, the tower is just a static object).
My question: I want the wing to be attached to the plane and breaks when it hits the tower, what's the best way to do that? I've tried to import the plane as deforming static object and use glue constraint but that did not work (the wing did not follow the plane). Any idea how to achieve this task?
I have an animated alembic mesh - let's just say a plane. My goal is to import the plane animation and make its wing hits a tower and gets destroyed (let's assume a wing is a solid body, the tower is just a static object).
My question: I want the wing to be attached to the plane and breaks when it hits the tower, what's the best way to do that? I've tried to import the plane as deforming static object and use glue constraint but that did not work (the wing did not follow the plane). Any idea how to achieve this task?
Technical Discussion » Pyro smoke - snow/dust sim question
- catchyid
- 39 posts
- Offline
Hi,
I want to sim dust/snow coming from car wheels. There are two ways to make the snow/dust look organic:
A- add noise vel (e.g. curl) to the density source, or
B- add a pre-roll noise vel such that once density is emitted it gets advected by the nosie
My biggest problem with the above methods is their complete randomness, meaning: in one sim the emission pattern looks nice, but the rest of sim looks bad, or vise versa. In my tests, B produces better results, however density keeps advected by the noise no matter how far it's from the source which looks “strange” (my goal is: organic emission, then density diffuses gracefully eventually, i.e. the more time passes the less turbulent it becomes).
Using noises as above is very time consuming and makes feel like I am rolling a dice, each time I change noise parameter and “hope” it will give good result. I am wondering what other artists do to control the sim and produce results quickly for an effect such as effect. A visual reference of what I want to achieve is this:
https://www.youtube.com/watch?list=PLoLGw2noZ3NWU-Wwf1zuZ03fghs5e3atS&v=Mhsct3YavxQ [www.youtube.com]
I want to sim dust/snow coming from car wheels. There are two ways to make the snow/dust look organic:
A- add noise vel (e.g. curl) to the density source, or
B- add a pre-roll noise vel such that once density is emitted it gets advected by the nosie
My biggest problem with the above methods is their complete randomness, meaning: in one sim the emission pattern looks nice, but the rest of sim looks bad, or vise versa. In my tests, B produces better results, however density keeps advected by the noise no matter how far it's from the source which looks “strange” (my goal is: organic emission, then density diffuses gracefully eventually, i.e. the more time passes the less turbulent it becomes).
Using noises as above is very time consuming and makes feel like I am rolling a dice, each time I change noise parameter and “hope” it will give good result. I am wondering what other artists do to control the sim and produce results quickly for an effect such as effect. A visual reference of what I want to achieve is this:
https://www.youtube.com/watch?list=PLoLGw2noZ3NWU-Wwf1zuZ03fghs5e3atS&v=Mhsct3YavxQ [www.youtube.com]
Technical Discussion » General FLIP Questions
- catchyid
- 39 posts
- Offline
Thanks Jeff for your help I “think” I should read more about the physics of FLIP simulation to better understand how things work
Technical Discussion » General FLIP Questions
- catchyid
- 39 posts
- Offline
Thanks Tomas so much for your reply Do you think I need to understand the math/physics of FLIP simulation in order to better control/understand the sim? or experience and testing are enough?
I have other questions, any help is appreciated
A) Are there any advantages for having particles per voxel more than gridscale^3? (i.e. changing the particle reseeding to more than 8)? The logical answer is “smoother” sim, but I am questioning: having more particles than gridscale^3 seems like squeezing too many particles in one voxel that should eventually spread up to maintain their particle separation?
B) Liquid Surface : you discussed that voxels inside the surface should have enough particles to represent the liquid. My question: who defines liquid surface in the first place? From my simple tests, I think it's defined by the liquid emitter and then it changes to accommodate for particles leaving the surface? (i.e. in case of a splash, many particles leave the surface, hence the solver somehow changes the surface to encompass the new particles?)
Thanks,
I have other questions, any help is appreciated
A) Are there any advantages for having particles per voxel more than gridscale^3? (i.e. changing the particle reseeding to more than 8)? The logical answer is “smoother” sim, but I am questioning: having more particles than gridscale^3 seems like squeezing too many particles in one voxel that should eventually spread up to maintain their particle separation?
B) Liquid Surface : you discussed that voxels inside the surface should have enough particles to represent the liquid. My question: who defines liquid surface in the first place? From my simple tests, I think it's defined by the liquid emitter and then it changes to accommodate for particles leaving the surface? (i.e. in case of a splash, many particles leave the surface, hence the solver somehow changes the surface to encompass the new particles?)
Thanks,
Technical Discussion » Simplifying FLIP simulation
- catchyid
- 39 posts
- Offline
Thanks Enivob for your help and thanks for the expression
Thanks Tomas,Yes, I am using fluidcompress.
The problem is the sim result is approved and I “should not” resim it, so my goal is to add whitewater only…I can resample the VDBs to lower their resolutions, but I have no clue how to down sample the particles packed geo (actually, I don't understand them much…)
Thanks,
Thanks Tomas,Yes, I am using fluidcompress.
The problem is the sim result is approved and I “should not” resim it, so my goal is to add whitewater only…I can resample the VDBs to lower their resolutions, but I have no clue how to down sample the particles packed geo (actually, I don't understand them much…)
Thanks,
Technical Discussion » Simplifying FLIP simulation
- catchyid
- 39 posts
- Offline
Hi,
I have a heavy FLIP simulation, my machine has 64 GB RAM and it can barely finish the sim! Anyways, the sim result is stored as surface and vel VDB and packed geo for particles.I using these VDB and particles for whitewater simulation, however it's terribly slow (e.g. it takes couple seconds just to create source particles for whitewater sim).
My question : is there a way to simplify the results coming out from FLIP simulation? I've tried using VDB LOD but it's seems to be broken (it changes volumes names randomly and nothing works after), also I've tried VDB Resample, and it did lower the VDBs resolution, but I got the same particles count which still makes whitewater sim very slow??
I have a heavy FLIP simulation, my machine has 64 GB RAM and it can barely finish the sim! Anyways, the sim result is stored as surface and vel VDB and packed geo for particles.I using these VDB and particles for whitewater simulation, however it's terribly slow (e.g. it takes couple seconds just to create source particles for whitewater sim).
My question : is there a way to simplify the results coming out from FLIP simulation? I've tried using VDB LOD but it's seems to be broken (it changes volumes names randomly and nothing works after), also I've tried VDB Resample, and it did lower the VDBs resolution, but I got the same particles count which still makes whitewater sim very slow??
Technical Discussion » General FLIP Questions
- catchyid
- 39 posts
- Offline
Technical Discussion » General FLIP Questions
- catchyid
- 39 posts
- Offline
Hi,
I have some FLIP questions, any help is appreciated
1- In particles reseeding, how is "Particle reseeding -> Particles per Voxel“ useful? meaning, what difference does it make to set it to 4,8 or 16?
2- ”FLIP Object->Grid Scale“ and ”Particle reseeding->Particles Per Voxel" seem to define the same thing? i.e a bigger grid will have more particles per voxel, so why redefine the number of particles per voxel again?
3- What does mean that particles are “unresolved” ?
4- I understand that the “pressure projection” solve is the process that changes particles velocities to compensate for pressure differences (i.e. move particles from high to low pressure). My question: if the number of particles per voxel can change freely (i.e. particles reseeding, voxel size, …) what really defines pressure? i.e. what makes some areas of fluid have more pressure than others?
5- According to docs, Particles reseeding will increase spawn particles if they are below a certain count per voxel and vise versa. My question: what makes particles diseapear in the first place? I understand they are moving, but so what? If they leave a voxel then the voxel becomes empty and it's even “wrong” to create particles just to meet the minimum particles count per voxel? The same question applies on having “too” many particles per voxel, what this happens in the first place and what does it mean?
Thanks
I have some FLIP questions, any help is appreciated
1- In particles reseeding, how is "Particle reseeding -> Particles per Voxel“ useful? meaning, what difference does it make to set it to 4,8 or 16?
2- ”FLIP Object->Grid Scale“ and ”Particle reseeding->Particles Per Voxel" seem to define the same thing? i.e a bigger grid will have more particles per voxel, so why redefine the number of particles per voxel again?
3- What does mean that particles are “unresolved” ?
4- I understand that the “pressure projection” solve is the process that changes particles velocities to compensate for pressure differences (i.e. move particles from high to low pressure). My question: if the number of particles per voxel can change freely (i.e. particles reseeding, voxel size, …) what really defines pressure? i.e. what makes some areas of fluid have more pressure than others?
5- According to docs, Particles reseeding will increase spawn particles if they are below a certain count per voxel and vise versa. My question: what makes particles diseapear in the first place? I understand they are moving, but so what? If they leave a voxel then the voxel becomes empty and it's even “wrong” to create particles just to meet the minimum particles count per voxel? The same question applies on having “too” many particles per voxel, what this happens in the first place and what does it mean?
Thanks
Edited by catchyid - Aug. 30, 2017 16:22:20
Technical Discussion » VDB multiplication by (-1) problem
- catchyid
- 39 posts
- Offline
Hi,
I have FLIP simulation that I convert to VDB (i.e. in the Particle Fluid Surface node, I set output to “Surface VDB”). I am rendering the VDB in an external renderer that requires negative VDB densities (or to be more clear, it requires positive densities inside the volume), so in a Volume VOP I multiply incoming “density” by (-1) and wire the result to output “density” (plz, see attached image). However, when I do the multiplication, I get “new” voxels inside the VDB??? Meaning, I get positive densities in voxels that were zero before the multiplication??? The problem is gone when I converted the VDB into a native Houdini Volume then converted the result into VDB again (but this is inefficient). My question: why VDB multiplication creates new voxels?Is there a way to avoid this problem without converting back and forth between native and VDB volumes?
Thanks,
I have FLIP simulation that I convert to VDB (i.e. in the Particle Fluid Surface node, I set output to “Surface VDB”). I am rendering the VDB in an external renderer that requires negative VDB densities (or to be more clear, it requires positive densities inside the volume), so in a Volume VOP I multiply incoming “density” by (-1) and wire the result to output “density” (plz, see attached image). However, when I do the multiplication, I get “new” voxels inside the VDB??? Meaning, I get positive densities in voxels that were zero before the multiplication??? The problem is gone when I converted the VDB into a native Houdini Volume then converted the result into VDB again (but this is inefficient). My question: why VDB multiplication creates new voxels?Is there a way to avoid this problem without converting back and forth between native and VDB volumes?
Thanks,
Technical Discussion » FLIP Particle Separation meaning?
- catchyid
- 39 posts
- Offline
Technical Discussion » FLIP Particle Separation meaning?
- catchyid
- 39 posts
- Offline
Hi,
I am new to FLIP. As far as I understand it, FLIP is both grid + particle simulation. In the DOP FLIP Object, I could not understand the meaning of “Particle Separation”. Below is its definition in the documentation:
“This parameter controls the interaction distance between particles in the created Particle Fluid Object. Decreasing this value will decrease the distance between your particles making it more impressive, but may also slow down your simulation, since it will take longer to simulate. Decreasing particle separation means more particles that weigh less, but add up to the same mass per unit area.”
1) Does Particle Separation equal to Grid Spacing? I am guessing so because the bigger I set it, the lower FLIP grids produced (i.e. pressure, surface, vel).
2) Why does decreasing particle separation mean more particles with less weight? Does Particle Separation control the number of particles? Actually, I've noticed that with bigger particle separation I get more particles, but I don't know why/how these particles are created? Isn't that particles are spawned only from SOP Fluid Source emitter? Who creates these new particles?
Thanks
I am new to FLIP. As far as I understand it, FLIP is both grid + particle simulation. In the DOP FLIP Object, I could not understand the meaning of “Particle Separation”. Below is its definition in the documentation:
“This parameter controls the interaction distance between particles in the created Particle Fluid Object. Decreasing this value will decrease the distance between your particles making it more impressive, but may also slow down your simulation, since it will take longer to simulate. Decreasing particle separation means more particles that weigh less, but add up to the same mass per unit area.”
1) Does Particle Separation equal to Grid Spacing? I am guessing so because the bigger I set it, the lower FLIP grids produced (i.e. pressure, surface, vel).
2) Why does decreasing particle separation mean more particles with less weight? Does Particle Separation control the number of particles? Actually, I've noticed that with bigger particle separation I get more particles, but I don't know why/how these particles are created? Isn't that particles are spawned only from SOP Fluid Source emitter? Who creates these new particles?
Thanks
-
- Quick Links