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.

Reply via email to