unity3d

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

Unity 3D Game Engine – Animation Properties

Unity 3D Game Engine – Animation Properties

Import Animations stored inside a .fbx file

1. Import your character inside a .fbx file> Inspector> Animations

2. Check ‘Import Animations’> Apply, Unity will import animations stored inside .fbx file

– Bake Animation: convert the animation to IK to FK

– Compress: Off – KeyFrame Reduction – Optimal
(a mio parere è megli effettuare queste ottimizzazioni dentro a 3DSMAX prima di esportare in .fbx)
— Errors, the smaller the value the higher is the precision the less compression you get

– List of clips avaiable inside the .fbx> + or – to create clips o remove clips

3. Select a clip

– Loop Time: check if you want loop the animation

– Traffic signal: click over it to see a graph, it can be green (il loop è buono perchè la posizione di inizio e fine si somigliano), giallo (loop meno buono), rosso (loop pessimo)

– Root Transform Rotation
— Bake Into Pose: se attivo l’Avatar di Unity non ruoterà anche se nell’animazione originale da 3DSMAX ci saranno dei cambi di direzione. Si attiva nelle animazioni dove il personaggio deve procedere diritto, come una camminata o una corsa standard.
— Based Upon (at Start):
— Body Orientation: la rotazione del pelvis si baserà sulla posizione iniziale all’interno di Unity
— Original: la rotazione del pelvis si baserà sulla posizione iniziale all’interno di 3DSMAX

– Reset Transform Position Y
— Bake into pose: se attivo il personaggio non si sposta in Y

– Reset Transform Position XZ
— Bake into pose: se attivo il personaggio non si sposta sul piano X, si sposterà solo in Y

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

Unity 3D Game Engine – Humanoid Avatars

Unity 3D Game Engine – Humanoid Avatars

Inside Unity 3D ‘Avatar’ you can store informations about rig and skeleton.

1. Import a character in .fbx format

2. Project Window> select the imported object> Inspector> Rig

– Animation Type: select Humanoid

– Avatar Definition:

– Create From This Model: to create a new Avatar

– Copy From Other Avatar: to import an existing Avatar

– Optimize Game Objects:

– check, Unity will create his own optimized character bones, it will improve your game performance.
In most cases it is the best way.
Se importo da 3DSMAX+Biped, Unity seleziona tra le ossa di Biped solo quelle che gli servono,
il resto restano presenti ma sono disattivate.

– uncheck, Unity will create a lot ‘Empty Game Objects’ to represent all character bones.
You will have more control over bones structure, but it is much less efficient.
Se importo da 3DSMAX+Biped resta la struttura ossea completa di Biped.

-> La soluzione migliore è a mio avviso utilizzare poche ossa direttamente in 3DSMAX,
in questo modo si otterrà più controllo sull’animazione finale.

– Extra Transform to Expose (you will see that if ‘Optimized Game Object is checked’)
If you want to add a cup of coffee to the hand of your character, you will need to expose the hand transform.
Click ‘+’ button> select from the drop down menu the Hand

3. Inspector> Rig> ‘Configure’ button> Apply if request
For a Humanoid Character you do not need a lot of bones. If you do not have too much bones it will improve your game performance.

unity3d-001

unity3d-002

unity3d-003

unity3d-004

unity3d-005

– Mapping: the bone definition

– Bottom, ‘Mapping’ button> Automap, it is the automatic mapping function, it works well in most cases.

– Pose: TPose, it works best in Unity than other poses.

– Muscles: to test deformations and apply the limits of the joints.

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