Answered

picking up items

eetu 4 years ago updated by Peter - Soxware Developer 4 years ago 1

Hi, I'm trying to create a point n click adventure with objects to take and interact with and also interaction with other characters with objects. I would like to have a hint how to create the interactions. The questions are:

  1. How to pick up items - If a glass is on table, should I have a connected but pinned glass object or instantiate a new one in the hand when taking takes place or parent the one on table with the hand?
  2. Putting the object away - I already have an animation where the character puts object in the back pocket (no matter how big the object is) and I wish to use it - should I have the objects parented to an empty back pocket object and turn then visible and parent them to hand when picked or have them parented in the hand and turn them on after picking them or instantiate them when picking up and parenting to hand?
  3. Giving object to another - When giving (or giving like throwing a knife) an object, should I have both characters have the similar object hidden waiting for the exchange or swap the parent of the object to another when interacting? (I assume here the Timeline sync is needed.)

Or do you have some other great idea how to approach my needs?

regs

eetu

Answer

Hi,

thank you very much for reaching out.

All methods that you described are feasible, it's probably more a thing you can decide based on your person preferences (and how it fits into the other systems you use in your game). A few things to consider:

  1.  Re-parenting is usually faster than Instantiating/Destroying and also allocates less memory garbage. But as you're doing it at a very slow interval (only when the user clicks something), you won't notice the performance benefits.
  2. If your objects store some internal states/variables, re-parenting might be easier (as all states are kept). If you switch between new instances, you might have to copy those states.
  3. If the offset between the player and the object you want to interact with can be different due to player input, you might need a runtime IK solution to adjust your pre-made animation to reach the target object correctly. UMotion's IK is baked into the animation, so it can't serve you in this situation.
  4. Make sure your animation is not directly referencing a picked up object that you are then removing (either because it is re-parented or because it is destroyed). This makes the animation point to a transform that doesn't exist anymore. You can instead use an empty GameObject as "anchor" transform that always exists. Parent picked-up objects to this anchor. Move the anchor in your animations, instead of the picked-up object.

Please let me know if there is anything else you want to know.

Best regards,
Peter

Answered

Adding Extra Keys on Import Anim Files

Murat Atasoy 4 years ago updated by Peter - Soxware Developer 4 years ago 7

Hello, we have an humanoid character. We have a problem, seen on the video.

We dont want to see other keys, after importing the anim files. how can we solve this.
Thank you for your support.

Youtube video
Answer

Hi Murat,

thank you very much for your support request.

Humanoid is an intermediate file format that stores the animation in "muscle space" which is a normalized space that can be applied to any other humanoid character (i.e. animation re-targeting). When UMotion exports your animation to humanoid, it needs to re-sample the animation to convert it into said muscle space. When importing the humanoid animation back into UMotion, the animation is then again re-sampled from muscle space into the authoring friendly local space of your character.


Re-sampling means that as the curves can't be translated 1:1, their shape has to be rebuilt by creating those additional key frames you see here.


So instead of importing back and forth, try to stay in regular local space and once you've finished your work, export once as humanoid. You can also export your animation as FBX (for humanoid, set "Write Mode" to "Update Existing File" and your character's FBX file as destination file!) and then in the FBX's inspector you can play with the animation compression settings to get the humanoid animation within the memory size budget you require (if build size is your concern).

Please let me know in case you have any follow-up questions.

Best regards,
Peter

Answered

Key muscle groups directly

Anonymous 4 years ago updated by Peter - Soxware Developer 4 years ago 1

The muscle groups are a great feature, and it would be even better if the could be keyed directly.

Since multiple muscles affect the same bones, the way I'm picturing this working is that keying a muscle group would create 'virtual keys' in the timeline of the affected bones. These keys would not be editable, and their values would be continually calculated by combining the effects of all the muscles driving them.


For example, a bend of the torso accompanied by a back-and-forth twist would comprise:

  • two keyframes for the bend (on the 'torso bend' muscle curve)
  • four keyframes for the twist (on the 'torso twist' muscle curve)
  • six virtual keyframes on the affected bones, the values of each reflecting the cumulative effect of the keyed bones

At any point the user could 'bake' any individual virtual key to create directly editable normal keys (a one-way process).

The advantage to the user is that different muscles in the same group could be keyed and edited at different points on the timeline, making it possible to (as in the example above) superimpose a back-and-forth twist on a bend, and then go back and separately tweak the bending or twisting element of the motion without having to adjust the keyframes of the other.

I fully expect to be told this is actually possible already, but I really, really did look quite hard this time first before asking XD

Answer

Hi,
thank you very much for sharing your idea. I really appreciate that.

You are right, this is currently not possible. I've added this to my ideas for the future list, but due to the great amount of changes this would require, I only gave it a medium priority and currently can't promise if and when this feature is going to be implemented.

Please let me know in case you have any follow-up questions.

Best regards,
Peter

Answered

Mirror Generic Animation

bilalmohamed18 4 years ago updated 1 year ago 7

I have a Generic animation file with an animation where the 'left leg' is the leading leg. I would like to mirror it and make the 'right leg' the leading leg. I tried the 'Copy to Other Side' option for each keyframe (which is a very tedious process) however, the results are not perfect as I am noticing some extra rotations.


Will be great if you could let me know how the mirroring can be achieved using UMotion Pro.

Answer

Hi,
thank you very much for your support request.

