The same happens for values on custom scripts.
Hey I was just thinking, pairing this add on up with this > Unity - Scripting API: Animator.StartRecording
Could make an awesome replay system.
What do you think?
The recording system in Animator isnāt exactly the same, it doesnāt create an animation file (because of the same constraint that the GameObjectRecorder has: right now, itās impossible to create an animation at runtime), and it doesnāt store exactly the same data (itās very animation and state machine related). But if you want to create a sands of time effect, maybe this recording system could be used. I donāt know how much memory it can use.
That being said, weāre working on integrating the GameObjectRecorder in the new FrameRecorder API. This API is a very generic one, allowing to standardize the different recording systems in Unity (record a video or an animation).
Very interesting, Iām trying to create an iOS app, and I need to animate a character at runtime, so the user can move every part of the character and record the movements and store or save on a ā.animā file, pretty similar you are talking about but, it is possible edit those animations on runtime and save or store again?
FrameRecorder with animation recorder (alpha) is out: Release v0.2 - QA build Ā· Unity-Technologies/GenericFrameRecorder Ā· GitHub
@jpatinop80 Iām sorry but itās not possible at the moment, Iāve explained a bit a the end of this comment: Feedbacks for experimental feature: GameObjectRecorder (2017.1) - #28 by anon20000101
Thanks mate
Did someone manage to bind and record Mesh.vertices?
Iāve been trying for days but I just canāt get it to work.
It would be awesome if you could file a bug report
There are some edge cases that we havenāt tested yet, and that one might be one of them.
Has anyone found a workaround for non-transform values only recording sporadic frames? Is it fixed in newer versions of unity? Iām on 2017.1.0p4
Iāll try storing the data while recording and stuffing it into the clip after.
The bug is filed, but Iām not working on it right now (sorry )
But on the bright side, Iām on the Animation C# Jobs (which is going to be huge!)
Serves me right for using an experimental feature I guess.
So I got my stored data to work, so well that I even just rewrote the transform stuff too and Iām not using GameObjectRecorder at all anymoreā¦ but now I have a new issueā¦ file size Is there any way to pass my clip through Unityās built in animation compression for fbx files?
EDIT:
I wrote my own simple keyframe reduction(not as good as Unityās but itāll be fine) and for anyone else running into rotation issues this thread is very helpful: New Animationclip property names
EDIT2:
After banging my head against the wall with an editor script that reduces keyframes after the clip has been created (Iād remove keyframes and the file sizes seemed to get 2-3x biggerā¦?) I found that reducing the curves BEFORE assigning them to the clip made works great. Maybe this will help someone some dayā¦ maybe not.
EDIT3:
First off, if youāve gotten this far reading my post, thank you for joining me on this journey. After several failed attempts at trying to remove gimbal lock pops from the rotation I was recording, I ended up just going back to using the recorder for transforms. There were way too many discrepancies between what I recorded vs what I was looking at in the animation window vs what was getting evaluated in the scene, and while that forum post linked above explains a lot of it, I still didnāt quite get why I was seeing pops when i was simply recording quaternion values and binding them as such.
If youāre attempting what Iām attempting, save yourself the headache and just use the recorder for Transform recording, custom data for everything else.
When recording using the GameObjectRecorder, do you see the pops in the animation window? Could you take a screenshot?
Oh no when I use the GameObjectRecorder there are no pops, I only saw pops when I was manually creating rotation curves from the Transform properties and adding them to a clip using SetCurve().
So please correct me if I am wrong but because this uses the UnityEditor . There is no way to get this to work on standalone builds? Even if the animation was supposed to be āsavedā in memory.
I was looking for a solution that allow users to re-position objects in a sequence and save and replay this.
Wow, I could definitely use this! For my part, Iām building an arcade-style simulation that needs to be filled with enemies flying complex motion profiles - circles, loops, figure-eights, etc. It would be convenient to store a series of positions (as opposed to an animation) that I could then feed to the objects at run-time. Iād like to move the objects with a space mouse and record that sequence.
Actually, if I had the position, orientation, and velocity over time, it would be enough.
Youāre right, itās editor only. I know that itās tempting to use it as a replay mechanism, but Iām not sure it would be the right solution, at least not in its current state, since the GameObjectRecorder can quickly record too much data and take a lot of memory.
Itās not impossible to bring it to the engine and optimize it, but it would require quite a lot of refactoring to achieve this feature. Thatās why, for now, weāve limited this feature only to the editor.
Hello fellow users of the experimental GameObjectRecorder!
Just to let you know that, just this morning, a fix landed in our main branch and that itās main goal is to allow to record MonoBehaviours. But along the way, I fixed two more bugs:
- A better detection of the bindings types, which means better curves and tangents. Overall, this makes the recorder stabler, and fixes some edge cases, like when recording BlendShapes.
- While writing a test for the MonoBehaviour recording, I discovered a bug in the key reduction algorithm. Nothing critical, but still, itās nice to find and fix this kind of bugs
Great that this is being worked on. Does this fix the issue where recorded blendshapes become choppy when reloading Unity? In the meantime, is there any workaround to save/export the detailed blendshape animation before it gets destroyed? I would very much like to use this in a workshop next week but Iām afraid I wonāt see a Unity update that soon.
I donāt have a test for that right now, but considering the fixes Iāve done, I would not be surprised if they would fix that issue as well.
But Iām afraid there is no workaround for it in the released versions
For your workshop, do you really need to record blendshapes? For now, it would be safer if you would record the Transform of your objects (for instance recording objects in a physics scene).