Released : Face To Face And Virtual Origins (Commercial)

V3DigitimesV3Digitimes Posts: 3,049
edited March 2021 in Daz PA Commercial Products

https://www.daz3d.com/face-to-face-and-virtual-origins

PLEASE INSTALL WITH DIM! I submitted a ticket so that Daz fixes their Daz Connect installer issue, but in the meantime, DIM install or manual install is super highly recommended.

Sometimes, well, pretty often for me, it can be fastidious to move specific objects or figures to be in contact with other specific objects or figures in Daz Studio, more precisely to place a given face(s) of an object in contact with other face(s) of another object (object or figure, this is the same here), and once done, even small rotations adjustments automatically make you lose this contact, and you have to do it all over again. The goal of face to face is to drastically increase the gain of time and of comfort when you place figures or objects relatively to one another. Face to Face and Virtual Origins is here to make the “contact” process extremely easy and instantaneous, with additional tools to maintain this contact even when you adjust rotations. This set of tools allows you to :

  • Automatically translate an object/figure so that the face(s) you want are automatically placed on the faces you want of another object, or on given coordinates of the scene. For instance the heel of a shoe (and the figure wearing it) on a support (a step of a stair…), a hand against a wall, a finger against an object, given faces of an object (a glass, the handle of a weapon…) in a hand, or parrot feet on a shoulder, or you can fill shelves with as many objects as you want in the blink of an eye, or move a figure really far away in the scene (but on or near to specific faces), move the bottom of a thigh on a chair in one click (even if this chair is in another room), to move a figure so that its lips of a figure end on the forehead (or the lips) of another figure, etc, etc, the examples are endless. Translations of objects to reach their target can be proportional (100% Y axis, 50% X axis, 0% Z axis for instance).
  • Automatically rotate an object so that the face(s) you want end parallel with the faces you want on another object, or parallel to a given plane. The same way, rotation can be proportional between 0 and 100% of the full rotation required.
  • Rotation and translation process are independent, you can simply rotate, simply translate, or do both, in the order you want.
  •  Add virtual origins so that you can use the rotations around these origins to maintain the contact will you rotate your objects (but you can still use the “normal” rotations with the initial origin if you want to, this is not destructive of the initial origin), or maintain the faces you want at a given location while you rotate the rest around it.
  • Virtual origins can be loaded stand-alone (independently from the face to face scripts), and can use the orientation axis of the world space. You can also use a “reference plane” instead, which will warranty that not only the face you want will remain in place during rotations (the object/figure rotates around the selected face), but that it will keep the same normal if you use the local rotation around Y axis of the reference plane.

For Face to Face, the principle is extremely easy: load and place a target plane where you want in the scene, or create a target plane on selected faces of an object (target faces) using the dedicated script. Once done, select, on the object you want to transform (translate and/or rotate) the faces which are supposed to reach the target plane, and apply the corresponding transform script. Several scripts are included depending if you want to translate, or to rotate (in one direction or another), or both, if you want to have the possibility to apply a partial transform, and if the object has a parent or not (and you want to move the parent too). But the titles and thumbs of the transform scripts are very clear about what they do. If you create several targets in your scene, you'll be systematically allowed to choose with which target you want to work.

For Virtual Origins, it is even more easy. You can use the virtual origins added by the transforms scripts, or you can select any face on any object/figure and apply the script either to create a virtual origin placed on the selected faces (with world space orientation) or a “plane” virtual origin placed on the selected faces AND parallel to these faces (its Y axis is the normal to the faces).

This thread is here to answer the technical questions you might have concerning Face to Face. Please install it with Daz Install Manager (or Manually) if possible, it seems that these last days there are issues in smart content installers for products made of scripts (I saw this on other threads).

For the ones who want more details, here is a video explaining the principle, and giving some examples of application. Sorry for the music instead of my voice, I could not speak...

https://youtu.be/f44Cbz5DaFg

 

 

Post edited by V3Digitimes on
«13

