I know you know for instances,  if it's about closer equivalent to ICE. ICE use 
instances, not ''real" copies. Expression to spread multiple objects by Houdini 
instancer, I think it was (in times of H 14) something like../../instobj`$myid`
where instance candidates are named instobj1, instobj2 an so on, while "myid" 
is an integer attribute on points-carriers (created in any way you want).
Now back to "real copy"  - I've noticed that in some cases, it's significantly 
faster to use a plain Copy SOP, making a lot of ''in place" copies, then to 
move their points by Point VOP or something. "In some cases" seems to be 
everything except Line primitive (that's again from H 14). There seems to be a 
big difference in working of 'plain' Duplicate SOP and Copy to points SOP, 
anyway.So in that way, first step is merge of all instancing candidates, then 
Connectivity SOP to assign class  attribute to each piece (that Connectivity 
method will work only if one candidate = one island, obviously). After that, 
Point VOP/Wrangle to save the number of points, let's call it nbinitial 
attribute. Then, plain Duplicate SOP without any transform, to reach final 
number of instances. Finally, in distributing Point VOP, decoding is something 
like : point number converted to float, divided by nbinitial  and floored. 
Result is then multiplied by number of candidates, to get proper spread and 
empty space for individual objects. Class attribute is just added to result, to 
fill that ''empty space". Final result is point number for importing the point 
attributes from Scatter Sop or like.While it is  a bit complicated, method is 
quite fast, easy to repeat, and it allows any kind of  deformation on each 
"instance'', before-after spreading. With some playing by expressions and 
custom parameters, no big deal to sync the numbers on emitter and copies.
      From: Olivier Jeannel <[email protected]>
 To: [email protected]; "[email protected]" 
<[email protected]> 
 Sent: Monday, September 25, 2017 5:23 PM
 Subject: Multiple objects copy
   
Kind of rooky question that I already asked but...
So I have that "problem" with the copy sop (copy to point, whatever) when I 
have to do a copy with multiple input objects.It was something really easy 
within ice with high performances.
I watched the sidefx tutorial, and so far I undertstood they deprecated the 
stamp method for a copy within a loop.It's rather slow.
I also saw a method where it copies all the multiple objects on each point and 
then delete according to the ptnum the undesired copies. it gets very slow when 
you have many different objects to copy and it eats memory.
So I made my "own" methodThe scenario was working with packed10 different 
objects(platonic, torus, sphere, etc)I have some scattered pointI have a noise 
(float) on the scattered pointsI want to distribute my 10 objects according to 
the values of that noise
so I divided my noise in 10 zones (based on grey float values)I counted howmany 
of each object there was per zone(@numbperzone)I copied each object the good 
amount I placed each copy at its corresponding scattered point
et voilà
now for 10 objects distributed on 350000 points it takes under 
10s.https://urldefense.proofpoint.com/v2/url?u=https-3A__drive.google.com_open-3Fid-3D0B1QqhXD7Y15qVnBqMVhKeWl0dnc&d=DwIFaQ&c=76Q6Tcqc-t2x0ciWn7KFdCiqt6IQ7a_IF9uzNzd_2pA&r=GmX_32eCLYPFLJ529RohsPjjNVwo9P0jVMsrMw7PFsA&m=3GgXr7vXI3XvILtD7xBQPi---UZ94ubTZoQx6E2PGoE&s=QjcHMPKLavzifrok_Sb3Yl6g8kEn8sL9kT1_TVZza_g&e=
 

That's my best method for now, but I have now idea if it's worth something.
So how do you guys usually do ?------
Softimage Mailing List.
To unsubscribe, send a mail to [email protected] with 
"unsubscribe" in the subject, and reply to confirm.

   
------
Softimage Mailing List.
To unsubscribe, send a mail to [email protected] with 
"unsubscribe" in the subject, and reply to confirm.

Reply via email to