Tutorial #32 - Práce s kamerou
Autor : Didymos
Download = Tento tutorial + ukázka

 

Málokdo tuší, že samotný editor v sobě ukrývá kameru, se kterou se dá velmi dobře pracovat. Jen mě opravdu překvapuje, že o tom za celou éru OFP ještě nikdo nenapsal ani čárku. Buď to bylo velmi dobře střežené tajemství, protože jak se brzy dočtete, má to určitý ochranný prvek nebo to je prostě jen náhoda. Nebýt Paladina, asi by ještě pár dní trvalo, než bych se o tom dozvěděl, nicméně to někde prasklo, protože už mi o tom psali i jiní. Já se tu nebudu dále udivovat nad tím, proč to už dávno není na světě a nebudu ani přemýšlet, kolik hodin práce by mi to ušetřilo a přejdu k samotnému vysvětlení.

 

Jediné co potřebujete, je vytvořit si v editoru nějaký objekt, může to být klidně přímo hráč. Já osobně používám imaginární jednotu pro lepší mobilitu. Poté si vytvoříte spínač s nějakou rozlohou a spojíte ho přes F2 s hráčem. Pak už stačí do pole při aktivaci spínače napsat:

 

cam Exec "camera.sqs" (kde cam je jméno imaginární jednotky)

 

pak stačí zapnout misi a kamera se vám objeví 2 metry nad touto jednotkou. V případě, že místo cam napíšete jméno jiného objektu, objeví se vám kamera nad tímto objektem. Jak jednoduché a prosté. Pozor ale na to, abyste v adresáři s vaší misí neměli skript se jménem camera.sqs, protože v tomto případě to nefunguje!!! (zajímavé ) Teď se můžete volně pohybovat v celém prostředí OFP pomocí těchto kláves:

 

šipky = dopředu, dozadu, doprava, doleva
šipky na numerické klávesnici (8, 2, 6, 4) = vám umožní otáčení nahoru, dolů, doprava a doleva
+ a - na numerické klávesnici = přiblížení a oddálení
E nebo to, jak máte nastavený sprint při hraní = rychlé posunutí dopředu
X = rychlý pohyb doleva
C = rychlý pohyb doprava
Q = pohyb nahoru
Y (na české klávesnici) = pohyb dolů
L = vypne středový záměrný kříž
mezerník = kamera zaměří cíl, na kterém je záměrný středový kříž
V = vypne kameru a vrátí vás do hry

 

Teď už jen stačí nastavit polohu kamery tak, jak si přejete a zmáčknout klávesu: levé Ctrl. Tímto jste právě uložili pozici kamery. Tuto pozici najdete ve složce OFP, která je standardně: "C:\Program Files\Codemasters\OperationFlashpoint..". Tady najdete soubor:

 

clipboard.txt

 

V tomto textovém souboru bude vámi právě uložená pozice ve formátu např.:

 

;=== 16:42:30
_camera camSetTarget [9986.08,114134.09,27.64]
_camera camSetPos [9986.08,4134.09,2.00]
_camera camSetFOV 0.700
_camera camCommit 0
@camCommitted _camera

 

Tím máte definovanou pozici kamery na těchto souřadnicích:

 

_camera camSetPos [9986.08,4134.09,2.00]

 

cíl kamery je na souřadnicích:

 

_camera camSetTarget [9986.08,114134.09,27.64]

 

Další řádek udává přiblížení:

 

_camera camSetFOV 0.700

 

Implicitní nastavení je 0.700 a přiblížit můžete podle libosti. Za jak dlouho se přiblížení provede, je definované v dalším řádku:

 

_camera camCommit 0

 

je to hodnota v sec. a tady je 0. Toto číslo neudává pouze přiblížení, ale i přesun kamery v sec. na další pozici. Další pozici kamery získáte opět stisknutím klávesy Ctrl. Poslední řádek chápu jako jakousi kontrolu ukončení kamery, jestliže na další řádek napíšete:

 

~5

 

kamera vydrží na určeném místě ještě dalších pět sekund. Zde se dají zadávat samozřejmě i jiné hodnoty viz tutoriál o podmínkách.

 

Co to celé znamená? Vám stačí nastavit v editoru pozici kamery tak, jak si přejete. Tuto pozici uložíte ( levé Ctrl) a můžete přejet pomocí šipek na další pozici kamery. Opět uložíte aktuální pozici. Přepnete se do souboru clipboard.txt a obě pozice kamery tady najdete s příslušným časem vašeho uložení. Teď už záleží pouze na vás samotných a především na vaší fantazii, jestli to budou dvě samostatné pozice nebo jestli kamera plynule přejde z první pozice na pozici druhou v době, jakou zadáte do řádku:

 

_camera camCommit 0

 

