Unity 3D Game Engine – Animation View

Unity 3D Game Engine – Animation View

The Animation View is the authority animation tool of Unity 3D

1. Hierarchy> select Main Camera

2. MAIN TOP MENU> Window> Animation> Top Left window> Animation Drop Down menu> [Create New Clip]> Create a ‘Animations’ folder INSIDE ‘Assets’ folder> Save ‘New Animation.anim’

3. Unity 3D authomatically creates:

a. Project window> Animations/Main Camera (animator controller)
Animations/New Animation (animation clip)

b. Inspector> Animator (component)/ Controller -> Main Camera

4. Window> Animation>

– ‘Add Curve’ button> Transform> Position> ‘+’ icon
Transform> Rotation> ‘+’ icon

– Sample: frames per second, 60 = 60 fps

5. Press ‘Record’ button (the little red circle) -> Inspector> Position, Rotation; Animator component turn to red

6. DRAG the red line over the time> Scene view, move the Main Camera using the handles, Unity3D creates the keyframe

7. Bottom Left> switch to ‘Curves Mode’> LEFT COLUMN> Main Camera: Position> Position.x> RMB over a keyframe:

– Delete a key
– Auto
– Free Smoot
– Flat
– Broken
– Left Tangent / Free / Linear / Constant
– Right Tangent / Free / Linear / Constant
– Both Tangents / Free / Linear / Constant

8. Window> Animation> Play button to see the animation

9. Project> Animations>

> New Animation clip> Inspector to edit the animation clip -> UNCHECK ‘Loop Time’ if you want the clip will run once.

> Main Camera controller> Animator window to edit transitions

By |Unity3D, Video Games Development|Commenti disabilitati su Unity 3D Game Engine – Animation View

Unity 3D Game Engine – Animator Scripting

Unity 3D Game Engine – Animator Scripting

Animator class brings to life your characters!

Think about that:

1. Hierarchy> select your character> Inspector
– Transform
– Animator Component
— Animator Controller (animations scripts)
— Animator Avatar (rig informations)
– YourCharacterScript.JS

2. Open — Animator Controller> Animator Window> Animation Clips

Idle <-> Walk <-> Run <-> Jump

Parameters: Speed |float value|
Jump |trigger (checkbox – innesco)|

NOTICE: the character will jump ONLY if it is running
Il personaggio può saltare solamente se stà correndo

3. YourCharacterScript.JS


#pragma strict

var anim : Animator; // creo una variabile per richiamare la classe Animator

// conversione in Hash, Hash è un valore intero univoco che rappresenta una specifica stringa
// ottiene il parametro Jump e lo converte in Hash
var jumpHash : int = Animator.StringToHash("Jump"); 
// ottiene dal layer Base, Run e lo converte in Hash. Specifico anche il Layer di appartenenza perchè potrebbe esistere su un'altro layer una clip di animazione Run
var runStateHash : int = Animator.StringToHash("Base Layer.Run"); 


function Start () 
{
    anim = GetComponent("Animator"); // ottiene Animator Controller attaccato all'oggetto
}


function Update () 
{
    var move : float = Input.GetAxis ("Vertical"); // rileva i dati di input utente, questo valore va da -1 a 1
    anim.SetFloat("Speed", move); // il valore rilevato da Input.GetAxis viene assegnato a Speed di Animator Controller
                                  // con l'aumentare di speed lo stato passerà da Statico a Camminata a Corsa

    // ottiene le info di stato dal layer di base, indicizzato 0 zero, capisce quale clip di animazione è attivo
    var stateInfo : AnimatorStateInfo = anim.GetCurrentAnimatorStateInfo(0); 
    
    // se viene premuto il tasto barra spazio AND lo stato corrente è la corsa...
    if(Input.GetKeyDown(KeyCode.Space) && stateInfo.nameHash == runStateHash)
    {
        // ... viene avviata l'animazione del salto
        // il personaggio potrà saltare solo se stà già correndo
        anim.SetTrigger (jumpHash);
    }
}

By |Unity3D, Video Games Development|Commenti disabilitati su Unity 3D Game Engine – Animator Scripting

Unity 3D Game Engine – Avatar Masks

Unity 3D Game Engine – Avatar Masks

Avatar Mask permette di creare una maschera per prevelare da un’animazione soltato i keyframe di alcune ossa.

Creare un’Avatar Mask

1. Project> selezionare il personaggio> Inspector> Animations> selezionare una Clip di Animazione> in basso, espandere il menu ‘Mask’

oppure

1. Project> RMB su uno spazio vuoto> Create> Avatar Mask> Inspector

– Humanoid: per umanoidi, cliccare su una parte del corpo per disattivarla
Verde: i keyframe di quella parte di ossatura verranno utilizzati
Rossa: i keyframe di quella parte di ossatura verranno ignorati

– Transform: per un rig generico o per umanoidi con parti aggiuntive come code o ali. Deselezionare una voce dalla lista per disattivarla.
Attivato: i keyframe di quella parte di ossatura verranno utilizzati
Disattivato: i keyframe di quella parte di ossatura verranno ignorati
Ad esempio si potrebbe utilizzare per animare solamente la coda del personaggio. Solamente le ossa della coda saranno attive.

By |Unity3D, Video Games Development|Commenti disabilitati su Unity 3D Game Engine – Avatar Masks

Unity 3D Game Engine – Animator Controller Layers

Unity 3D Game Engine – Animator Controller Layers

In Unity 3D le clip di animazione si possono stratificare in layer

1. Hierarchy> Select your character> Inspector> Animator> Controller> Animator Window> Layer> ‘+’

– Name: assegnare un nome, ad esempio ‘Respiro Affannoso’

– Weight: 0 il Layer non influenza il risultato finale
1 il Layer influenza con peso massimo il risultato finale

– Mask: l’animazione del layer potrebbe influenzare solo una parte specifica di ossa che compongono lo scheletro

– Blending: Override, ricopre i keyframe degli altri livelli sostituendoli
Additive, si somma ai keyframe esistenti (ad esempio l’animazione di un respiro affannato si somma)

– Sync: si sincronizza con un livello specifico ricreandone la struttura delle clip

– Timing

By |Unity3D, Video Games Development|Commenti disabilitati su Unity 3D Game Engine – Animator Controller Layers

Unity 3D Game Engine – Animation – Curve and Events

Unity 3D Game Engine – Animation – Curve and Events

Animation clips can have Curves and Events

Curves

Le curve possono essere richiamate ed applicate a elementi esterni, come il Collider del personaggio.

1. Import a character inside .fbx file> Inspector> Animations> Select an Animation Clip

2. You can find at the Bottom Animation Tab> Curves> Expand the menu> ‘+’ icon> Give it a name> Double click the curve> Curve Editor will open> Edit the Curve.

Events

Un evento può essere posizionato ad un fotogramma particolare della clip di animazione. Ad esempio se il nostro personaggio salta, al fotogramma in cui ritorna a terra possiamo associare un effetto sonoro particolare.
Gli eventi saranno definiti in Inspector> Animations etc… e riutilizzati con degli Script

1. Import a character inside .fbx file> Inspector> Animations> Select an Animation Clip

2. You can find at the Bottom Animation Tab> Events> Expand the drop down menu> Scrub the animation> Find the frame> click the button to the left to the timeline ‘|+’> the Events Property Window will appear> Give it a name (example: PlayLandingSound)

By |Unity3D, Video Games Development|Commenti disabilitati su Unity 3D Game Engine – Animation – Curve and Events