Comments

  • ThyranqThyranq Posts: 584

    Sorcery!

     

    Take my money

  • V3DigitimesV3Digitimes Posts: 3,049

    Sorcery and technics are sometimes not far from each other...

  • OstadanOstadan Posts: 1,123

    V3Digitimes said:

    Sorcery and technics are sometimes not far from each other...

     

    Better known as Clarke's Third Law: Any sufficiently advanced technology is indistinguishable from magic.

  • V3DigitimesV3Digitimes Posts: 3,049

    Yes, that's exactly the citation I was thinking of, but I thought that if I translated from the french version I know to the english version, nobody would recognize it! Thanks !

  • pdspds Posts: 593

    This looks incredibly handy! Love your scripts and will definitely pick this one up when it's out.

  • V3DigitimesV3Digitimes Posts: 3,049

    Thank you so much... It should not be too long to wait. Simply when you install it, avoid Smart Connect, use DIM  (or manual) instead, it seems that the installers for smart content are corrupted, as I saw this happened for other script products of other PAs these last days. I'll ask Daz to recreate the Smart Content (Daz Connect) installers once the product is out. But the DIM version will be fine. I'm gonna mention it in the first thread.

  • V3DigitimesV3Digitimes Posts: 3,049

    It's released today, you can find it here: https://www.daz3d.com/face-to-face-and-virtual-origins

    Please install with DIM.

  • plasma_ringplasma_ring Posts: 1,018

    This backflipped into my cart on sight. laugh I spend so much time moving stuff around and using ancient props that don't have anything close to current gen poses. Thank you so much! 

  • V3DigitimesV3Digitimes Posts: 3,049

    Thanks! I hope this will help you! I'll be available for any question:)

  • johranshadijohranshadi Posts: 134

    Would it also work as a constraint in animations? 

  • V3DigitimesV3Digitimes Posts: 3,049
    edited March 2021

    Not properly speaking a constraint in the pure sense of a constraint, but the tools can be used at any keyframe and can "constraint" the contact on each keyrframe you want (and on a whole range of keyframes for linear keyframe interpolation, which is easier than for other interpolations for which you will have to click many times on the button to re-project an object on a target). There is no "keyframe" information in the script, meaning that at any time you can do a face to face (at any keyframe). I just tested it (this is why it took me a few minutes to answer):

    I created a torus and a sphere, a target on a face of this torus, and parented the target to the torus. I keyframed the 0 keyframe for torus and spehre. Then I moved the torus at a given place at keyframe 15, then projected the sphere (using a face of it) on the target node. I moved to frame 25, moved the torus elsewhere. I reprojected the sphere on the torus. Then I set up all key interpolations as linear. And during the animation from frame 0 to 15 the sphere is on its way to the torus, and from frame 15 to 25, the sphere follows the torus as if is was constrained (the face to face contact is maintained).

    I'm sorry for the long answer, I hope it gives you the information you want, I'm not comfortable with animations, so I hope this is somehow like a constraint in an animation, even if more easy to maintain with linear interpolation rather than other smooth or whatever interpolation..

    Post edited by V3Digitimes on
  • SevrinSevrin Posts: 6,300

    So I'm assuming that in this example, the muzzle of the gun and the target would need to be at the same elevation in order for the character not to be either lifted off the ground plane, or else sunk into it?  There's no IK voodoo involved?

  • V3DigitimesV3Digitimes Posts: 3,049
    edited March 2021

    No, there is no IK at all, the figures move globally their poses are maintained. The idea of this image was to introduce the next image where the figure and gun could be rotated with losing contact. If you want to avoid a lift off, you use the interfaced script allowing you a partial transform (this is automatically this one when you use object and parent script), and set the Y parital transform to 0%, meaning that X,Z will be fine. Then you adjust the arm pose or figure scale so that it is approximately good "vertically", reclik on the script to project, and this is done. This is how it was made. (edit actually if I remember well, it was a 3 step operation : project, arm bend, project, arm bend, project, done! When I say project it is clicking on the face to face script)

    Post edited by V3Digitimes on
  • ThyranqThyranq Posts: 584

    Yoink!

  • ArtiniArtini Posts: 8,528

    I am looking forward to creating a piles of things in Daz Studio.

    This product together with some physics simulation (maybe Dforce) could be some approximation of that.

     

  • V3DigitimesV3Digitimes Posts: 3,049

    lol Thyranq..

    @Artini: yes, I hope it will help you!

  • ChumlyChumly Posts: 793

    Maybe a newb question but I am assuming this would help place a sword that was made for a Gen 3 Character into the hand of a G8?  One the target the other the face... right or no?

  • V3DigitimesV3Digitimes Posts: 3,049
    edited March 2021

    Totally right! That's what you see on the demo video in the examples part.

    1. You set up a target on a face of your Gen 3 hand (select this face, click on create target script),

    2. you select a face on the handle of your sword, you click on the script to translate a prop with the addition of a virtual origin (you will use it to give the sword the right orientation), then you use the virtual origin to rotate the sword till its ok, using the virtual origin (placed at the contact point) will allow you to rotate the sword while keeping the contact between the hand and your selected face on the handle of the sword.

    edit: at any time if you pick up a face to high or too low on the sword, you can pick up another face of this handle. The same way if the contact point is finally to high or to low, you can create a new target on a new face of the hand. Actually this target translations and virtual origin are super flexible.

    Post edited by V3Digitimes on
  • a time saver thank you ! does it work under daz studio 10 ? in advance thank you

  • V3DigitimesV3Digitimes Posts: 3,049

    I encrypted it as a 4.11.1.28+ DS version... What version of DS do you have?

  • 4.10.0.123

  • V3DigitimesV3Digitimes Posts: 3,049

    Arg no sadly you won't be able to launch the scripts, Daz will reject your request. I don't know if all the elements I called would be compatible with such an old version of DS, but if I make an update, I can make the scripts accepted by DS 4.10, but with no way to check if they work or not with 4.10. By curiosity, why stopping DS updates to 4.10? No worry if you don't want to answer.

  • V3Digitimes said:

    Arg no sadly you won't be able to launch the scripts, Daz will reject your request. I don't know if all the elements I called would be compatible with such an old version of DS, but if I make an update, I can make the scripts accepted by DS 4.10, but with no way to check if they work or not with 4.10. By curiosity, why stopping DS updates to 4.10? No worry if you don't want to answer.

    No problem to answer, I had various problems upgrading after version 4.10 and I need daz constantly, I couldn't afford not to use it because of the problems, this said verison 4.15 seems to have fixed those problems but I uninstalled it before they gave me the solution to open several instances, I don't speak english and I use a translator, which makes my comprehension difficult

  • V3DigitimesV3Digitimes Posts: 3,049

    OK I understand. Why not using a public build and a normal build, both of them? The public build would allow you to benefit the latest features, and the normal build remains your 4.10 ?

  • V3Digitimes said:

    No, there is no IK at all, the figures move globally their poses are maintained. The idea of this image was to introduce the next image where the figure and gun could be rotated with losing contact. If you want to avoid a lift off, you use the interfaced script allowing you a partial transform (this is automatically this one when you use object and parent script), and set the Y parital transform to 0%, meaning that X,Z will be fine. Then you adjust the arm pose or figure scale so that it is approximately good "vertically", reclik on the script to project, and this is done. This is how it was made. (edit actually if I remember well, it was a 3 step operation : project, arm bend, project, arm bend, project, done! When I say project it is clicking on the face to face script)

    So, if I understand this correctly, I could:

    1) Pose a kneeling character with an extended hand.

    2) Use the script so his knees are placed on a raised dais.

    3) Use the script a second time while restricting Y translation to have him touch the throne that is on the dais without his knees losing contact with said dais and keeping the original pose.

    As a bonus, we could always create a primitive plane to use as a visual guide to make sure the faces we select are on the same level before using the script, and use your pose master tool to get hands or feet to the correct alignment quickly. It looks like a far less frustrating pipeline than what we currently have available.

  • V3DigitimesV3Digitimes Posts: 3,049
    edited March 2021

    Yes you can do exactly what you mention here !!!!  For the first script usage, the target must be on the dais and the selected face on the knee. For the second time you use it, if you want a tip of a finger for instance to touch the throne, the target must be created on the throne face which must be touched, and the selected face on the figure must be the tip of the finger. That's exaclty that, then use pose master eventually to adjust the finger Y location (or adjust the forearm bend, in general it works well). If while doing so an offset occurs in X or Z, reapply the script. This is typically a situation where you will gain a lot of time.

    Post edited by V3Digitimes on
  • Excellent, this will really speed up scene set-up! Regarding animations, maybe you could automatically create a rigid node follower on the target's face and then parent the moved object to it? I mean, it's trivial to do it manually once the script has done the heavy lifting, and without IK you can't do anything more complex than parenting.

  • V3DigitimesV3Digitimes Posts: 3,049
    edited March 2021

    Yes that's a solution for animations. Face to Face will probably never include this, I don't see the interest of creating a rigid follow node by script, since it can be done so fast by hand, and also because it might completely lose people not doing animations/not understanding the potential use of it (what is this, why it is there, how should I use it, I already anticipate tons of questions and wonderings. I try to nevr include stuff generating more issues than solutions).

    edit: yet, if you allow me to quote you in the documentation, I could include your solution in the documentation if I have an update to make.

    Post edited by V3Digitimes on
  • ThyranqThyranq Posts: 584

    Finally got a chance to try it out, haven't done anything extraordinary yet, just loaded a 'leaning on a wall' pose to G8, added in a plane, threw the plane way over to the side and followed the readme guide to get my character to lean on the wall - worked like a charm!

    This is amazing! There's a lot more complicated things in Studio than leaning a charcater on a wall, I know, but it did it flawlessly, so once I get into more complex stuff I know I'll have the same results, and it's going to be such a HUGE timesaver! Thank-you so much for making this!

  • V3DigitimesV3Digitimes Posts: 3,049

    You're really welcome! I'm really glad that it helps you and that you see the potential of it. Anyway if you have any questions, I'm always available, here or via MP (except when I sleep!!).

Sign In or Register to comment.