Thursday, September 5, 2013

Resetting ONLY ONE JOINT when posing in Blender.

Yeah, you know you're drooling over this one. ;) And go straight to the bottom. That's where the 'how to reset only one joint part really is. -Sunny



 
For starters, I want you to see what the pose is supposed to look like without the dots and lines of the joints and bones. The face is fully posed, as are the arms and hands. I like this pose! I'm happy with it. But to start with we do not want the Hide Bones on. So don't copy me. This is just to show that the face and body is posed.




So, now we've got our bones and joints showing again You need to select a joint, any joint it doesn't matter. When you've selected your joint I want you to bring up the Pose Tools menu. You do this by hitting the 'T' key on your keyboard. It'll pop up on the left. There it is, yay!


I've purposely bungled the neck of my pose. It's a mess isn't it! I really don't want to take the time to try and untwist that boogered joint so instead I want to reset it. But I like the rest of my pose and want to keep it, so this is what we're going to do. First of all, in the joint tree on the upper right find your problem joint in the tree menu. You might have to scroll around and click on some plus signs to find it. Luckily, the tree will help guide you. The base of the joint you need will be a lighter grey and you can follow the plus signs until you find the one where the little bone icon is in a circle. That's the one you need. Make note of where it is.



First, you will hit the 'A' on your keyboard twice so that all the joints are highlighted light blue. Once you've got the joints all selected go to the tree menu and find that joint (or joints) you want to reset. Right click on the joint and select Deselect. Repeat this on all the joints you need to reset.


 
You'll notice on the tree that there is not a circle on the offending joint. You can also see the single black dot on Harriet (the rig.)
Once you've deselected the offending joint go to the Pose Tools Menu and select Copy. Now click on any joint on your rig, and import another rig. You can either use File-> Import or the Load CLIP button on the S3PY menu.


Once the new rig is loaded, you will go back to your Pose Tools Menu and click on Paste.

NOTE: If the joint you did NOT copy (ie: the joint you want to reset) is posed on the imported rig, when you paste the other joints onto this rig the joint you wanted to reset will be posed as it was in the imported rig.

Boom! The rig is going to snap back down to the pose as I liked it previously, minus the neck boogering.

NOTE: The neck was posed on my imported pose and when I pasted the other joints on, the neck went into the position it was before you pasted it on.


 
Here's a close up to show that the neck has indeed reset to a non boogered state. The face is the same, the body is the same. Awesome right? Now you can continue your pose as you were on your way before. YAY!!! Just remember to rename the pose when you export it. Otherwise you'll just save over the pose you imported. K?

Now, What if you like something, say the hand, and want to put it on other poses. Like, maybe your sim has a quirk and holds their hand a certain way all the time. Ok. Let's take one aspect of our pose and using our copy and paste technique and apply it on a smaller scale



For this, we're going to grab that hand. To start with, you will select all the joints you want to put on a different pose. To select more than one joint you can right click-select the joints in the joint tree in the upper right (or mid right depending on how your screen is set up) or you can right click on them all while holding shift down. Whatever works for you. You'll notice we've already got the Pose Tools menu up. If you don't, just hit T on your keyboard to bring it up. Make sure you have at least one joint on your rig selected when you hit T though, or you'll just bring up the Object Tools menu instead of the Pose Tools Menu.
Since we have all the joints selected we want to copy, we're going to go ahead and hit copy in the Pose Tools Menu.



Now go ahead and import the rig you want to put the copied joints on.
When your rig opens you'll notice the same joints are selected as you just copied. Woot!
Go ahead and click paste in your Pose Tools Menu.



Voila! There's the newly pasted hand joints all ready to go!


