Register Latest Topics
 
 
 


Reply
  Author   Comment   Page 1 of 2      1   2   Next
pshipkov

SOuP Jedi
Registered:
Posts: 4,711
Reply with quote  #1 
morph
=====
- Fixed performance regression that appeared over the last few versions of the node.
- Saving of Morph data to file on disk now does not ignore empty targets. They are sometimes used in more complex setups to drive specific combos.

collide
=====
- Added "blend direction" feature. It provides additional (and simpler) approach in many cases where we want to influence the direction of colliding points.
Video tutorial here: http://soup-dev.com/videos/collide_blendDirection.mp4

KdTree node is almost done.
Will be in the next release.

0
ourouk

Wanting the recipes
Registered:
Posts: 178
Reply with quote  #2 
Thanks Peter !

About KdTree, I read about it online ( and on the forum ), it is related to "nearest neighbour" right ? like the pcfilter/pcopen in Houdini ?

thx
0
pshipkov

SOuP Jedi
Registered:
Posts: 4,711
Reply with quote  #3 
Yes.
Also, the node will be able to map arbitrary data from source to target point clouds.
You can think about it as another flavor of attribute transferring.
0
kopatych

Asking for seconds
Registered:
Posts: 22
Reply with quote  #4 

Hi!

Can you help me?

How I can collide scatter object, through instanser?

Thank you!

PS:could you add support instancing of various objects such as VDB, fluids and not just geometry, not to collect the arms every time?

sorry for my english...

0
pshipkov

SOuP Jedi
Registered:
Posts: 4,711
Reply with quote  #5 
No worries about your English.

If you mean to extend the Maya instancer - that's a no-go.

If you mean - to add a specific support for VDB instancing as a new plugin or through copier - that's possible.
Fluids can be "instanced" - check the "overburn" tool under the second button on the SOuP shelf.
0
kopatych

Asking for seconds
Registered:
Posts: 22
Reply with quote  #6 

Thank you!

but I tell in this node http://joxi.ru/Drl7KXpIvynDyA  , this node instance only geo, how instance  vdb nodes?

and node copier support udim textures for  density scatter?

Thank you

0
MOAB

Wanting the recipes
Registered:
Posts: 50
Reply with quote  #7 
Hi Peter,

Inside the videos examples you talked about that attribute : The nMaxCutPP attribute drastically improves performance by limiting the lookups needed to create a new shard to the closest n points. The denser the input pointCloud, the bigger the performance improvement is. Lowering too much the value of this attribute may lead to artefacts - such as overlapping shards. In this particular example, setting nMaxCutPP to 30 resulted in 2.5x shorter time needed for shattering the entire geomtry.

This will be available with the next SOuP release(kdTree node) because I can't find that attribute in the current release. This can be a great speed improvment for the shatter node (I guess in the current version you are doing Brute Force approach) but in the meantime it will be a little bit tricky to find the right value (the one that will provide the fastest fragmentation with less artefacts).

Couple month ago I developped a script to perform the voronoi fragmentation using the QHull library http://www.qhull.org/
QHull can quickly give you the voronoi diagram for a set of 3d points so you don't need to use the Brute Force approach or a dedicated kdTree. And normally you can use it directly inside C++

I did that script using python (use of subprocess to call QHull) It's quite fast for a script. I'm able to cut an object in 100 shards in few seconds. Maybe you can take a look at QHull to retrieve the "adjacents" points for the voronoi diagram.
I leave you the script and the source code. Just copy/paste the whole folder inside you Maya script directory (ie : C:\Users\userName\Documents\maya\2016\scripts

Regards

 
Attached Files
zip lj_QVoronoi.zip (225.95 KB, 18 views)

0
pshipkov

SOuP Jedi
Registered:
Posts: 4,711
Reply with quote  #8 
I remember looking at q-hull as an option to the shatter node.
Right now finding the voronoi cells takes like less than 1% of the overall time needed to split the geo.
The slow-down comes from the fact that i rely on Maya's API to cut and this is slower than expected.
Updating "shatter" is one of the main items on my to-do list.
Thanks for the example - it may come in handy when i get to this.
0
MOAB

Wanting the recipes
Registered:
Posts: 50
Reply with quote  #9 
Yep the slow down part is the cutting process since you are calling mel command within Maya API (I guess)
I did a quick test with a simple box and 500 shards. The SouP shatter took 81 seconds where my script took 10 seconds.
SoupShatter.jpg  QHullShatter.jpg 
Obviously my script as drawbacks. It's not procedural, not a node that can be included within SouP and it creates 500 objects instead of only one object... but if it can help you in any ways

Updating "shatter" is one of the main items on my to-do list. 
That's a great news Peter.

0
pshipkov

SOuP Jedi
Registered:
Posts: 4,711
Reply with quote  #10 
Hah, ok, i am convinced. :)

Moved the shatter node redux to the top of the SOuP to-do list.
Just finished the kdTree stuff and about to push a new release.
Then will get to shattering and organic growth.
0
sepu

Wanting the recipes
Registered:
Posts: 73
Reply with quote  #11 
Awesome Peter! Thanks looking forward for the next couple of versions.
0
ZC

Cooking networks
Registered:
Posts: 142
Reply with quote  #12 
Can this shatter node carry out two kinds of materials?Can the internal material and exterior material.next edition when release?
0
pshipkov

SOuP Jedi
Registered:
Posts: 4,711
Reply with quote  #13 
Yes, search the forums - it was explained before.
0
MOAB

Wanting the recipes
Registered:
Posts: 50
Reply with quote  #14 
Working on another cut tool to create ashes from object (which I will share soon) I saw I did a mistake in my voronoi script... not a big mistake but it slow down the cutting process.

In fact it was a python indentation problem. (I deleted the history after each cutting steps).
Now after unindent that line (cmds.delete(fragList[c], constructionHistory = True)) it deletes the history when all the cuts are done and it works 1.5 to 2.0 times faster than before.
So for the same box shattered in 500 parts it now takes 7 seconds instead of 10.

Using the same approach and library inside 3dsmax, I did couple of months ago, a mouse based voronoi tool :


It worked nice but it was not procedural so I decided to use two plugins (VoroFrag which is free and Rayfire) so now the process became procedural and I was able to go back and forth and change the end result whenever I want.


I also did a similar setup within Maya (I used FractureFX for that) :


So next step will be maybe to do that kind of tool with Maya SOuP

 
Attached Files
zip lj_QVoronoi.zip (225.96 KB, 5 views)

0
pshipkov

SOuP Jedi
Registered:
Posts: 4,711
Reply with quote  #15 
All that stuff looks great.

You are energizing me to get to the shatter node sooner than later.

Proceduraly refining shard size/count is easily done by combining scatter+shatter nodes. But not as nice as what you show, basically the shatter node in SOuP needs dense enough mesh geometry to interpolate point colors or texture mapped through the UVs. If we presume that - then using the paint brush you can tap around some areas on the surface of the base object and add or reduce points.
I think what you are doing is much nicer - kind of - raycasting new points onto the geometry, but within the defined sphere. There are nodes in SOuP that can merge arrays (including point clouds) in a procedural manner. It will need a script+UI to make the process nicer.

I looked at qhull. Looks pretty good. My only concern with using external library for shattering is that it won't carry over bunch of Maya specific mesh properties - uvs, uvsets, vertex colors, color sets, custom normals, creases, etc.
So, they will need to be added back in. Something that will require proper quite a bit of work (=time).
Do you know if qhull supports all this extra data ?
0
Previous Topic | Next Topic
Print
Reply

Quick Navigation: