Jdi na obsah Jdi na menu
 


World Editor - Third Person Arrow Movement

27. 11. 2008


Kopec ľudí nevie ako spraviť v editore kameru v pohľade tretej osoby (teda že sa díva na postavu od chrbta ako v Tomb Riderovských sériách :P ) alebo ovládanie postavy pomocou šípiek (arrow keys)
Keď takýto ľudia vidia mapu kde sa toto deje, rozplývajú sa aký to musel byť gosu kto to robil... Well, keď ja vidím takúto mapu, nerozplývam sa, ani neobdivujem ľudí ktorí to urobili.
Mnoho krát Third Person mapu pokazí, w3ovský engine na to jednoducho nebol stavaný a kazí to na hrateľnosti, Arrow Movement je zase úplne nepoužiteľné v multiplayerovích mapách a keď v nejakej je, hra sa stáva úplne nehrateľnou
Výhoda tretej osoby spočíva v tom že to rozhodne pridá na atmosfére (a že sa nejaká lamka rozplýva nad tým aký ste gosu keď to viete spraviť :P ), takže som si dovolil napísať vám menší tutoriálik za ktorí mi mnohý ľudia určite poďakujú :)

Third Person
Vyzerá zložito, ale v skutočnosti naň stačí jeden spínač, funguje na tom princípe, že každých X sekúnd (ja používam 0.30 ale je to ľubovoľné, a tiež to dosť záleží od toho ako ďaleko je od vašej postavy vzdialená kamera) nastaví jej uhol na facing angle danej unity. Facing angle je vlastne tiež uhol, maximálne dokáže dosiahnuť 360 stupňov, takže ak má jednotka uhol 198,65, prečo by nemohla mať aj kamera? Už chápete však?
Takže na jednu postavu vám stačí jeden trigger

Prvú dáte event Time – Periodic Event a čas nastavíte na nejaké číslo, ja používam 0.30
Podmienku vynecháte, a ďalej vám stačí už len jedna akcia, nájdete ju v kategórii Camera, celá znie Camera – Set Camera Field (Timed)
V tejto akcii máte dokopy 4 zmeniteľné hodnoty (to sú tie modro/červeno zvýraznené slová na ktoré sa dá kliknúť)

Prvá (najprv je tam Player1 red) nastavuje ktorému hráčovi chcete nastaviť kameru, takže ak máte na mape viacero hráčov, dajte túto akciu viac krát, toľko akcií Camera – Set Camera Field (Timed) koľko hráčov budete mať a v každej nastavte iného hráča.
Druhá (najprv je tam Distance to target). V tejto nastavujete čo chcete meniť, keďže kamerou sa dá hýbať hore dole, doľava doprava, dá sa otáčať či rotovať. Pri Third Person ju však chceme otáčať okolo vlastnej osi a tak tam zmeňte Distance to Target na Rotation.

Tretia je zvýraznená červenou farbou a zo začiatku v nej máte nastavený názov „Value“
Tu teda musíte vybrať do akého stupňa to chcete nastaviť, keďže to chcete nastaviť do takého stupňa aký je facing angle jednotky tak tam vyberiete možnosť Unit – Facing Angle a ďalej už len vyberiete danú jednotku alebo premennú.

No a štvrtá je už len čas za aký sa do toho uhlu dostane, smiete tam dať zase ľubovoľné číslo len musí byť menšie ako to ktoré máte v udalosti. Príklad: keď ja dávam do udalosti každých 0.30 sekúnd, do tohto dávam zvyčajne 0.25 sekúnd, ale je to ľubovoľné..

Ďalej, aby nám kamera nelietala kade-tade, musíte dať ďalšiu akciu Camera – Lock Camera Target to unit. Týmto spôsobíte že kamera sa bude držať jednotky a hráč ňou nemôže hýbať. Gratulujem, základ je hotoví, uhol kamery sa dá nastavovať počas hry kolieskom na myši.

Takže, v poslednej fázy by mal váš spínač vyzerať nejako takto:



Third Person
Events
Time - Every 0.25 seconds of game time
Conditions
Actions
Camera - Lock camera target for Player 1 (Red) to (Ľubovoľná jednotka hráča1 červeného), offset by (0.00, 0.00) using The unit's rotation
Camera - Set Player 1 (Red)'s camera Rotation to (Facing of (Ľubovoľná jednotka hráča1 červeného)) over 0.25 seconds
Camera - Lock camera target for Player 1 (Red) to (Ľubovoľná jednotka hráča2 modrého), offset by (0.00, 0.00) using The unit's rotation
Camera - Set Player 2 (Blue)'s camera Rotation to (Facing of (Ľubovoľná jednotka hráča2 modrého)) over 0.25 seconds


Arrow Movement
Arrow Movement, alebo Šípkové Chodenie ak chcete, vám umožňuje pohybovať postavou pomocou šípok. Je to kapku zložitejšie ako Third Person a nevystačíte z jedným spínačom, ale zvládnete to :P