NOTE: Copying and Pasting between two open Blender windows DOES NOT WORK. For instance, you want HER hand on a male rig and so open a male rig in a separate window (Meaning: you didn't append the male rig in) and attempt to Paste the joints onto the separate rig you will just get an Error: Copy (something or other) Is Empty. Could you copy something between two rigs that are Appended together? I bet you could. I still haven't tested this yet though. I'm just so excited to have discovered this that I'm trying to get this up NAOW! lol

Alright. Now what about copying and pasting between different sized rigs? For example between Harriet or Fred and the Toddler Rig (What was the toddler Rigs name Gem?) Alright, lets take a look.


Well, that was unexpected. I'd opened my femaleRig (Harriet) and appended in the Toddler Rig. Then I copied all the joints in her left arm from shoulder down and pasted them onto the Toddler Rig. No stretching! How about the other way? Lets take the Toddlers left leg and put it on Harriet.


No distortions! Her foot is only cocked forward like that because she is bent at the waist slightly. Now what if we were to copy Harriet's pose in it's entirety? Would the face stretch on the toddler?


Nope! However, the Toddler rig moved into that position automatically. I didn't put it there. This leads me to assume that when I copy the joints from one rig to a smaller rig Blender copies the movements of the joints exactly. When I moved the adult rig down using the B_Root_bind joint (The crosshairs in her pelvis?) I moved it down a certain amount. When it moves it on the smaller rig it moves it the same amount, even though the smaller rigs b_root_bind joint is already farther down. Hence why the toddler rig is underneath the adult rig.

Now, how about the other way around?




Going back to the Toddler Rig having Harriet's arm copied onto it, then we copy that pose to Harriet. Harriet immediately snaps to this position when the joins are pasted onto her. However, in this instance she is in exactly the same position as the Toddler Rig(you can see their anchors to their right.) So when scaling up, Blender does not change the root position. I'm not positive why it would work the other way, and not this way but at this rate I'm just thrilled to have learned this much.

Now for more practical application:
I like this pose. It's nicely closed and standoffish. And I've got a sims party coming up where that b***h shows up wearing the exact same dress as my sim and I want her to react. That body is perfect. The face?


Uhm, while I have uses for that face it's not quite the "That B***H!" face I want. I need more annoyance.


So I've appended in the rig that has an appropriately annoyed expression and moved her out of the way. Notice the joints are not hidden again. I know it makes it harder to see for a tutorial but the Pose Tools menu will not come up with the joints hidden and that menu is kind of crucial.


Then I select all the joints I want to copy. Remember that sometimes there are multiple joints in a single location and sometimes you've got to right-click multiple times to get those joints to highlight. Open the Pose Tools Menu, and select Copy when you've got all the facial muscles selected.



Then select the original Harriet again and paste. New face, same pose! So nice. So.Easy. So fast!

I've tried this method in game copying between adult and toddler poses (toddler in adult pose, adult in toddler pose) with the correct animations in, and without the correct animations in (meaning I did NOT import the a_xvets in) and it works just fine in game. The bones are not stretched and the poses took the first time I inputted the names. A word of caution though, a lot of poses will need slight adjustments to correct clipping. If you are pasting an adult pose onto a child you need to pay particular attention to the arms as they tend to be closer to the body and will sometimes clip.

Also- a far easier way to reset just one joint? (THANKS -A-!) Is to go to the Pose menu at the bottom and click it. Then select the submenu Clear Transform. Then select All. Much much faster and easier for resetting just one joint in Blender. ;)

