All Projects → keijiro → Midianimationtrack

keijiro / Midianimationtrack

Licence: unlicense
SMF (.mid) file importer for Unity Timeline

Projects that are alternatives of or similar to Midianimationtrack

Timelineparticlecontrol
An example of controlling particle system from timeline.
Stars: ✭ 348 (+43.21%)
Mutual labels:  unity, unity3d, timeline
Minis
Minis: MIDI Input for New Input System -- A plugin that adds MIDI input support to Unity's new Input System
Stars: ✭ 214 (-11.93%)
Mutual labels:  unity, unity3d, midi
Unitystationbumper
Video bumper for Unity's live streaming channel.
Stars: ✭ 28 (-88.48%)
Mutual labels:  unity, unity3d, timeline
Proceduralmotiontrack
Simple procedural motion with Unity Timeline.
Stars: ✭ 300 (+23.46%)
Mutual labels:  unity, unity3d, timeline
Timelinetool
Provides an easy way to change Playable Director's Bindings and Clips at runtime.
Stars: ✭ 24 (-90.12%)
Mutual labels:  unity, unity3d, timeline
Audiopreviewtrack
Instant audio playback (scrubbing) in preview mode of Unity Timeline editor.
Stars: ✭ 88 (-63.79%)
Mutual labels:  unity, unity3d, timeline
Vfxminisexamples
Unity examples showing how to control VFX graphs with MIDI devices
Stars: ✭ 122 (-49.79%)
Mutual labels:  unity, unity3d, midi
Procedural Worlds Editor
Procedural World Editor is a node based procedural terrain generator
Stars: ✭ 218 (-10.29%)
Mutual labels:  unity, unity3d
Contactshadows
Experimental implementation of contact shadows for Unity.
Stars: ✭ 219 (-9.88%)
Mutual labels:  unity, unity3d
Ezsoftbone
A simple kinetic simulator for Unity, you can use it to simulate hair/tail/breast/skirt and other soft objects
Stars: ✭ 241 (-0.82%)
Mutual labels:  unity, unity3d
Hololenscamerastream
This Unity plugin makes the HoloLens video camera frames available to a Unity app in real time. This enables Unity devs to easily use the HoloLens camera for computer vision (or anything they want).
Stars: ✭ 233 (-4.12%)
Mutual labels:  unity, unity3d
Openseeface
Robust realtime face and facial landmark tracking on CPU with Unity integration
Stars: ✭ 216 (-11.11%)
Mutual labels:  unity, unity3d
Urmotion
Flexible motion engine for non time-based animation in Unity.
Stars: ✭ 220 (-9.47%)
Mutual labels:  unity, unity3d
Casinosclient
果派德州客户端源代码,使用Unity3D引擎。
Stars: ✭ 217 (-10.7%)
Mutual labels:  unity, unity3d
Noteeditor
Note editor for rhythm games.
Stars: ✭ 216 (-11.11%)
Mutual labels:  unity, unity3d
Mathutilities
A collection of some of the neat math and physics tricks that I've collected over the last few years.
Stars: ✭ 2,815 (+1058.44%)
Mutual labels:  unity, unity3d
Noiseball2
A small example of procedural modeling with compute shaders.
Stars: ✭ 215 (-11.52%)
Mutual labels:  unity, unity3d
Xrtk Core
The Official Mixed Reality Framework for Unity
Stars: ✭ 219 (-9.88%)
Mutual labels:  unity, unity3d
Roboleague
A car soccer environment inspired by Rocket League for deep reinforcement learning experiments in an adversarial self-play setting.
Stars: ✭ 236 (-2.88%)
Mutual labels:  unity, unity3d
Catlib
CatLib for unity3d dependency injection framework
Stars: ✭ 228 (-6.17%)
Mutual labels:  unity, unity3d

MIDI Animation Track for Unity Timeline

Ableton Unity

MIDI Animation Track is a custom timeline/playables package that provides functionality to control object properties based on sequence data contained in a standard MIDI file (.mid file). This allows you to create musically synchronized animation using a DAW (digital audio workstation) that is easy to manage accurately synchronized timings compared to other non-musical timeline editors like Unity's one.

System requirements

  • Unity 2019.1 or later

Installation

This package is distributed via the npmjs registry. You can import it using the scoped registry feature of Unity Package Manager.

To import the package, please add the following sections to the package manifest file (Packages/manifest.json).

To the scopedRegistries section:

{
  "name": "Keijiro",
  "url": "https://registry.npmjs.com",
  "scopes": [ "jp.keijiro" ]
}

To the dependencies section:

"jp.keijiro.klak.timeline.midi": "1.0.4"

After changes, the manifest file should look like below:

{
  "scopedRegistries": [
    {
      "name": "Keijiro",
      "url": "https://registry.npmjs.com",
      "scopes": [ "jp.keijiro" ]
    }
  ],
  "dependencies": {
    "jp.keijiro.klak.timeline.midi": "1.0.4",
    ...

Importing .mid files

You can import a .mid file as an asset file. Simply drag and drop it to the project view, or navigate to "Assets" - "Import New Asset...".

At the moment, the MIDI file importer doesn't support set-tempo meta events, so the sequence tempo value (BPM) must be manually specified in the inspector.

Inspector

An imported asset may contain multiple tracks that are shown as sub-assets under it.

Sub-assets

To create a MIDI animation track, drag and drop one of these clip assets to a timeline.

Drag and drop

Track controls

You can animate object properties from a MIDI animation track using track controls. To create a new track control, select a MIDI animation track (not a clip) in the Timeline editor. Then track control editor will appear in the inspector.

Track controls

A track control only can animate a single property. You can add multiple controls to animate multiple different properties.

At the moment, a track control only supports float, Vector3, Quaternion and Color properties. Please note that it requires a public property to be animated; Just providing a public variable is not enough.

There are three modes in the track control: Note Envelope, Note Curve and CC.

Note Envelope mode

Inspector

Note Envelope is a mode where a property is animated by a classic ADSR style envelope. This mode is useful when you want to make animation react to key-off events.

You can specify which Note/Octave the control reacts to. Please note that key velocity affects the envelope. It's simply multiplied to the envelope output.

Note Curve mode

Inspector

Note Curve is a mode where a property is animated by an animation curve. It starts playing animation on key-on events and keeps playing until it ends (key-off events will be ignored).

You can specify which Note/Octave the control reacts to. Please note that key velocity affects the animation curve. It's simply multiplied to the curve value.

CC mode

Inspector

CC is a mode where a property is animated by CC (control change) events contained in a MIDI track.

You can specify which CC Number the control reacts to.

MIDI signals

A MIDI animation track also supports sending Timeline Signals on key-on/off events. To receive MIDI events from a track, you can use the MIDI Signal Receiver component.

Inspector

  1. Add the MIDI Signal Receiver component to a game object that receives MIDI signals.
  2. Specify which Note/Octave the receiver reacts to.
  3. Register methods to Note On/Off Events.
  4. Set the receiver game object as the output destination of the track.

Output destination

You can add multiple receiver components to a single game object. It's useful to invoke different methods for each note.

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].