Tutorial Unity Cinemachine și Timeline

Cinemachine este un pachet pentru Unity care oferă dezvoltatorilor control profesionist al camerei și îmbunătățește capacitatea de a crea scene cinematografice.

Acest tutorial va acoperi următoarele subiecte:

  • Instalare Cinemachine
  • Configurarea camerei la persoana a treia
  • Timeline Cutscene Creare

Instalare Cinemachine

Pentru a instala Cinemachine, urmați pașii de mai jos:

  • În Unity mergeți la Window -> Package Manager

Meniul Unity Package Manager

  • Schimbați pachetele în „Unity Registry”

Registrul Unity Package Manager

  • Selectați "Cinemachine" din listă, apoi faceți clic "Install"

Cinemachine este acum gata de utilizare.

Configurarea camerei la persoana a treia

Mai jos voi arăta cum să configurați o cameră pentru persoana a treia folosind Camera virtuală Cinemachine.

O cameră virtuală este o versiune ușoară a unei camere Unity, care nu se redă singură, ci este folosită doar ca punct de referință pentru Camera principală.

Ca exemplu pentru acest tutorial, voi folosi un controler persoana a treia, cu excepția faptului că nu se configurează coliziunea camerei și fără a muta camera în ierarhia jucătorului:

Sharp Coder Video player

După cum puteți vedea, playerul se mișcă, dar camera nu urmărește.

Configurarea unei camere la persoana a treia folosind Cinemachine este foarte ușoară:

  • Accesați GameObject -> Cinemachine -> Cameră virtuală pentru a crea o nouă cameră virtuală

Cinemachine creează o cameră virtuală

  • Denumiți camera virtuală "TPS Camera"
  • Selectați TPS Camera și în CinemachineVirtualCamera atribuiți variabila Follow (în cazul meu, va fi obiectul "CameraParent", care este situat în ierarhia unui jucător și reprezintă rotația verticală a aspectului)
  • Setați valoarea corpului la "3rd Person Follow"
  • Setați Ignorați eticheta la "Player" și, de asemenea, selectați obiectul rădăcină a jucătorului și setați eticheta acestuia la "Player" (dacă există vreun colizător copil în ierarhia jucătorului, asigurați-vă că le schimbați și etichetele la "Player")
  • Modificați alte valori în CinemachineVirtualCamera, cum ar fi Camera Distanta, Camera Side, Shoulder Offset și Damping, până când sunteți mulțumit de rezultat.
  • Setați valoarea Aim a CameraParent la "Do nothing"

Valorile componentei CinemachineVirtualCamera

Camera ar trebui acum să urmărească jucătorul:

Sharp Coder Video player

Timeline Cutscene Creare

Aici voi arăta cum să compun o scenă folosind Unity's Timeline.

Timeline este un editor încorporat care le permite dezvoltatorilor să compună scene de filmare prin animarea camerei și, de asemenea, prin utilizarea animațiilor existente (de exemplu, mersul personajului), plus evenimente și semnale prin aranjarea lor într-o manieră secvențială.

Pachetul Cinemachine adaugă câteva opțiuni suplimentare la un editor de cronologie, cum ar fi posibilitatea de a comuta între camerele virtuale.

Pentru a crea o scenă, urmați pașii de mai jos:

  • Creați un nou GameObject și apelați-l "TimelineManager"
  • Deschideți fereastra Cronologie mergând la Fereastră -> Secvențiere -> Cronologie

Meniul cronologie pentru secvențierea ferestrei Unity

  • Selectați "TimelineManager" Object și în fereastra Timeline, ar trebui să vedeți o opțiune pentru a crea o componentă Director și un activ Timeline, faceți clic pe el.

Cinemachine creează o componentă Director și un activ Timeline

  • După crearea componentei Director și a materialului Timeline, ar trebui să vedeți fereastra Timeline goală (asigurați-vă că obiectul TimelineManager este selectat pentru a-l putea edita).

Fereastra cronologie Cinemachine

  • Acum putem începe să adăugăm componente la cronologia făcând clic dreapta pe fereastră.

Componente cronologie Creați

