Izithombe ze-2D ku-Unity zibalulekile uma ufuna ukudala imidlalo ye-2D. Iya esikrinini seSigcawu bese ukhetha isidlali sakho. Vula iwindi lokugqwayiza. Ukuze uqale ukugqwayiza, udinga i-animator nesiqeshana sopopayi.
Ukuqala kokugqwayiza kwe-2D ku-Unity
Khetha isidlali bese uya ku-Animation -> Ukugqwayiza ngaphansi kweWindows

Udinga i-animator nesiqeshana sopopayi sezithombe ezinyakazayo ze-2D ku-Unity.
Khetha okuthi Dala, dala ifolda yokugqwayiza bese ugcine ukugqwayiza ngaphansi kwe-Player_Idle.
Umugqa wesikhathi uvela lapho ama-sprites wokugqwayiza angabekwa khona.
Hudulela ama-sprites wokugqwayiza efasiteleni lokugqwayiza. Ozimele bangeziwe:

Manje lo mlingiswa uzopopishwa ngokushesha okukhulu. Kuyadingeka ukulungisa izithombe ezidlalwa ngomzuzwana.
Ukuze ubonise isilinganiso sesampula, khetha izilungiselelo efasiteleni lokugqwayiza bese ukhetha "Bonisa Isilinganiso Sesampula"

Manje sekungama-60.

Shintshela ku-12.

Bese izithombe ezinyakazayo ze-2D ku-Unity azisasebenzi ngokushesha.
Izithombe zingahanjiswa kumugqa wesikhathi kusetshenziswa ukuhudula nokudonsa noma kususwe kusetshenziswa i-Delete.
Yonke into ibuye isebenzele ezinye izithombe, njengokuhamba usuka kumlingiswa.
Ukuze wenze lokhu, khetha: Dala isiqeshana esisha

Phinda ukugoba nokugxuma.
Uma ungenawo ama-sprite amaningi lapho ugxuma futhi, ngokwesibonelo, une-sprites engu-2 kuphela, ungasetha inani lamasampula libe ngu-2.
Kwifolda yokugqwayiza, isilawuli se-animator sinokuboniswa kwesithonjana okwehlukile kunokopopayi:

Inquma ukuthi yikuphi ukugqwayiza kwe-2D okuzodlalwa ku-Unity.
I-animator ivula ngokuchofoza kabili:

Lapho kunqunywa ukuthi imaphi ama-animation adlalwa. Ukugqwayiza kungahudulwa bese kwehliswa ngqo kusuka kuphrojekthi kuye ku-animator.
I-Player_Idle ixhunywe kumcibisholo owolintshi futhi imakwe ngokuwolintshi ngoba iwupopayi oqalayo. Uma uqala umdlalo, "ukugqwayiza okungenzi lutho" kudlala njalo. Ngenkinobho yegundane engakwesokudla ungakwazi “Setha njenge Ungqimba Khetha "Isimo Esizenzakalelayo" futhi wenze ukugqwayiza okuhlukile ukugqwayiza kokuqala.
Uma uqala ukusebenza, ukugqwayiza kufanele kushintshele kokugqwayizayo okuhambisanayo. Qhafaza kwesokudla ku-Player_Idle bese ukhetha Ukwenza Ukuguquka. Lokhu kudala ukuxhumana kusuka ku-Player_Idle kuye ku-Player_Run.

Uma ukhetha ukuxhumana, ungahlela lapho ushintsho kusuka kokunye ukugqwayiza kuya kolunye kufanele lwenzeke.
Ngalokho udinga isimo. Udinga nepharamitha ukuze lokhu kusebenze.

Dala "i-float".

Imele ijubane lomdlali.

Ngemuva kwalokho ufaka isimo:

Isibonelo, ucacisa ukuthi ukugqwayiza kuyashintsha lapho isivinini singaphezu kuka-0.01:

Lapho uhlamvu luhamba, luqala ngokunye ukugqwayiza.
Vala "Inesikhathi Sokuphuma".

Shintsha ubude boshintsho bube ngu-0.

Izithombe ezinyakazayo ze-2D ku-Unity of running kufanele zime lapho uhlamvu luyeka ukusebenza. Dala olunye ushintsho olubuyela ku-Idle.
Khetha isimo lapha lapho ukugqwayiza kushintsha lapho isivinini singaphansi kuka-0.01.

Lapha futhi, cisha i- "Has Exit Time" bese usetha ubude besikhathi sokuguquka bube ngu-0.