Unfortunately, UMotion currently does not have a functionality to mirror a whole generic animation. Mirror to other side is currently the only available functionality. I have a generic mirror on my to-do list but due to the complexity of this feature I currently can not estimate when such a feature is going to be available.

Please let me know in case you have any follow-up questions.

Best regards,
Peter

Answered

Can't create smooth motion involving multiple axes

Anonymous 4 years ago updated by Peter - Soxware Developer 4 years ago 4

I can only assume I'm missing something, because it seems impossible to create smooth motion in which several axes of a bone or muscle group are keyed independently.

The clip I'm trying to create is a 'struggle' animation for a character being wrapped up in a web. Muscle groups should make this easy - and with Unity's own animation editor it is: I can key (for example) chest forward/backward and chest twist movements on different keyframes, creating a reasonably convincing 'writhe' effect. But with UMotion that seems impossible. If I key the chest open/close on frames 20 and 40, and upper body twist on frame 30 and 50, I would expect the twist and the curl to proceed together, just out of phase. Instead, the character acts like a robot, curling forward fully and only then starting to twist, then uncurling and then untwisting. I don't understand the curve view at all: it only shows one curve when several axes are involved and the keys can't be edited other than dragged along the timeline.

I can't believe this is how it's supposed to be; where am I going wrong?

Answer

Hi,
thank you very much for your support request.

The default rotation mode is "Progressive Quaternion". Switching to "euler mode" gives you all 3 curves. Please check out this video tutorial, it explains everything in detail:

If you have any questions, let me know.

Best regards,
Peter

Answered

Use Unity Tool handles

mel 4 years ago updated by Peter - Soxware Developer 4 years ago 1

Hi,

I realized way too late that you can change local/global in the pose tab of uMotion.

Could you just connect it to unity's menu?

Image 612

Answer

Hi Mel,

thank you very much for sharing your idea. I really appreciate that.

Yes that makes sense. Not sure why I haven't done this initially (maybe there have been technical difficulties). I've put it on my to-do list.

Best regards,
Peter

Answered

Anchoring the bones

Anonymous 4 years ago updated 4 years ago 2

Hello!

Is anyway to anchor bone in edit mode animation?

I have existing animations, but I would like to change them so that the character carries something. I don't want to change that for every frame.

Something like (0:12 to 0:13).

Youtube video


Greetings,

David

Answer

Hi David,

thank you very much for reaching out.

Yes this is possible and is called "IK Pinning". Please first watch the child-of constraint video tutorial (it is the underlying system that enabled the IK pinning functionality), then watch the IK Pinning video tutorial:

Please let me know in case you have any follow-up questions.

Best regards,
Peter

Answered

Do armature transforms no longer get modified in editor?

Anonymous 4 years ago updated by Peter - Soxware Developer 4 years ago 4

I used to use a tool that would use the UMotionCallback to update the transform of props onto the hand bone transform so that I could preview held props while editing an animation. It seems that the armature transforms are no longer modified by the clip editor. Did something change with Unity/Umotion versions?

Answer

Hi,

thank you very much for your support request.

Related to the callback mechanism, nothing changed (to my knowledge). I also did a quick test and for me everything is working as expected:

using UnityEngine;
using System.Collections;

public class TestScript : MonoBehaviour
{
    public Transform TestBone = null;

    // Use this for initialization
    public void MyCallback ()
    {
        TestBone.Rotate(0, 90, 0);
    }
}

Assign this script to your character. Then assign any bone to the "TestBone" field. Make sure that UMotion calls the "MyCallback". Your script should get called and adds another 90 degree rotation to the bone.

PS: Oh you probably mean that the visualization of the bones is not updated according to the changes done via the custom script? That's currently by purpose, as the scripts are called after UMotion updated everything and indicates that the changes are coming from a script, not from UMotion.

Best regards,
Peter

Under review

animator transition bug?

shuhsasha 4 years ago updated 4 years ago 7

I have three animations created in UMotion. Get weapon, Idle weapon and Walk weapon. Also i have other animations but for now it doesnt metter. Bug apears in transitions. For example between these animations. Idle and Walk in blend tree. On screen you can see where transition is, and how looklike person before transition. Then, in transition, hands (IK standart UMotion setup) rotating around to same rotation. (in next screens) They just make 360 rotation for no clear reason for me.

Image 610

Image 611

Answered

Just picked up Umotion - Newbie Question on Pasting Start and Stop states to create clip- Melee Draw Sword

Anonymous 4 years ago updated 4 years ago 1

Just picked up the asset - Looks really good!  Questions:  (IK Setup-Humanoid-Auto Key=> Generate) -For first testing I took 2 Animations, One a Melee Pose Idle and the Other a Locomotion Idle.  

I created a new "Clip" and have both these animations imported.   I just want to start with the Locomotion idle pose state and end state be the Melee Pose State (Drawing a Sword Later).   When I select the Melee Pose Animation, Select the entire body, Change to my Clip and move to 2:00 and hit CNTRL-V to Paste it does nothing?   From what I understand  Umotion after this end state paste (and Beginning state paste) will create the clip with the humaniod moving from idle state to the melee ready to draw sword state?   I guess I am stuck on why I can't paste the beginning and end states?   Sorry, New to working in animations like this.   Excited though :) 

Answer
Anonymous 4 years ago

Cancel This!   Got it working so far.  :)  Thanks!