Page 1 of 2 12 LastLast
Results 1 to 15 of 19

Thread: Make a unique addition to the LW instancing system

  1. #1

    Make a unique addition to the LW instancing system

    Lightwave Devs,

    I just thought of something that would be awesome to add for the better functionality of Instancing!

    I had posted this elsewhere on the forum, but thought it might be good here.

    Suppose you needed an animation that required hundreds or thousands of virtual clones of an animated object.

    It would be similar to flocking, but different in a number of ways. For one, you would be able to offset the animated character you create for the first one by a number of frames. Right now, this can be done, sort of, but requires manually offsetting each normal cloned polygonal character item one at a time.

    What would be good is, if you could place Instances in Modeler and have those instances be able to be tracked somehow in Layout [using remembered ID's?] and that they then can be used to drive the [instanced] animated character you created. It would be sort of like having an instance which currently [normally] right now having to be a time-locked physical clone of the current animated character with bones, etc., but allowing time-shifting the animation forward or backward in time by X number of frames or seconds.

    This would make a large body of characters [think armies or hordes of characters etc.] able to be seen in a sort of random motion. It would all be driven by the placement of the point instances and where they are placed. If driven by Point ID's, could conceivably work, at least in theory. You could also use the random size parameters in instances to control difference factors of basic shape.

    I would like to make this a formal feature request for Lightwave 3D.

    Comments are welcome.

  2. #2
    This is a good request. You should submit this through their ticketing system for them to properly consider this request.
    My opinions and comments do not represent those of my employer.
    www.ernestpchan.com
    www.zazzle.com/gopuggo

  3. #3




    yep, rait here, just below bugs.
    LW vidz   DPont donate   LightWiki   RHiggit   IKBooster   My vidz

  4. #4
    I just submitted the feature request. I didn't attach any examples, but I think my explanation gives enough information to understand what is being proposed.

  5. #5
    Registered User
    Join Date
    Aug 2016
    Location
    a place
    Posts
    1,926
    I take it this is the way you are meaning that can be done atm?

    you can do it with dpont instancer too.



    Click image for larger version. 

Name:	anim.gif 
Views:	107 
Size:	3.52 MB 
ID:	146228

  6. #6
    Electron wrangler jwiede's Avatar
    Join Date
    Aug 2007
    Location
    San Jose, CA
    Posts
    6,612
    So if I understand the request correctly, you'd like the ability to place the instances (is placing them in Modeler a requirement?), and then be able to adjust the time-offset for each individually (or, presumably, via multi-select, etc.) using gizmo or field available when that instance is "placed"/"selected"?

    I believe most of what you're asking should be fairly doable in Layout already, though there are some "underdocumented" aspects of the LWSDK instancer APIs currently which make working with instance motion offsets a bit difficult. Once those are (better) addressed, it should be quite doable.

    As for the placing in Modeler, that's (theoretically) doable as well. Easiest likely would be to have it work similar to powergons, but converting to instances in Layout. I've actually been experimenting a bit with something vaguely similar, though I was creating instances for an entirely different purpose.
    John W.
    LW2015.3UB/2019.1.4 on MacPro(12C/24T/10.13.6),32GB RAM, NV 980ti

  7. #7

    As for the placing in Modeler, that's (theoretically) doable as well.
    Easiest likely would be to have it work similar to powergons, but converting to instances in Layout.
    yes, kinda. replace the objects with instances. but each object has a flat polygon underneath it defining the objects size.
    Delete objects before sending to layout, but keep the flat-poly size objects.
    Sort of like a proxy.

    LW vidz   DPont donate   LightWiki   RHiggit   IKBooster   My vidz

  8. #8
    Let me chime in again here,

    I'm talking about the idea that each Point ID would be an instance which would then serve as placement for an animated character. We can do it sort of now with instances of an object, but we can't [as far as I know] change the actual timing [start point or duration length] relationship of the instanced "animated" [boned or morphed] character. I'd like to be able to take a character and time shift its animation [think, variations on walk cycles, runs, battle motions, etc.

    The current instancing system is a start, but it doesn't go far enough, from what I can see. When you place a point in Modeler for instancing, it is treated as a whole and all copies perform in the same exact manner, with the exception of varying size and rotation values. I'd like it to also treat time factors as well.

    I'm hoping I've explained it okay.

    BTW, it wouldn't necessarily have to be done in Modeler, but how could you do hundreds or thousands [potentially] of instances in Layout by having to use arrays.
    Last edited by JamesCurtis; 11-05-2019 at 11:37 PM.

  9. #9

    I'd like it to also treat time factors as well.
    yes, the plugin HDinstance used to be able to do this.

    today, use DP instancer, shown by gar26lw in post #5

    agree, would be good to do this with native LightWave + flocking.
    LW vidz   DPont donate   LightWiki   RHiggit   IKBooster   My vidz

  10. #10
    Played around with DP_Instancer in LW 2015.3 and what I want it to be able to do is actually have the cycle point of an animation to be changed so that all footfalls will happen at different points. In other words, if you have twenty people walking, their stride distance might be the same, but their stepping of the feet would each be different so there would be an offset to each persons movements. As far as I can tell, there is no way in that plugin to do what I'm envisioning, unless, of course, I'm missing something somewhere in the plugin's settings.

    Click image for larger version. 

Name:	DP_Instancer Example.jpg 
Views:	19 
Size:	642.7 KB 
ID:	146244


    The image above should explain some. Also, if you needed something to happen in a wave-like manner, one right after another, is what I want to be able to do as well. Not random, unless I want it to be. That's the reason for wanting instances to be ID aware.
    Last edited by JamesCurtis; 11-06-2019 at 01:23 PM.

  11. #11

    DP Instance can use BDD offset.

    But maybe you want to use this method instead by IvanB >


    Part 1 - https://www.youtube.com/watch?v=biH1f_wALB0




    Part 2 - https://www.youtube.com/watch?v=2uiDHsOYizE

    LW vidz   DPont donate   LightWiki   RHiggit   IKBooster   My vidz

  12. #12
    Registered User
    Join Date
    Aug 2016
    Location
    a place
    Posts
    1,926
    i was trying to use taycast node but on a number of instances it’s super slow.
    i’m it at computer atm but i don’t think there is a way to cast against a single object, is there?
    might have been and even then slow.
    in unity i’ve used physics to act in a similar way. ill have to watch ivan’s stuff.
    need to start archiving this stuff so it’s not gone forever.

  13. #13
    I've never used MDD or BDD(?) before. This may do part of what I need, but it doesn't seem like it can do the original part of my request, which is how do this in an order that I require. I need this to do the motions in a specific manner.

    An example is, say, you have one hundred characters standing side by side. Okay, now you want them to step in place. But you want them to do a motion slightly out of phase to each other. Imagine a wave motion, and each one is progressively different from each other, but doing the same general motion. This is what I need the characters to do.

    I don't know if it's appropriate here, but how do I go about setting up MDD? I've never had a need till now, it seems.

  14. #14
    Member
    Join Date
    May 2006
    Location
    France
    Posts
    4,082
    If you reference one mesh object for a large number of instances,
    offsetting position/rotation animation is a real economy of RAM memory,
    the renderer needs to pre-calculate and store only one mesh (and hierarchy),
    instancing is nothing else than matrix calculation.

    With a group of animated deformed characters (bone and/or displacement),
    if the characters have separate/offset animations and if you have a reasonable number of items,
    even with instancing, the renderer needs to pre-calculate and store each item,
    so no real benefit compared to cloned objects.


    You may use DP Kit MDD Cache node for each clone,
    it uses one unique MDD file in memory for all items and you can map time for each item,

    You can use DP Kit Item Info node to get the "Type ID"
    in your scene the first added object has a "Type ID" of 1,
    If you clone the base character, they get an incremented "Type ID" (+1),
    you may consider this as an frame offset to start animation,
    divide it by your "Frames Per Second" number to get a "Start" input in seconds.

    Of course if at a time you get a repeating animation,
    you could instance a group as a hierarchy, multiple times with various positions?

    Denis.

  15. #15
    Electron wrangler jwiede's Avatar
    Join Date
    Aug 2007
    Location
    San Jose, CA
    Posts
    6,612
    Quote Originally Posted by JamesCurtis View Post
    unless, of course, I'm missing something somewhere in the plugin's settings.
    I suspect you may be, both w.r.t. DP Instancer, and native LW instances. Per-instance anim offset is managed nodally. See...

    Last edited by jwiede; 11-07-2019 at 02:48 AM.
    John W.
    LW2015.3UB/2019.1.4 on MacPro(12C/24T/10.13.6),32GB RAM, NV 980ti

Page 1 of 2 12 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •