Thanks for sharing!
On 2017/09/26 11:08 AM, Olivier Jeannel wrote:
and here's the hip.
Please consider it's wip, but do test and give feedback :)
https://drive.google.com/open?id=0B1QqhXD7Y15qQXJUU1ZPanZTVzQ
2017-09-26 11:04 GMT+02:00 Olivier Jeannel <facialdel...@gmail.com
<mailto:facialdel...@gmail.com>>:
@Anto, I think it's what I do :)
2017-09-26 10:34 GMT+02:00 Anto Matkovic <a...@matkovic.com
<mailto:a...@matkovic.com>>:
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 nbinitialand 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 <facialdel...@gmail.com
<mailto:facialdel...@gmail.com>>
*To:* sidefx-houdini-l...@sidefx.com
<mailto:sidefx-houdini-l...@sidefx.com>;
"softimage@listproc.autodesk.com
<mailto:softimage@listproc.autodesk.com>"
<softimage@listproc.autodesk.com
<mailto:softimage@listproc.autodesk.com>>
*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" method
The scenario was
working with packed
10 different objects(platonic, torus, sphere, etc)
I have some scattered point
I have a noise (float) on the scattered points
I 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://drive.google.com/open?id=0B1QqhXD7Y15qVnBqMVhKeWl0dnc
<https://urldefense.proofpoint.com/v2/url?u=https-3A__drive.google.com_open-3Fid-3D0B1QqhXD7Y15qVnBqMVhKeWl0dnc&d=DwMFaQ&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
softimage-requ...@listproc.autodesk.com
<mailto:softimage-requ...@listproc.autodesk.com> with
"unsubscribe" in the subject, and reply to confirm.
------
Softimage Mailing List.
To unsubscribe, send a mail to
softimage-requ...@listproc.autodesk.com
<mailto:softimage-requ...@listproc.autodesk.com> with
"unsubscribe" in the subject, and reply to confirm.
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
Virus-free. www.avg.com
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
------
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with
"unsubscribe" in the subject, and reply to confirm.
------
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with
"unsubscribe" in the subject, and reply to confirm.