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
- Schimbați pachetele în „Unity Registry”
- 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:
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ă
- 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"
Camera ar trebui acum să urmărească jucătorul:
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
- 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.
- 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).
- Acum putem începe să adăugăm componente la cronologia făcând clic dreapta pe fereastră.
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"
- Duplicați semnalul "DisablePlayer" și redenumiți-l în "EnablePlayer"
- 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
"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.
- 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:
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
- 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.
Hai să apăsăm pe play și să vedem rezultatul:
Scena se joacă la începutul jocului.