Parenting to specific polygons? (toe-ring problem)



  • Hi there!

    I'm trying to parent a toe-ring to V4/S16. the problem is, I can only parent it to the Ltoe/Rtoe, which works quite well, as long as I'm not touching toe morphs. when I do, the ring won't follow the specific toe it's support to be parented to.

    any ideas?



  • Probably has to do with origin locations. I would try using constraints. Make a dummy prop and constrain to the toe and then constrain the ring to the prop. As you morph just change the location of the prop.



  • @richard60 wouldn't it be the same as repositioning the ring itself every time it "slips" away? because this, I can do without any problem. I want to position it perfectly on the toe, and than have it stay there and moving with that specific toe as I move it using the toe morphs (so I won't have to re-position every frame/pose...).


  • Poser Ambassadors

    Select the ring and open the joint editor and center the origins to the ring.



  • Props can only be bound to bones, not polygons.
    If you want to have something sticking to vertices/polys, you have to use a simulation.



  • I know exactly what @gsfcreator is talking about, because I've been YEARNING for such a function for years already.

    Yes, props can only be parented to a bone and that parenting doesn't care for weight mapping, morphs, etc.

    Now what about a function that tells Poser "keep this prop attached relative to vertex/polygon XYZ and it's rotation at all times?
    THAT would be a great addition to Poser!

    Think of the possibilities:

    • Piercings suddenly keep their place in the bellybutton (or whereever you place them..) whatever the body part morphs or bends.
    • Or just stick a name plate, or a broach, or... to a piece of clothing and it stays where you put it - attached to that specific vertex or polygon!

    I think this could be achieved!

    • A prop currently already follows a specific dislocation (now:body parts bend) by being attached to the "centre" of said body part.

    • Just make it NOT follow centre of the body part, BUT a defined coordinate of that body part instead!

    Karina



  • If you set the constraint to the beginning of the toe bone then the prop should stay at the relative position of toe, given that it will change based on the scaling of the toe. The ring should then stay at the same location. The only change should be if you doubled the scale of the toe then the ring should also double and move the same amount, so that if you set the ring to the center of the toe bone and you doubled the size the ring should move to the middle of the new size.



  • You're probably right,
    but it still doesn't fix the problem with morphs applied to the toes (V4 has some, and I think other figures have too)

    The prop is still attached to the bones' rig and centre/end/whatever point.

    Parenting the prop to a single vertex would fix that one and for all.

    -K-



  • @karina said in Parenting to specific polygons? (toe-ring problem):

    I know exactly what @gsfcreator is talking about, because I've been YEARNING for such a function for years already.

    Here is one more for that.
    It figures high on my list of 'Poser things to do when I retire from work', with note added 'On loading prop create add-on with a function that on pose change gets new position of figure facet to follow and moves prop to do this.'
    My retirement from work is due some 6 years from now. I will not be upset if someone beats me on this and makes it before I do.



  • @karina said in Parenting to specific polygons? (toe-ring problem):

    Parenting the prop to a single vertex would fix that one and for all.

    A single vertex has no rotation. It's just a point with undefined size in 3D-space.

    Binding another prop to a bone, and let a selected vertex move the origin of that prop, has a goog chance to work.

    This can be done with Poser-Python using a callback function (see below). Selecting the vertex to follow is the most critical part here.

    Description from Poser-Python's manual:

    • SetLocalTransformCallback
      Set a per-update callback to process the actor’s local transformation. User-defined callback function is called every time actor undergoes a local transform.


  • @adp sounds like something worth a try! can you elaborate on that python script? it's one of the default ones in poser? (Never seen it).



  • @gsfcreator said in Parenting to specific polygons? (toe-ring problem):

    @adp sounds like something worth a try! can you elaborate on that python script? it's one of the default ones in poser? (Never seen it).

    SetLocalTransformCallback is a Poser-Python API function. One can set a user-defined script function called back from Poser if the visible mesh changes (parameter-dial to change a morph for example).

    The user script has to save the (world) coordinates of a selected vertex at start. If the defined function is called back from Poser, this function grabs the actual vertex-coordinate, computes the difference to the saved coordinate and moves the prop accordingly. Thats all.



  • Could be a bit more complicated, dependig on witch mesh gets first updated. if Poser has updated the prop already if it calls the user-function, the update may be not shown correctly. But I belive with a bit thinking about it this can be solved.



  • @adp I have zero knowledge regarding creating python scripts :(. The only thing I know about python is click on the buttons to use it :D :|



  • @gsfcreator Maybe someone else tries it.
    @fverbaas said he's interested in such a function too :)



  • @adp again, busy ATM, but will reply with my contribution when able. CustomData on the prop could store vertex indices to be followed on the parent, and a callback could determine the average vertex deltas to be applied as a translation to the prop. Rotations are harder, but equally possible (I have done this with grouped buttons following the morphs and rotations of a parent vertex (and it's adjacent vertices to derive rotations)



  • @anomalaus Isn't it possible to let the rotation alone if the prop to move is parented to the bone?
    I'm sure you will find a good solution.

    I totally forgot about CustomData. There where added to support "Reality" in Poser if I remember correctly.



  • @adp yes, in part it is possible to let the rotation of the toe actors impart the rotation to a prop, but lots of figures (like V4) don't have individual toe joints and rely heavily on morphs to curl toes.

    DSON makes heavy use of CustomData too.



  • @anomalaus said in Parenting to specific polygons? (toe-ring problem):

    @adp yes, in part it is possible to let the rotation of the toe actors impart the rotation to a prop, but lots of figures (like V4) don't have individual toe joints and rely heavily on morphs to curl toes.

    Ah, I see. As usual small problems getting bigger the closer you look at them :)



  • @adp
    Yes I am very interested. As said my original plan was to let the prop follow a facet and take both translation (to average of vertices) and rotation (y-axis of prop parallel to average of normals) from that facet.

    Thinking of this again: Perhaps a more stable and more versatile approach would be to determine the position of the prop from an imaginary facet defined by three vertices somewhere on the surface, grouped in a vertex group named something like <propname>_anchor. This would allow to 'anchor' the prop on a wider base and protect it from local turmoil and moves of the vertices.
    Think, for example three vertices around the toe.
    If we can easily create vertex groups without the detour through the cloth room, using vertices would be easy.