Teknologian jakaminen

79. UE5 RPG:n luontitaitojen jäähtyminen ja kulutus

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Tässä artikkelissa jatkamme taitojen optimointia, ja nyt hahmoon lisätyt aktiiviset taidot voidaan synkronoida käyttöliittymään. Tässä artikkelissa kehitämme taitojen kulutusta (taitojen vapauttaminen manan vähentämiseksi) ja jäähdytysmekanismia.
Näemme, että taitoluokan oletusarvossa voit asettaa sen jäähdytyksen ja kulutetun GE:n
Lisää kuvan kuvaus tähän
Siksi seuraavaksi käytämme GE:tä taitojen jäähdytyksen ja kulutuksen asettamiseen.

Lisätty taitojen kulutus GE

Luomme ensin suunnitelman, ja valittu pääluokka on Gameplay Effect
Lisää kuvan kuvaus tähän
Nimeä se GE_Cost_FireBolt, mikä tarkoittaa tulipallon hintaa.
Lisää kuvan kuvaus tähän
Jos haluat kuluttaa keston, valitse Instant.
Lisää kuvan kuvaus tähän
Sitten lisäämme Muokkaimet vähentämään hahmon manamäärää, vähentäen sitä 20:llä joka kerta, kun taitoa käytetään.
Lisää kuvan kuvaus tähän
Yksinkertainen kulutusGE luodaan ja me sovellamme sitä taitoihin
Lisää kuvan kuvaus tähän
Seuraavaksi meidän on kutsuttava taidon Commit Ability -solmu. Tämä solmu vähentää taitoon vaaditun manan.
Lisää kuvan kuvaus tähän
Commit Ability on yhtenäinen solmu manan ja jäähdytyksen vähentämiseksi.
Lisää kuvan kuvaus tähän

Suorita testivaikutus
Lisää kuvan kuvaus tähän

Analysoi CommitAbility

Ensin määritetään, aktivoituuko taito, jos manaa ei ole tarpeeksi Tulostamme tiedot ennen kulutuksen käsittelyä.
Lisää kuvan kuvaus tähän
Jos manamäärä riittää, se voidaan tulostaa onnistuneesti, mutta jos manamäärä ei voi tukea taidon vapauttamista, sitä ei tulosteta, mikä todistaa, että jos resursseja ei ole tarpeeksi, taitoa ei syötetä, ja sitä ei arvioida sitoutumiskyvyllä, jota käytetään vain resurssisolmussa.
Lisää kuvan kuvaus tähän
Tarkastelemme lähdekoodia ja sen kutsuma koodi on K2_CommitAbility
Lisää kuvan kuvaus tähän
Sisältä kutsutaan CommitAbility toteuttamaan logiikka, jonka jälkeen tarkistetaan, riittääkö kulutus osaamisen tuottamiseen, ja toiminto kutsutaan vähentämään resursseja.
Lisää kuvan kuvaus tähän
CommExecute on resurssien vähennystoiminto, joka kutsuu sisäisesti resurssien vähennystä ja jäähdytystä
Lisää kuvan kuvaus tähän
Katso Apply Cooldown, joka vie taitotason ja soveltaa GE:tä ASC:hen
Lisää kuvan kuvaus tähän
Sovellusresursseja kulutetaan samalla tavalla ja myös taitotasoja saadaan.
Lisää kuvan kuvaus tähän

Aseta taitotasot kuluttamaan erilaisia ​​manamääriä

Nyt tiedämme, että taitojen kulutuksen käyttäminen voi muuttaa sen kuluttaman manan määrää taitotason kautta. Voimme käyttää taulukkoa eri tasojen ja manan kulutuksen määrittämiseen.
Joten luomme uuden käyrätaulukon asettaaksemme taitojen manakulutuksen eri tasoille.
Luo käyrätaulukko, valitse tyypiksi Vakio ja aseta manankulutus kullakin tasolla kiinteään arvoon.
Lisää kuvan kuvaus tähän
Nimetty CT_Cost
Lisää kuvan kuvaus tähän
Lisää sisäisesti taitomanan kulutus Fireballin tasolta 1 tasolle 10.
Lisää kuvan kuvaus tähän
Käytä sitten käyrätaulukkoa tässä GE:ssä, valitse luotu rivi ja aseta arvoksi -1
Lisää kuvan kuvaus tähän
Muokkaa sitten alkuperäistä taitotasoa koodissa testausta varten
Lisää kuvan kuvaus tähän
Taidon vapauttamisen jälkeen manamäärä on kolme kertaa suurempi kuin ennen, mikä todistaa, että asetuksissa ei ole ongelmia.
Lisää kuvan kuvaus tähän

Lisätty taitojen viilennys

Taidon jäähdytyksen periaate on kiinnittää jäähdytysmerkki ASC:hen jäähdytysvaiheen aikana. Tätä taitoa ei voi käyttää uudelleen jäähdytystunnisteen ollessa olemassa.
Joten, haluamme toteuttaa jäähdytyksen, luo ensin etiketti jäähdytystä varten

FGameplayTag Cooldown_Fire_FireBolt; //火球术冷却标签
  • 1

Rekisteröidy sitten tag Manageriin

	GameplayTags.Cooldown_Fire_FireBolt = UGameplayTagsManager::Get()
		.AddNativeGameplayTag(
			FName("Cooldown.Fire.FireBolt"),
			FString("火球术冷却标签")
			);
  • 1
  • 2
  • 3
  • 4
  • 5

Luo tulipallon jäähdyttämään GE:tä
Lisää kuvan kuvaus tähän
Muokkaa GE aikaherkäksi On Duration
Lisää kuvan kuvaus tähän
Kuten näet tästä, jäähtymisaika voidaan asettaa useilla menetelmillä, joilla muutimme arvoa aiemmin. Tässä käytetään yksinkertaisinta, asettamalla se suoraan 1 sekuntiin.
Lisää kuvan kuvaus tähän
Meidän ei tarvitse muokata hahmoihin liittyvää sisältöä. Meidän tarvitsee vain lisätä viilennystunniste ASC:hen, kun tämä GE tulee voimaan.
Lisää kuvan kuvaus tähän
Lisää jäähdytystarra Actoriin tämän komponentin kautta ja lisää luomamme jäähdytystarra.
Lisää kuvan kuvaus tähän
Käytä sitten jäähdytystä taitoon
Lisää kuvan kuvaus tähän
Testin aikana havaitsimme, että voimme vapauttaa taidon vain kerran sekunnissa.

Luomme hahmolle yleensä vain yhden hahmotaidon esiintymän. Jotta asiakas ei sammuttaisi taitoa ennen kuin taito laukeaa, lopetamme taidon, kun taidon montaasianimaatio päättyy tai miksaus päättyy. väkisin peruutettu, ja kun taito loppuu, pystyä jatkamaan montaasin pelaamista.
Meidän on myös otettava käyttöön Retrigger Instanced Ability, jotta se sammuttaa edellisen liipaisimen, kun se laukeaa uudelleen.
Lisää kuvan kuvaus tähän

Seuranta: Nyt meillä on kulutus ja se voidaan näyttää oikein käyttöliittymässä, mutta jäähdytystä ei ole vielä otettu käyttöön taidon käytön jälkeen, taidon jäähdytyksen etenemistä ei voida näyttää taitokäyttöliittymässä jäähdytystaidon muutokset tulevaisuudessa ja näytä se käyttöliittymän yläpuolella.