Izinguquko zokugqwayiza kwe-2D ku-Unity manje zenziwa kuskripthi:
Sinezikripthi ezi-2 zomlingiswa: I-CharacterController inakekela i-physics ehambisa umlingiswa neskripthi se-PlayerMovement esisho ukuthi isibalo sihamba nini futhi ngasiphi isivinini.
Okokuqala vula iskripthi se-PlayerMovement. Okokuqala sifuna ukufinyelela ku-animator:
Ubunye bengeza i-animator kusidlali lapho kwenziwa i-animation. Kushiwo isilawuli se-animator, naso esakha ubudlelwano nesidlali. I-animator kufanele ilawulwe yiskripthi se-PlayerMovement:
i-animator yomphakathi;
Buyela emuva ku-Unity futhi uzobona ukuthi inkambu ye-Animator manje iyavela ku-Player Movement Script. Ingxenye ye-animator bese idonselwa kuyo kusuka ewindini lomhloli.


Noma nini lapho sibhala ku-Animator yeSkripthi, sifinyelela ingxenye ye-animator.
Emsebenzini wokuvuselela manje usungafinyelela i-animator nengxenye ehambisanayo:
i-animator.SetFloat ("Isivinini", i-Mathf.Abs (i-horizontalMove);
Umsebenzi weMathf.Abs uqinisekisa ukuthi inani lokunyakaza komlingiswa wakho lihlala lihle njalo.

Uma uqala umdlalo wakho ku-Unity manje, i-Unity izodlala ukugqwayiza komlingiswa wakho njengoba uhamba. Uma umisa, ukugqwayiza okungenzi lutho kuyasebenza.
Manje kumayelana nokugxuma: Kulokhu sisebenzisa inketho ye- “Noma Yisiphi Isimo” ku-animator. Kungakhathaliseki ukuthi yikuphi ukugqwayiza okudlalayo njengamanje, uma umlingisi egxuma, uzoshintshela kulokho kugqwayiza.
Kudingeka isimo salokhu ukuze umlingisi angagxumi ngaso sonke isikhathi: Manje enye ipharamitha iyadingeka.

Shayela lokhu: IsJumping bese usetha umbandela othi “IsJumping” ube yiqiniso.

Asifuni isikhathi sokuphuma futhi sibeka ubude boshintsho bube ngu-0.

Umlingiswa kufanele akwazi ukugxuma abuyele "ekungenzini lutho" kusukela ezithombeni ezinyakazayo ze-2D ku-Unity. Kudalwe okunye ukuxhumana.

Isimo "IsJumping" sisethelwe kumanga nesivinini sibe ngaphansi kuka-0.01.

Olunye uxhumano lwenziwa kusuka kokugxuma ukuze lusebenze. Ukushintshela ekusebenzeni kunezimo ezingeziwe:
IsJumping = amanga nejubane> 0.01

Kokubili, sibeka isikhathi se-HasExit sibe ngamanga nobude bube ngu-0.
Manje iskripthi sopopayi siyalungiswa:
i-animator.SetBool ("IsJumping", true);

Sidlulisela ku-PlayerMovementScript ukuthi umlingiswa uyeka ukugxuma lapho efika:
igebe lomphakathi i-OnLanding ()
{
i-animator.SetBool ("IsJumping", amanga);
}

Manje sesingangeza i-OnLandEvent entsha kubumbano:
Ufaka i-OnLandEvent bese ukhetha ngaphansi kwe-PlayerMovement: OnLanding ()

Ngemuva kwalokho i-Unity idlala i-animation yeqa ngenkathi igxuma futhi lapho umlingiswa efika kuyaphela.
Izithombe ze-2D ku-Unity zihlala zidlala kafushane kakhulu. Khubaza okuthi “Can Transition to Self” ukuze uvumele ukugqwayiza ukuthi kudlale ngokuphelele:

Manje ukugqwayiza kokukhothama kungeziwe.
Xhuma i-Idle ku-Crouch:

Faka isimo: Dala ipharamitha entsha: IsCrouching
Uma i-Crouching IsTrue, yiba nomlingiswa ogoba:

Hlela i-ExitTime nobude besikhathi futhi. Xhuma kabusha.

Uma ukhubaza isikhathi sokuphuma futhi usetha ubude besikhathi bokugqwayiza be-2D bube ngu-0 ku-Unity, nweba isikhathi sokuphuma kuqala bese kuphela ukusikhubaza, ngaphandle kwalokho izixwayiso eziningi zizoya kukhonsoli. Dala olunye uxhumano kusuka ku-animation esebenzayo.

Dala okunye ukuxhumana okubuyayo:
I-IsCrouching ingamanga nejubane> 0.01

Faka enye i-OnCrouchEvent.
Kulokhu sidinga omunye umsebenzi kuskripthi se-PlayerMovement:
i-OnCrouching engekho emphakathini (i-bool isCrouching)
{
i-animator.SetBook ("IsCrouching", isCrouching);
}

Manje engeza umcimbi weCrouch. Okubalulekile: Isikripthi kufanele sandulele isigaba somphakathi iBoolEvent [System.Serializable]. Ngaphandle kwalokho i-CrouchEvent ngeke ivele ewindini lomhloli we-Unity:


Faka iskripthi se-PlayerMovement futhi. Ngaphansi kwesikripthi se-PlayerMovement, khetha i-OnCrouching esigabeni esingenhla.


