it was a very good solution for static points
and yes, now read_Alembic node inside Bifrost graph works perfectly for animated points
Found 1391 posts.
Search results Show results as topic list.
Technical Discussion » Import ABC point cloud in Maya
- Sadjad Rabiee
- 1391 posts
- Offline
Technical Discussion » COP file node, load by filePattern?
- Sadjad Rabiee
- 1391 posts
- Offline
Hi
You can use below python script for doing this :
check attached project
You can use below python script for doing this :
import glob subF = "PATH to SUBFOLDER" file = subF + "*_spec.jpg" #PATTERN a = glob.glob(file) # SEARCH FOR FILE return a[0] # RETURN FULL PATH OF THE FILE
check attached project
Houdini Indie and Apprentice » Scaling Object
- Sadjad Rabiee
- 1391 posts
- Offline
This is happening in every 3D software not just Houdini !
That's a rule, if you scale everything in one axis, it will deform !
As BabaJ said, you have to consider this in modeling.
That's a rule, if you scale everything in one axis, it will deform !
As BabaJ said, you have to consider this in modeling.
Technical Discussion » pcopen - pcfilter vs attribute transfer
- Sadjad Rabiee
- 1391 posts
- Offline
Hi
Actually there are lots of ways to do that as other guys said.
All of them are correct and I want to just mention that if you want to find closest points, there is one more vex function which is a little bit faster than PC find. It is nearpoints() which give you list of all closest points to current position.
Also ray sop is faster than relative functions in vex and VOP.(e.g intersect VOP or xyz distance)
About PC filter, it is exactly same as using pcfind and compute average values in the loop, so working with pcopen an pcfiltter maybe is a little simpler. However for this subject because of speed I don't suggest you to use any point cloud methods.
In overall as others said, if you have distance of closest points to current point , you can simply control the fall off by ramp attribute or smooth function.
Actually there are lots of ways to do that as other guys said.
All of them are correct and I want to just mention that if you want to find closest points, there is one more vex function which is a little bit faster than PC find. It is nearpoints() which give you list of all closest points to current position.
Also ray sop is faster than relative functions in vex and VOP.(e.g intersect VOP or xyz distance)
About PC filter, it is exactly same as using pcfind and compute average values in the loop, so working with pcopen an pcfiltter maybe is a little simpler. However for this subject because of speed I don't suggest you to use any point cloud methods.
In overall as others said, if you have distance of closest points to current point , you can simply control the fall off by ramp attribute or smooth function.
Houdini Indie and Apprentice » IPR vs Render to Disk Divergence
- Sadjad Rabiee
- 1391 posts
- Offline
It should be because of Gamma !
Mplay shows the result with Gamma 2.2 by default.
You should use same Gamma in Nuke.
Mplay shows the result with Gamma 2.2 by default.
You should use same Gamma in Nuke.
Houdini Lounge » Laptop for Houdini
- Sadjad Rabiee
- 1391 posts
- Offline
Hi
If you want to use Houdini as modeling software, that laptop should be fine.
GTX 1060 with at least 16 GB RAM and CPU i7 ideally 7 and 8 generation.
However for other parts specially FX I think Microsoft surface is not good option as it is expensive and you can't find proper specifications on that.
We have laptops with CPU i9 (even with i9 9900k) CPUs , gtx 1080 or rtx 2080 and 32gb of memory at least which are great for all of the parts of Houdini with reasonable prices.
Alienware, MSI GT series and Asus ROG series and some of them are so light and slim aswell such as MSI GS65.
of course if you don't need tablet.
If you want to use Houdini as modeling software, that laptop should be fine.
GTX 1060 with at least 16 GB RAM and CPU i7 ideally 7 and 8 generation.
However for other parts specially FX I think Microsoft surface is not good option as it is expensive and you can't find proper specifications on that.
We have laptops with CPU i9 (even with i9 9900k) CPUs , gtx 1080 or rtx 2080 and 32gb of memory at least which are great for all of the parts of Houdini with reasonable prices.
Alienware, MSI GT series and Asus ROG series and some of them are so light and slim aswell such as MSI GS65.
of course if you don't need tablet.
Technical Discussion » Velocity from Volume for RBD sim
- Sadjad Rabiee
- 1391 posts
- Offline
As mkps said you can simply use POP Advect by Volume and there is no need to use sop solver or attribute from volume or etc as using of these nodes speed down your simulation.
This node transfers velocity from volume to rbd pieces per each frame.
Also if you like to have more control over this operation you can do this manually via POP Wrangle DOP or POP VOP DOP.
The thing you just need is Volume Sample Vector node in POP VOP or same function in POP Wrangle.
With this node/function you can grab velocity from Volume according to position of rbd pieces.
This node transfers velocity from volume to rbd pieces per each frame.
Also if you like to have more control over this operation you can do this manually via POP Wrangle DOP or POP VOP DOP.
The thing you just need is Volume Sample Vector node in POP VOP or same function in POP Wrangle.
With this node/function you can grab velocity from Volume according to position of rbd pieces.
Technical Discussion » Average points on primitives.
- Sadjad Rabiee
- 1391 posts
- Offline
Hi
What do you mean of average ?!
Average for what ? Position ?
And per what ? Next point ?
However you can do any specific operation per each point via point wrangle sop.
E.g about averaging position, you can get position of next point with point() function and compute average of that position by current point position which is @P.
What do you mean of average ?!
Average for what ? Position ?
And per what ? Next point ?
However you can do any specific operation per each point via point wrangle sop.
E.g about averaging position, you can get position of next point with point() function and compute average of that position by current point position which is @P.
Houdini Lounge » Multithreading Optimization
- Sadjad Rabiee
- 1391 posts
- Offline
That kind of articles are showing you how Houdini can be so customized for your projects and you can do a lots of things underneath without limitation.
Houdini Lounge » Multithreading Optimization
- Sadjad Rabiee
- 1391 posts
- Offline
Hi
Yes, Houdini is optimized for multithreading in out of the box.
Most of the nodes are multithreaded.
In some of my tests even without any optimization Houdini was so faster than Maya on a pretty same setup.
But for advanced jobs, if you need more speed, Houdini let you to do some extra optimization .
E.g you can use compile sop inside of Geometry network to compute a group of nodes on different threads or writing OpenCL code to use GPU cores.
Just you should know CPU with more cores is not the only key factor to speed up your simulation.
You should thinking about good GPU too as in last versions of Houdini most of the nodes and solvers are using GPU too.(OpenCL)
You would experience a huge difference when using OpenCL specially in dynamic simulations.
Maybe in cloe future, Mantra will using it aswell.
Yes, Houdini is optimized for multithreading in out of the box.
Most of the nodes are multithreaded.
In some of my tests even without any optimization Houdini was so faster than Maya on a pretty same setup.
But for advanced jobs, if you need more speed, Houdini let you to do some extra optimization .
E.g you can use compile sop inside of Geometry network to compute a group of nodes on different threads or writing OpenCL code to use GPU cores.
Just you should know CPU with more cores is not the only key factor to speed up your simulation.
You should thinking about good GPU too as in last versions of Houdini most of the nodes and solvers are using GPU too.(OpenCL)
You would experience a huge difference when using OpenCL specially in dynamic simulations.
Maybe in cloe future, Mantra will using it aswell.
Technical Discussion » Distributed alembic write or alternative?
- Sadjad Rabiee
- 1391 posts
- Offline
Hi
Even if you want to import sequenced abc files with Maya native alembic, there is some free script for doing that.
The only limitation of Maya native alembic is it doesn't support particles when Houdini Alembic does.
About alternative faster format instead of Alembic, It's vdb !
I know there is new feature in vdb which let you to export other type of geometries not just volume and it is so fast and efficient.
But currently it is using by some vfx companies and I think it's not released for public yet !
My suggestion about your project is try to render all of fx elements inside of Houdini and others inside of Maya.
Even if you want to import sequenced abc files with Maya native alembic, there is some free script for doing that.
The only limitation of Maya native alembic is it doesn't support particles when Houdini Alembic does.
About alternative faster format instead of Alembic, It's vdb !
I know there is new feature in vdb which let you to export other type of geometries not just volume and it is so fast and efficient.
But currently it is using by some vfx companies and I think it's not released for public yet !
My suggestion about your project is try to render all of fx elements inside of Houdini and others inside of Maya.
Technical Discussion » Export PRT particle file for RealFlow?
- Sadjad Rabiee
- 1391 posts
- Offline
Hi
– Sorry I don't remember what was it in H13 exactly, search for OTL Manager or something like that in File Menu !
In old versions we called Houdini Digital Asset,Otl file.
– when you use Particle system in Houdini, you should have a sop node to import simulated particles from Autodopnetwork to Geometry Network, this node is dop I/O or dop import.
According to instruction you should use full path of this node.
E.g if you use simple particle system from the shelf(Source Particle Emitter), it would add 2 new node in Object Level(scene network), these nodes are AutoDopNetwork and source_particle.
If you jump inside of source_particle node, you can find import_source node and that's a one.
So your full path from top is :
/obj/source _particle/import_source
– Sorry I don't remember what was it in H13 exactly, search for OTL Manager or something like that in File Menu !
In old versions we called Houdini Digital Asset,Otl file.
– when you use Particle system in Houdini, you should have a sop node to import simulated particles from Autodopnetwork to Geometry Network, this node is dop I/O or dop import.
According to instruction you should use full path of this node.
E.g if you use simple particle system from the shelf(Source Particle Emitter), it would add 2 new node in Object Level(scene network), these nodes are AutoDopNetwork and source_particle.
If you jump inside of source_particle node, you can find import_source node and that's a one.
So your full path from top is :
/obj/source _particle/import_source
Edited by Sadjad Rabiee - May 19, 2019 20:10:07
Technical Discussion » Export PRT particle file for RealFlow?
- Sadjad Rabiee
- 1391 posts
- Offline
Hey
About your first question I'm not RF user but I think it is supporting Alembic format, You can export your particles from Houdini with Alembic file very well.
About your next question I would say there is no exactly same thing in the Houdini as usually there is no need to install a lots of Plug-ins in Houdini, You can do anything inside Houdini without any need to install plug-in.
Mostly we are using Digital-Assets rather than Plug-ins. in Assets->Asset Manager menu you can find out which Digital Assets are installed in your Houdini.
Of course we have few HDK Plug-ins for Houdini too, But there is no plug-manager for them (if I'm not wrong :cool, these are dll files which usually installed on DSO folder.
You can get some information about these plug-ins with dsoinfo [www.sidefx.com] command.
You should execute this command in Windows->Hscript Textport window.
About your first question I'm not RF user but I think it is supporting Alembic format, You can export your particles from Houdini with Alembic file very well.
About your next question I would say there is no exactly same thing in the Houdini as usually there is no need to install a lots of Plug-ins in Houdini, You can do anything inside Houdini without any need to install plug-in.
Mostly we are using Digital-Assets rather than Plug-ins. in Assets->Asset Manager menu you can find out which Digital Assets are installed in your Houdini.
Of course we have few HDK Plug-ins for Houdini too, But there is no plug-manager for them (if I'm not wrong :cool, these are dll files which usually installed on DSO folder.
You can get some information about these plug-ins with dsoinfo [www.sidefx.com] command.
You should execute this command in Windows->Hscript Textport window.
Technical Discussion » MSI GL63 8SE Houdini crash
- Sadjad Rabiee
- 1391 posts
- Offline
Sure, Just wanted to mention that it is the folder which was the cause of the problem and I've renamed it.
I don't know what this folder is doing but after I changed it's name I didn't have any problem with Nahimic software !
C:\ProgramData\A-Volute\A-Volute.Nahimic\Modules\Scheduled\x64\
I don't know what this folder is doing but after I changed it's name I didn't have any problem with Nahimic software !
C:\ProgramData\A-Volute\A-Volute.Nahimic\Modules\Scheduled\x64\
Technical Discussion » MSI GL63 8SE Houdini crash
- Sadjad Rabiee
- 1391 posts
- Offline
Hi
One reason could be for MSI audio software !
In most of the MSI laptops there is Nahimic audio software which has conflict with Houdini !
Seems like it is using VGA drivers too.
You can try to uninstall it or you can delete some of it's DLLs.
If you check Houdini log file when crashing, it would tell you which DLLs of Nahimic are cause of the problem and you can delete them.
For mine there was a x64 folder in Nahimic installation directory and I,ve renamed it to other name.
I don't have any other solution and I hope it will be useful for you aswell.
One reason could be for MSI audio software !
In most of the MSI laptops there is Nahimic audio software which has conflict with Houdini !
Seems like it is using VGA drivers too.
You can try to uninstall it or you can delete some of it's DLLs.
If you check Houdini log file when crashing, it would tell you which DLLs of Nahimic are cause of the problem and you can delete them.
For mine there was a x64 folder in Nahimic installation directory and I,ve renamed it to other name.
I don't have any other solution and I hope it will be useful for you aswell.
Edited by Sadjad Rabiee - May 19, 2019 07:25:27
Technical Discussion » Transparency control by Ramp
- Sadjad Rabiee
- 1391 posts
- Offline
You should use float ramp attribute instead of vector(color) ramp as transparency is float !
Also you should use a float value between 0 to 1 as a input of ramp attribute not vector.
In your example you can use vectorTofloat vop to extract P.y and use it as input of ramp.
You may need to remap range of P.y between 0 to 1 by Fit Range Vop.
Another idea is using Relative to Bounding Box vop node ,this node give you a value between 0 to 1 according to xyz position of points.
Also you should use a float value between 0 to 1 as a input of ramp attribute not vector.
In your example you can use vectorTofloat vop to extract P.y and use it as input of ramp.
You may need to remap range of P.y between 0 to 1 by Fit Range Vop.
Another idea is using Relative to Bounding Box vop node ,this node give you a value between 0 to 1 according to xyz position of points.
Houdini Lounge » Tree growing issue
- Sadjad Rabiee
- 1391 posts
- Offline
Hi
Setting smooth value on the tip is not a big deal, you can simply use fit range vop (instead of clamp)to make it or even you can use ramp attribute after that to have more control on it.
Setting smooth value on the tip is not a big deal, you can simply use fit range vop (instead of clamp)to make it or even you can use ramp attribute after that to have more control on it.
Houdini Lounge » Tree growing issue
- Sadjad Rabiee
- 1391 posts
- Offline
Hi
Working with L-System is hard for these kind of project, specially for growth animation.
I would suggest you to build the final shape of your tree by L system (with curve), Then add growth animation later.
One of the straightforward solutions is using pointcloud to add growth animation on your curves.
Just resample lines with lots of points and make them black, then set the first point of the trunk line as a start point and make it red or white.
After that you need to transfer it's color to the next points by pcfind() or nearpoint() inside geometry Solver sop on each frame.
In this case the color should move from first point along the trunk line until it reachs to last points on the branche lines.
There is lots of tutorial about growthing effect by point cloud and geometry solver.
So you can simply use this color value as width of the polywire sop.
With this method you ahould have more control on animation and width(e.g using ramp attributes for width) .
About texture maybe you would have more control if you use sweep sop(and skin) instead of polywire. You can add u attribute based of lenght of the tree lins(backbone) and add v attribute based on cross-section line.
Note:
Point cloud method is simple and straightforward but maybe it is not the best way as you need to use geometry solver sop.
If you are familiar to vex you can do this completly inside vex without any need to use geometry solver and point cloud.
Working with L-System is hard for these kind of project, specially for growth animation.
I would suggest you to build the final shape of your tree by L system (with curve), Then add growth animation later.
One of the straightforward solutions is using pointcloud to add growth animation on your curves.
Just resample lines with lots of points and make them black, then set the first point of the trunk line as a start point and make it red or white.
After that you need to transfer it's color to the next points by pcfind() or nearpoint() inside geometry Solver sop on each frame.
In this case the color should move from first point along the trunk line until it reachs to last points on the branche lines.
There is lots of tutorial about growthing effect by point cloud and geometry solver.
So you can simply use this color value as width of the polywire sop.
With this method you ahould have more control on animation and width(e.g using ramp attributes for width) .
About texture maybe you would have more control if you use sweep sop(and skin) instead of polywire. You can add u attribute based of lenght of the tree lins(backbone) and add v attribute based on cross-section line.
Note:
Point cloud method is simple and straightforward but maybe it is not the best way as you need to use geometry solver sop.
If you are familiar to vex you can do this completly inside vex without any need to use geometry solver and point cloud.
Edited by Sadjad Rabiee - Feb. 1, 2019 08:20:10
Technical Discussion » How to force particle attraction using Open Point Cloud
- Sadjad Rabiee
- 1391 posts
- Offline
Technical Discussion » How to force particle attraction using Open Point Cloud
- Sadjad Rabiee
- 1391 posts
- Offline
Hi
Sorry I didn't have a chance to check your hip file now,
But if I've understood your question correctly, one idea is putting few particles inside a group randomly, then use these particles as a target of nearpoint() function.
In nearpoint() you have an argument to define which group it should search inside.
So rest of the particles should find nearest target point and finally you can use this target position and @P to compute velocity.
You can control number of clusters by number of target particles inside group.
There is no need to find couple of near points, just nearest point inside group should be enough.
For your question about point cloud :
Basically point cloud is useful to find list of the nearest points based on radius and max point number and grab some points attribute from them.
You have couple of function for this purpose such as pcopen and pcfind
In pcopen way you are opening a pc file and have access to each point which found by pciteration() and while loop and to extract point attribute from them you can use pcimport() or pcfilter(). (Second one give you avarage value of all points which be found)
But with pcfind you can give list of are closed points directly(again based on radius and max points).
In my opinion working with pcfind is simpler than pcopen as you can easily grab attributes by point() function.
Also there is 2 more function with roughly same usage which is nearpoints() and nearpoint().
Nearpoints is same as pcfind and nearpoint give you pt number of closest point.
I'm usually using nearpoints and pcfind rather than pcopen.
Sorry I didn't have a chance to check your hip file now,
But if I've understood your question correctly, one idea is putting few particles inside a group randomly, then use these particles as a target of nearpoint() function.
In nearpoint() you have an argument to define which group it should search inside.
So rest of the particles should find nearest target point and finally you can use this target position and @P to compute velocity.
You can control number of clusters by number of target particles inside group.
There is no need to find couple of near points, just nearest point inside group should be enough.
For your question about point cloud :
Basically point cloud is useful to find list of the nearest points based on radius and max point number and grab some points attribute from them.
You have couple of function for this purpose such as pcopen and pcfind
In pcopen way you are opening a pc file and have access to each point which found by pciteration() and while loop and to extract point attribute from them you can use pcimport() or pcfilter(). (Second one give you avarage value of all points which be found)
But with pcfind you can give list of are closed points directly(again based on radius and max points).
In my opinion working with pcfind is simpler than pcopen as you can easily grab attributes by point() function.
Also there is 2 more function with roughly same usage which is nearpoints() and nearpoint().
Nearpoints is same as pcfind and nearpoint give you pt number of closest point.
I'm usually using nearpoints and pcfind rather than pcopen.
Edited by Sadjad Rabiee - Jan. 28, 2019 17:46:35
-
- Quick Links