I’m looking for a solution to add multiple properties to a animation. It’s extremly annoying to click: Add Property->Object->Transform->Rotation then repeat ist for all child objects. I have 44 Bones on my object and need them all in my animation. I don’t want to add them all for every animation per hand.
Enable Record Mode (In the Animation Window) → Move Play-Head to desired time to Keyframe on → Modify child objects using Scene-View Transform Gizmos (Or manually in the Inspector) to desired position/rotation/scale → Repeat until animation is done!
Thank you, that worked.
This doesn’t work to me. Every time I modify child objects while Record mode is enabled, they jump back to their original position as soon as I disable Record mode in Animation window. The only way I can make my modifications persistent is in the Animation window by setting the keyframes of Properties already added there, rather than modifying transforms in the scene view. But then I bump into the same issue described by Ghost2K that I can only add those properties to Animation window one by one which is too slow to do for each body parts (I have many characters to repeat this in). So why doesn’t your editing in Scene View work in this case?
@krisventure when you exit Record mode in the animation window, the object you were animating will revert back to the reference pose it was in before any animation. This is expected behavior as the animation is not a persistent state for the object, but rather only used when it is animating. If you enter play mode and trigger the animation, you should see everything happen just as you set it up in the animation window.
@TrickyHandz I know that’s not the problem. The problem is that once I exit recording mode, the modifications of the animation are lost, I don’t mean the resetting of position to default, I mean even when returning to Record mode or playing the same animation again, the modifications are lost. I think the problem was that the properties that can be changed from animation window aren’t necessarily the bones whose transforms can be adjusted in the Scene view (during Recording mode). When I move/rotate those bones in the scene view, they indeed appear as properties in the Animation window but these Transform properties then won’t effect the position of the same bones when I adjust them from Animation window. And any adjustments made in the Scene are not recorded.
What solved it for me is when I noticed in the list of properties that you can add from Animation window that the same object can be added either as ‘Transform’ property OR ‘Animator’ property. Animating the transform (the same thing that gets auto-added when modified in the scene) doesn’t have an effect and isn’t recorded, while Animating it as ‘Animator’ property does work in my case. So for me the only solution indeed is to add each properties (from the ‘Animator’ property of the Character) like leg, fingers etc, one by one from that list.
@krisventure , sorry I misunderstood your situation. Based on what you added, I’m assuming you are using a Humanoid character rig for the character you are animating. So you are in fact seeing expected behavior. When using Humanoid rigs, the movement of joints is defined using muscle clips rather than directly through bone positioning. This is what enables Mecanim to re-target humanoid animation. It has been pointed out by members of the Mecanim development team that although there is no easy way to do muscle animation in Unity at the moment. It is my hopes that there is something in development to fix that issue. In previous versions of Unity, there was a warning that said keyframing bones was not available for Humanoid rigs, but that appears to have been removed or it isn’t firing (At least in 5.5.0f3). I’m going to have to look through some other versions and figure out when that message disappeared.
Cheers,
TrickyHandz
@TrickyHandz that would make perfect sense. I even kinda recall that having the rig’s import settings changed to Generic was what finally solved it and allowed me to animate in the scene view, is that possible? It sounds in line with what you suggest. Anyways, for Humanoid rigs, without a better option I still wouldn’t mind having to animate the muscles from within Animation window (by manipulating the keyframes directly), but what Unity could have easily added to help, is simply the ability to drag and drop more than just one property from the property list and I can’t understand why they won’t add this. I even saw it as a submitted feature request by someone long ago, with quite some upvotes.
Btw, in case you want to track it back, I’m using Unity 5.3.4 and the notification about animating Humanoids is already missing there.
For anyone that comes here from Google, check out this thread: Add property to all clips in an animation controller?
(This thread was the top result for me, even though I feel the best answer to the original question is at the link I shared)