Můžete provést přiblížení, které provedete pomocí + a - na numerické klávesnici. Opět je potřeba místo 0 v tom samém řádku nastavit dobu přiblížení, jak jsem psal výše. Pokud se přiblížíte zaměřovacím křížkem uprostřed monitoru k nějakému vámi vytvořenému a pojmenovanému objektu a zmáčknete mezerník, kamera se automaticky na tento objekt zaměří a vy uvidíte jakýsi čtvereček. Když tuto polohu uložíte, uvidíte, že se vám neuložil cíl v podobě souřadnic, ale bude tam jméno právě tohoto objektu.

 

Tak to by bylo ve stručnosti k práci s kamerou. Teď vás bude zřejmě zajímat, jak se na ten filmeček podíváte. Předně musíte dostat hráče z dosahu spínače, který spouští kameru, pak si buď vytvoříte soubor init.sqs v adresáři s vaší misí anebo jakýkoli jiný skript, který ovšem musíte nějakým způsobem vyvolat. Soubor init.sqs se spouští sám okamžitě po spuštění mise. Nefunguje ale v intru, tady funguje jiný a to s názvem: initIntro.sqs ten se vám spustí okamžitě po spuštění intra. Teď už vám zbývá pouze kameru vytvořit, což musíte udělat na samotném začátku skriptu. Založení kamery vypadá takto:

 

_camera = "camera" camcreate [0,0,0]
_camera cameraEffect ["internal","back"]

 

a poté už můžete zadávat samotné pozice kamery. Na konci vaší práce je zase potřeba kameru zrušit, což se dělá takto:

 

player cameraEffect ["terminate","back"]
camDestroy _camera

 

Pro lepší efekt je lepší ještě nad tyto řádky obraz plynule ztmavit takto:

 

titleCut ["","BLACK OUT",3] (ta trojka na konci udává hodntou v sec. za jakou dobu se obraz plynule ztmaví)

 

Už toto samotné vám umožní vytvořit v OFP videa, jaká si přejete, teď vám ještě předám některé mé praktické zkušenosti, jak tuto práci co nejvíce urychlit. Aby bylo možné v OFP skriptovat kameru, je za potřebí, abyste neustále sledovali a kontrolovali, co jste právě vytvořili. To znamená napsat něco do skriptu, přepnout se do hry a podívat se, jak a co jste vlastně vytvořili. Přepínání do operačního systému a zpět do hry se dá pomocí klávesové zkraty Alt + Tab., tady vlastně můžete listovat mezi spuštěnými aplikacemi. Tento způsob přepínání ale moc nedoporučuji, protože je to velmi pomalý způsob. Mnohem lepší je spustit hru OFP přímo ve win. okně (pokud používáte Windows). K tomu, abyste to dokázali, vám poslouží velmi jednoduchá utilita, kterých najdete asi víc. Já osobně používám OFP Launcher od Kegetyse, kde si zaškrtnete tyto položky:

 

 

  • Skip splash screens - přeskočí reklamy na začátku, při spuštění hry
  • Run in a Windows - spustí hru ve win. okně

 

Pak už jen stačí zadat dolů cestu k exe souboru OFP, popřípadě Resistance. Tím zajistíte, že můžete v klidu skriptovat a okamžitě se dívat, jak se to chová. Klávesové zkratky Ctrl + A, Ctrl + C, Ctrl + X a Ctrl + V tu opravu popisovat nebudu. Pokusil jsem se jasně a srozumitelně vysvětlit, jak co nejjednodušeji pracovat s kamerou v editoru OFP. Pro ještě větší zřetelnost přikládám ukázkovou misi, na které to musí pochopi snad už opravdu každý. Proto, abyste vytvořili kvalitní scutscénu, ale nestačí pouze umět pracovat s kamerou, ale musíte mít určitou představivost. Musíte vytvořit a naskriptovat scény, které budete chtít natočit. Musíte tam zadat podmínky, aby se to nespustilo dříve, než vy sami budete chtít. Tohle už je ale zase věc jiná, kterou se můžeme zabývat někdy jindy, někde jinde. Pokud je celá scéna delší, rozdělte si ji na více na sobě nezávislých scén, protože asi nikoho nebude bavit dívat se na stále stejný film stále dokola jen proto, abyste na konci zjistili, kde ta kamera vlastně stojí. Proto si vytvořte na začátku kameru a pak už jen měňte její pozici s tím, že právě tvořenou scénu přesunete na začátek skriptu a až ji doděláte, umístíte ji tam, kam potřebujete. Vyhnete se tím nekonečnému sledování toho samého stále dokola.

 

Na závěr mi ještě dovolte, abych poděkoval Paladinovi za informace o tajemství přímo v srdci editoru a pak Ruprtovi, bez kterého si editaci už ani neumím představit.

 

Didymos