După cum puteți vedea, fereastra Cronologie are diferite opțiuni:

  • Track Group - acesta este un grup care poate conține acțiuni cronologice și este util pentru organizare.
  • Activation Track - aceasta definește obiectul care ar trebui să fie activ numai într-un interval de timp stabilit.
  • Pista de animație - aceasta va reda o anumită animație într-un interval de timp stabilit.
  • Track audio - aceasta va reda un anumit sunet într-un interval de timp stabilit.
  • Control Track - o piesă ale cărei clipuri controlează elemente legate de timp pe un GameObject.
  • Signal Track - aceasta permite efectuarea unei game largi de acțiuni asupra unui anumit obiect de joc la un moment dat (de exemplu, activarea scriptului de mișcare a jucătorului sau apelarea unei anumite funcții atunci când cronologia atinge un anumit cadru etc.)
  • Trackable Track - o piesă ale cărei clipuri sunt redate personalizate.
  • Cinemachine Track - aceasta permite amestecarea între mai multe camere virtuale Cinemachine.

În scopul acestui tutorial, voi folosi numai Animation Track și Signal Track.

Înființat

  • Creați o altă cameră virtuală și denumiți-o "CutsceneCamera" și setați-i valoarea "Priority" la un nivel deasupra "TPS Camera" (ex. 11)
  • Faceți clic dreapta în vizualizarea proiectului -> Creare -> Semnal și denumește-l "DisablePlayer"

Unity Create Timeline Signal

  • Duplicați semnalul "DisablePlayer" și redenumiți-l în "EnablePlayer"

Unity Timeline Signal Assets

  • Creați un nou GameObject în scenă și denumiți-l "SignalReceiver"
  • Atașați componenta SignalReceiver la un obiect "SignalReceiver"
  • Faceți clic pe "Add Reaction" de 2 ori
  • Atribuiți "DisablePlayer" unei prime reacții și "EnablePlayer" unei a doua reacții

Unity Timeline Signal Adaugă reacție

"DisablePlayer" va activa camera cu scena, va dezactiva camera playerului și scriptul de control al jucătorului și va fi plasat la începutul cronologiei.

"EnablePlayer" va dezactiva camera de filmare, va activa camera playerului și scriptul de control al jucătorului și va fi plasat la sfârșitul cronologiei.

  • Faceți clic pe (+) pentru a adăuga un spațiu de reacție, apoi atribuiți obiectul al cărui script sau componentă trebuia activat/dezactivat.

Sfat: Pentru a crea un semnal opus, puteți configura reacțiile pentru "DisablePlayer", apoi faceți clic pe pictograma roată -> Duplicați, schimbați semnalul la "EnablePlayer" și inversați casetele de selectare.

Semnal duplicat Unity

Configurarea reacțiilor semnalului în cronologia Unity

  • Selectați obiectul "TimelineManager", apoi în fereastra Timeline adăugați o nouă pistă de semnal făcând clic dreapta -> Signal Track, apoi atribuiți-i obiectul "SignalReceiver".
  • Trageți și plasați elementul semnal "DisablePlayer" la începutul cronologiei și "EnablePlayer" în cadrul în care doriți să se încheie filmarea:

Previzualizare semnal al cronologiei Unity

Acest lucru va face ca scriptul controlerului jucătorului și camera să fie dezactivate la început și apoi reactivate odată ce cronologia ajunge la sfârșit.

În cele din urmă, vom crea o animație simplă a camerei.

  • Faceți clic dreapta pe Timeline -> Animation Track, apoi atribuiți "CutsceneCamera" (aceasta va cere să adăugați componenta Animator la obiect dacă nu există)
  • Faceți clic pe butonul de înregistrare

Unity Timeline Animation Clip Record

  • Mutați ușor "CutsceneCamera", astfel încât cadrul cheie să fie aplicat, apoi mutați mânerul cadrului cronologiei până la sfârșit și, în sfârșit, mutați camera într-o nouă poziție, apoi faceți clic pe Stop Recording.

Unity Cinemachine Cutscene Cronologie

Hai să apăsăm pe play și să vedem rezultatul:

Sharp Coder Video player

Scena se joacă la începutul jocului.

Articole sugerate
Cum să pictezi copaci pe teren în Unity
Cum să importați animații în Unity
Compararea mediilor de dezvoltare 2D și 3D în Unity
Tutorial Gamepad pentru Unity
Construirea unui sistem de meniu interactiv în Unity
Unity Scripting API și Unity Pro
Alegerea Skybox-ului potrivit pentru mediul dvs. în Unity