Celé to tiež funguje na periódach, a to je dôvod prečo sa to nehodí do viachráčovích máp, proste vždy tam je rozdiel aspoň 0.X sekúnd kým to dôjde, a dovtedy už môžete byť mŕtvi.

Takže prví trigger je o tom že hráč stlačí šípku napríklad hore a tým aktivuje pohyb postavy.
Nazvime ho Up Turn On
Druhý trigger je vlastne o tom že jednotka sa hýbe dopredu
Nazvime ho Up Working a na začiatku ho nechajte vypnutý (right click na tento spínač v Triggers Editore a odškrtnite „Initially On“ )
A tretí je zase o tom že keď hráč prestane držať šípku hore, postava prestane chodiť
Nazvime ho Up Turn Off

Najprv ešte urobte premennú tipu Real a dajte jej meno napriklad Strany
Takže prví spínač Up Turno On
Udalosť bude Player – Keyboard event a nastavíte tam presses up arrow key,
(znie to asi takto: Player - Player 1 (Red) Presses the Up Arrow key)
No a v akciách už len zapneme chod spínača Up Working

Celí spínač znie nejak takto:

Up Turn On
Events
Player - Player 1 (Red) Presses the Up Arrow key
Conditions
Actions
Trigger - Turn on Up Working
Trigger - Run Up Working (checking conditions)

Druhý spínač, Up Working
Ide o to že postava sa hýbe, teda nastavíte aby každých X sekúnd išla trocha pred seba
Akcia bude iba jedna, Unit - Issue Target to Point, no a tam vyberiete move to: Point with polar ofset a ďalej to už nastavíte tak aby celí spínač znel nejak takto

Up Working
Events
Time - Every 0.25 seconds of game time
Conditions
Actions
Unit – (ľubovoľná jednotka) Move To ((Position of (zase tá istá ľubovoľná jednotka)) offset by 100.00 towards (((znova tá istá ľubovoľná jednotka)) + Strany) degrees)

(Čo sa toho + Strany týka, vysvetlím vám to nižšie zatiaľ to tam len dajte)

No a tretí spínač Up Turn Off, tu to zase všetko vypne, čiže udalosť taká istá ako v spínači Up Turn On z tým rozdielom že Presses zmeníte na Releasses.
Celí spínač by mal znieť nejako takto:

Up Turn Off
Events
Player - Player 1 (Red) Releases the Up Arrow key
Conditions
Actions
Trigger - Turn off Up Working

Fajn, teraz už len ostáva spraviť zabáčanie, to bude fungovať na tom princípe ako spínač chodenia... Vlastne je to ten istý spínač, len to pridá to Strany. Na každú stranu (teda vľavo a vpravo) vám stačia dva spínače

Takže najprv doľava, spínače nazveme Left Turn On a Left Turn Off...

Left Turn On teda najprv:
Ide o to že zmení hodnotu premennej Strany na nejaké číslo čo pri chodení zmení smer jednotky na určenú stranu. Takže, udalosť bude Player – Keyboard Event a nastavíte tam Presses Left Arrow Key
No a akcia bude Set Variable – Stranny to dajme tomu napríklad 30 (môžete tam dať číslo aké vám vyhovuje).
Bude to znieť takto:
Left Turn On
Events
Player - Player 1 (Red) Presses the Left Arrow key
Conditions
Actions
Set Strany = 30.00

No a druhý spínač bude taký istí len tam dáme Releasses namiesto presses a Strany setneme na 0.00

Left Turn Off
Events
Player - Player 1 (Red) Releases the Left Arrow key
Conditions
Actions
Set Strany = 0.00

Takže keď teraz pri chodení držíte šípku vpred aj šípku vľavo, vaša jednotka ide rovno a zároveň bočí doľava.

No a spínače pravej strany budú také isté z tým rozdielom že použijete záporné čísla a práve tlačítko :D

Right Turn On
Events
Player - Player 1 (Red) Presses the Right Arrow key
Conditions
Actions
Set Strany = -30.00

A

Right Turn Off
Events
Player - Player 1 (Red) Releases the Right Arrow key
Conditions
Actions
Set Strany = 0.00

Výborne, ešte musím pripomenúť že všetky čísla môžete (čo môžete, musíte!) ľubovoľne meniť, tak napríklad perióda v spínači Up Working záleží od rýchlosti jednotky, inak sa môže stať že sa jednotka bude v chôdzi zasekávať čo vyzerá debilne. Tiež 30 stupňové otáčanie je dosť prudké, dajte tam číslo aké vám vyhovuje...
Gl hf


Návod zosmolil rednek, pamätaj na to plz.

 

Komentáře

Přidat komentář

Přehled komentářů

Zatím nebyl vložen žádný komentář