All Projects → newyellow → Unity Runtime Animation Recorder

newyellow / Unity Runtime Animation Recorder

Licence: mit
Record animations in Unity runtime. Can save to .anim, maya, or FBX ASCII format.

Projects that are alternatives of or similar to Unity Runtime Animation Recorder

Meshsyncdccplugins
DCC plugins for MeshSync in Unity. Supported tools: Maya, Maya LT, 3ds Max, Motion Builder, Modo, Blender, Metasequoia
Stars: ✭ 127 (-68.8%)
Mutual labels:  unity, maya
Klakndi
NewTek NDI™ plugin for Unity
Stars: ✭ 401 (-1.47%)
Mutual labels:  unity
Vectorfieldexamples
Unity VFX Graph examples with vector fields
Stars: ✭ 370 (-9.09%)
Mutual labels:  unity
Unity Wireframe
General purpose wireframe shaders for use in Unity.
Stars: ✭ 378 (-7.13%)
Mutual labels:  unity
Leopotamgrouplibraryunity
Tools library for unity 3d game engine: animator graph helpers, serialization (json), localization, event routing (eventbus, ui actions), embedded scripting, uGui xml markup, threading, tweening, in-memory protection and other helpers (pure C#)
Stars: ✭ 373 (-8.35%)
Mutual labels:  unity
Gnome Layout Manager
A bash script that batch installs and tweaks GNOME extensions as well as GTK/Shell themes. There are currently three options available: Unity, Windows and macOS.
Stars: ✭ 383 (-5.9%)
Mutual labels:  unity
Unity Native Sharing
A Unity plugin to open native sharing dialogs on iOS and Android, primarily for text and files
Stars: ✭ 370 (-9.09%)
Mutual labels:  unity
Holoshield
Highly customizable sci-fi shield / force field shader for Unity3D. Allows you to set edge power & color, inner texture scrolling, waviness, scale pulsation and procedural intensity noise. Implements tessellation for low-poly base meshes.
Stars: ✭ 401 (-1.47%)
Mutual labels:  unity
Socket.io Unity
socket.io client for Unity, power game client with node.js back-end
Stars: ✭ 396 (-2.7%)
Mutual labels:  unity
Flatabulous
This is a Flat theme for Ubuntu and other Gnome based Linux Systems.
Stars: ✭ 3,725 (+815.23%)
Mutual labels:  unity
Darkest Dungeon Unity
Darkest Dungeon port in Unity. Almost completely identical to the original. Platforms: PC/Android.
Stars: ✭ 378 (-7.13%)
Mutual labels:  unity
Unity2d Components
A constantly evolving array of Unity C# components for 2D games, including classes for pixel art cameras, events & messaging, saving & loading game data, collision handlers, object pools, and more.
Stars: ✭ 375 (-7.86%)
Mutual labels:  unity
Unityeditorjunkie
Editor scripts to make working with the Unity Editor better.
Stars: ✭ 390 (-4.18%)
Mutual labels:  unity
Scriptableobject Architecture
Makes using Scriptable Objects as a fundamental part of your architecture in Unity super easy
Stars: ✭ 370 (-9.09%)
Mutual labels:  unity
Kinocontour
Contour line filter for Unity
Stars: ✭ 400 (-1.72%)
Mutual labels:  unity
Kondo
Save disk space by cleaning non-essential files from software projects.
Stars: ✭ 373 (-8.35%)
Mutual labels:  unity
Starforce
This is a demo made with Game Framework.
Stars: ✭ 375 (-7.86%)
Mutual labels:  unity
Lightmap Switching Tool
Tool that allows switching different baked lightmap sets on a unity scene at runtime.
Stars: ✭ 381 (-6.39%)
Mutual labels:  unity
Unityurp Mobiledrawmeshinstancedindirectexample
Example project to draw 1million grass instances on mobile
Stars: ✭ 405 (-0.49%)
Mutual labels:  unity
Hdrpvatexample
VAT (Vertex Animation Texture) with Unity Shader Graph and Visual Effect Graph
Stars: ✭ 401 (-1.47%)
Mutual labels:  unity

Unity-Runtime-Animation-Recorder

This project can make you recording animations in runtime with Unity, and can save into .anim or Maya .ma format.
Though Maya has its own physic simulator, but unity is much faster and can easily control detail movement through scripts.

Installation

Copy just copy Unity Runtime Recorder folder into your Asset folder and it's ready to go.
If you want to see same sample you can also copy DemoAssets folder.

How To Use

Here is a short video demo.
https://youtu.be/RAjU5KodE1w

Unity Anim Saver

※ this function needs UnityEditor to work, so can only work in the Editor.

  1. Drag the UnityAnimationRecorder.cs script on any GameObject, and it will record all transforms in children.
  2. Press "Set Save Path" button in the inspector, choose pick a folder and enter file name.
  3. Play the scene, and start/end recording by press the key you set in the inspector.
  4. When End Recording pressed, the .anim file will be generated.

Maya Exporter

Pretty much the same as Unity Anim Saver.
Additionally, you have to select an .ma file which contains all model information.

My script doesn't generate model informations for maya, it only record animation data and append them at the end of .ma file. If you want to export the meshes you make in Unity, you can try Export2Maya which is a nice plugin I use before.

Export Humanoid Animations to Maya

※ This step is no longer needed, the script will solve this problem automatically. But since this section explains the problem and the solution, so not remove it.

Unity and Maya treat spines differently, which sometimes cause issues when you exporting animation with SkinnedMesh.

In Maya, there is an additional "Joint Orient". The actual spine rotation is the sum of transform rotation and joint orient. But since Unity doesn't have this attribute, the transform rotation values in Unity is alreay the sum value. While this plugin is recording the values in Unity, the joint orient values will add once more in Maya, cause the recorded result weird.

In order to record animation correct, we have to make every spines' "joint orient" values to (0,0,0). And here is a tutorial video if you not sure how to do it.

Export Humanoid Animation from Unity to Maya - Unity Runtime Animation Recorder
※ Now the Maya Exporter script will set all spines' joint orient to (0,0,0), which solves this problem automatically.

FBX Exporter

2017-10-10 Implemented FBX exporter, works similar as Maya Exporter.
But for now, there is some memory issue, can't export too complex objects.

 Export to FBX Demo Video

Here are a few things to notice:

  1. The "source FBX file" has to be in ASCII format (you can choose ASCII or Binary while exporting FBX file)
  2. Make sure every nodes' name are exactly the same as the source file
    (sometimes nodes' name got changed by Unity or 3D software)  

Dealing with Lag

If you want to simulate with a big amount of objects, you might ecountered lag.
You just need to adjust the Time.timeScale value in the Project Setting (or by using ChangeTimeScale option in my script).

All physics in Unity will affect by timeScale setting. And if you want to modify the object animation through your own script, please use FixedUpdate instead of Update.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].