25 comments:

  1. I still got a little lost, but I think I got the gist. You could just open up a blank rig, paste, and Save As, for a fresh fresh start sans boogered joints, if you wanted, right?

    ReplyDelete
    Replies
    1. Only if you had a saved basic pose. Not the a_xvet_701(2) pose. Now of you had a made a pose where you had opened the rig and imported the a_xvet pose already and named and saved it, yes. You absolutely could. You could also use something like that to franken-pose by copying and pasting various aspects of different poses together. It's a lot to remember. If there is any way I can clarify anything let me know. Or let me know what was confusing so I can clear it up.

      Delete
    2. Ok, I'm still confused. Too many words this late at night. I'll try this in the morning, with a simple forearm bungle I made tonight in Milkshape. I'll import the clip into Blender, select all joints except for the forearm that I'm wishing to reset--copy.

      And this is where I get lost by what how you're saying it. Does it matter what pose is then imported? Import whatever pose, paste, and then you've got your starting pose again, only the unselected joints are reset?

      But it must be an imported pose, I guess, because the info is only "copied" in the current project.

      Delete
    3. As far as my testing with this tonight went it did not matter what pose you imported in to paste onto. However, it had to be a pose you imported. Not an opened rig.blend. So your second paragraph is correct. It's that simple.

      Delete
    4. Success!

      I think I was just getting confused on why it had to be another pose and why you couldn't paste it onto a blank rig--but that's just because that would be Opening a new project, and the Copy function only works within the same project, thus it must be imported. (as you noted, you can't copy from one instance of Blender to another--same reason).

      Now I have an unbendy forearm and can go back to work!

      Delete
    5. OH!!! I get it now!! :D

      Yeah, DUH! lol.

      Delete
    6. I just tried this again, only this time instead of resetting the unselected joints, it replaced their positions with the joint positions of the pose that I imported and pasted over. Which, in this case, actually made it look better, lol. But that's not supposed to happen, is it?

      Delete
    7. Lol. Yay for getting it to work! It's so awesome when you can just chuck an offending joint out the window. Congrats! And Yay! Gemma gets it now too! I'm sorry I'm so confusing. I'll see if I can't fix that.

      Delete
    8. Lol. You must have posted that while I was typing my reply (laboriously on my phone while at Olive Garden suffering through a lunch date. Ha!) I'd actually wondered if that wouldn't be the case, but I hadn't tested that particular bit yet. So yes It probably is. I'll change that in the tut above. Thanks!

      Delete
  2. It wasn't confusing... Until I read your comment to Misty :|

    So, the a_xvet_701 blah is the blank pose you use for snapping, right? Does that mean I can't import that one first? Like, can I import the blank and then whatever pose I've actually made on top? And then paste someone elses broken neck on top?
    I think I'm making it more confusing...

    And, you don't have to remember anything. I still read the tutorial for object posing and I'm a pro at that now :p Had it open last night, I did.

    Do you think this works between adults and children? Say I made an adult pose, and was REALLY happy with it, but thought "Hey, a child would look great in this pose.." Do you think I could copy the whole thing over? Probably not. Well, actually, I probably could but the child would be adult-size, right?

    Do you know how to undo? I broke Harriets finger in a baaaaaad way the other day, and I could have sworn there was a way to undo the selected joint, but couldn't remember or remember where I'd seen such info. I just spend seven hours unbreaking her finger instead.

    ReplyDelete
    Replies
    1. Also... Please tell me your post/comment clock on this blog is wrong! I'd worked out that it was about 11.30pm there, but it's saying 9.30 on my comment. I know I get up early, but not *that* early! (For reference, it's 5.30am here...)

      Delete
    2. I haven't set the time on this blog correctly yet. Lol. But it is late for me to be up. Ok, you should always import your a_xvet thingy every time you open your rig.blend and begin a fresh pose. However, the a_xvet is not a pose. So if you wanted a truly blank pose to work with this method you'd need to open a fresh rig.blend, import your a_xvet anim and then export that as a pose under a different name ( example: a_sunny_blankrig) to undo a selected joint you hit CTRL+z. With this method, instead of unbreaking that finger manually you could just open a generic rig, select all the joints in the finger of Harriet's that is broken and copy them, then paste the, onto the rig with the broken finger. (And that should be "them" not the, it iPads are stoopid with blogger. )

      Delete
    3. Oh yes, no I have not attempted this between different sized rigs yet. But I would assume copying adult joints onto a child rig would just stretch the child's joints to adult proportions. I'll test it next time I get a chance though and let you know.

      Delete
    4. Ok. Thats fine, it just confused me because I thought I finally had the time difference worked out :p

      Right, so to make a blank pose, I need to open the rig, add on the xvet thingy, then save that under a different name? How is the xvet thingy different from a pose, then? (I'm making this harder, I know.)

      I'll test the adult-child when I get back from doctors... Actually, no, I'm going to reply to the PM and then shoot. after that I'll be posing some more, so I'll do it then, but by then you may well have had a chance. Either way, I can test it out later.

      Thanks for this! :D

      Delete
    5. Yes. The a(b,c,p)_xvet_701 is an animation. In particular it is a blank animation. So when you first open up a pose it's just the rig. When you import in the xvet_701 it adds that game code to read the pose easier in game.

      I already tested. lol. I was too excited not to get right up and test it myself to see all the ways this could work. I think faces are the most practical, but what about the world it opens up for child posing now? Find the adult pose (s) you like and just copy them onto your child rig. Toddler rigs as well. Lots of possibilities with this.

      Delete
    6. Ah. Oh Sunny, master of sim knowledge, Sunny the wise, saving our poses from being deleted and restarted.

      So it does work? Well then! I'm off to convert all the poses I've ever made to be for all ages! :D Yaaay!
      And, I can now use those poses you fixed for me because I'm lazy as child poses. And toddler.. nah, toddlers don't hug and kiss like that.

      Thank you!

      Delete
  3. New part, new comment.
    I think the toddler was Pepsi. That could have been the child... I only remember those three names right now :| If I knew the other name I'd know.

    Anyway, question. If I copy the pose, do I need to add the xvet thingy before adding the random pose that I'm going to paste over? I may or may not have (really, I don't know) somehow put the toddler xvet on the adult rig after putting the adult one on her first and then appending the toddler... Wondering if that would fix it.
    Also... Did you know you can add the xvet on after you've made the pose and it won't move? I'm not sure whether it'll work, but we'll see.

    Also, also; have you tested these resized poses in-game? When I made those toddler dance poses that stretched because YOU MADE ME THE WRONG XVET! (lol, sorry) they were fine in blender.
    Trying to remember how I fixed that one toddler family pose that I also used that xvet on...

    Anyway, sneak preview:
    http://i46.photobucket.com/albums/f119/kezpez/awwfam_zps28bd1361.jpg

    Also, is it possible to have a 3 way email? Only makes sense for when we spam with spoilers... (Which I do more than either of you so you better love me!)

    Right, I best check PMs and emails I thinks, and then back to blender.

    ReplyDelete
    Replies
    1. WAIT A DARN-TOOTIN' MINUTE!!

      Weren't you going to use those dance poses in your already released slideshow chapter? :| I mean, the ones you made. I need to fix mine still.
      (Honestly, I don't blame you at all, you still made them for me)

      Delete
    2. Of course we love you! And yes it would be possible to 3-way email as long as we all remembered to Reply To All when responding.

      Delete
    3. The Child was Pepsi. The Infant is Jordan. So the Toddler must have been named booger? lol I cannot remember.

      Ok. I will check that in game now I'm home and have a little bit before the other child arrives home from school to test that in game to see if the xvet will stretch their skeletons by transferring from an adult to a toddler pose.

      Yes! 3 way emails work well. Especially since I'm the only one getting the notifications regarding this thread. Ha!

      I do not know about needing to import the xvet into the pose you're going to paste another pose onto. I'll have to test that too. I would say yes, but I haven't tested it other wise. Do I think it'll blow up your game if you don't? Most likely not. But I'll test it to see how well it works, especially if you append in another pose to see if they'll snap together still. Y'know?

      Yes. That is because the xvet is not a pose. It's an animation. A blank animation. You're making the pose is what defines the animation. At least that's how I understand it. I absolutely could be wrong.

      Uhm... I was going to use those in an epilogue, but if I'd don't he epilogue I'd still be working on it all and it would never get released. So I released and cancelled the epi. I do have some chicken dance poses made, but haven't gotten around to toddler dancing yet. lol.

      Delete
    4. god I'm confusing! Ok. "...But if I DID the epilogue I'd still be working on it all and it[THE CHAPTER] would never get released. So I released [THE CHAPTER] and cancelled the epi."

      Delete
  4. You can also reset bones to their original position by selecting them and pressing "alt+r" on your keyboard. I do this all the time when I bungle-up elbows or hands. I think it's much faster.

    ReplyDelete
    Replies
    1. Oops, plus "alt-G" to reset location.

      Delete
    2. lol. Thank you! Yes, I've since been set straight on how to do that. However, I do use this method quite a bit when posing with accessories that are meant to be held so I only have to get the hand totally right once and then I can copy paste and just make minor adjustments if I see fit. I'm very much a noob when it comes to posing and tend to get excited when I find something new to try.

      Delete
    3. No worries :) Yeah, I'm still a noob when it comes to posing and animating too, but I love learning new tips and tricks! :D

      Delete