Forum: Poser - OFFICIAL


Subject: Does Anybody Recall SM Claiming That Poser Supported Instancing ?

3dcheapskate opened this issue on Mar 31, 2020 ยท 21 posts


an0malaus posted Tue, 07 April 2020 at 10:54 PM

On the alternate geometry subject, my understanding is that it is implemented via a uniqueInterp(olated) channel on the actor (essentially locked to integer values, rather than a float)

Here's one use I found from my efforts way back in the dawn of time, when folks first crawled from the primordial slime...

actor rThumb2:38
    {
    name    rThumb2
    on
    bend 1
    animatableOrigin 0
    dynamicsLock        0
    hidden      0
    addToMenu   1
    castsShadow     1
    includeInDepthCue       1
    useZBuffer      1
    parent rThumb1:38
    conformingTarget rThumb2:1
    alternateGeom    rThumb2_1
        {
        name Hidden rThumb2
        objFile 20 :Runtime:Geometries:Null.obj
        }
    creaseAngle 80
    subdivLevels 0 
    subdivRenderLevels 0 
    subdivideWithFigure 1 
    channels
        {
        geomChan PBMHideFingers
            {
            uniqueInterp
            name PBMHideFingers
            initValue 0
            hidden 1
            enabled 1
            forceLimits 1
            min 0
            max 1
            trackingScale 1
            keys
                {
                static  0
                k  0  0
                sl  1
                con
                sm
                }
            interpStyleLocked 0
            valueOpDeltaAdd
                Figure 38
                rHand:38
                PBMHideFingers
            deltaAddDelta 1.000000
            }

This use was prior to the implementation of animated visibility for actors, so the only way to completely hide something (other than scale it to atomic proportions) was to swap out its geometry for a null. The geomChan can then be slaved via value operations (ERC). If such was done with "instanced" props, they can all follow the master's geometry changes. If they are all loaded (not imported) from the same obj file as mentioned, that should minimise memory usage. It's been a while since I tested this, as geometry swapping did not play nicely with unimesh figures at some point. (or maybe it was just one figure with dodgy geometry that couldn't be subdivided. I'll have to check my logs)



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.