Budu psát o různých způsobech, jak dosáhnout různých typů průletů mapou. Každý má své přednosti i zápory a hodí se pro něco jiného.
budete potřebovat:
spline.xls - pikondrej.wz.cz/movie/spline.rar
LC Effects - tvůrce: Linus Hallberg
navíc:
video ukázky - http://uloz.to/4288422/bigi-tut3.rar
1) pohybující se bod
Toto je asi nejjednodušší průlet.
Budete se pohybovat ve spectu/diváku po přímce,musíte se držet pouze jednoho
směru a nebudete hýbat myší. Spusťte si server pomocí „/devmap“ (/devmap
mp_toujane). Nejdříve si promyslete trajektorii „letu“ a vyzkoušejte si ji
nanečisto, aby nedošlo ke kolizi s nějakou stěnou nebo „průletem“ skrz
tank například.
Pokud už víte na jakém místě bude
ve vašem videu začínat průlet, tak startujte kousek za ním, protože hned od
začátku nebudete mít plnou rychlost posunu, nýbrž budete zrychlovat do dosažení
maximální rychlosti.
Hodně se stává, že je tento
pohled sekaný. Tomuto jevu, který můžete vidět na videu, zabráníte tím, že už v demo
záznamu nahrajete průlet zpomaleně. Máte dvě možnosti, respektive dva příkazy.
player_spectateSpeedScale -
ovlivní rychlost specta/diváka, nikoli běh okolního prostředí
timescale -
ovlivní rychlost specta/diváka, tak i běh okolí
Který vybrat? To záleží jestli
váš průlet má být ve videu rychlý (použijte timescale) nebo pomalý (použijte player_spectateSpeedScale).
Nastavení „player_spectateSpeedScale“ záleží na vás, nejlépe bude, když si
upravíte hodnotu, aby rychlost průletu odpovídala vaší představě ve výsledném
videu. U „timescale“ hodnotu nastavte dle vašeho uvážení. Já použil hodnotu
„0.1“ .
Nyní když jste na pomyslném
startu, zapněte nahrávání dema (/record) a pár sekund počkejte v klidu. Poté
jen uskutečněte váš průlet mapou a zastavte zase kus za bodem plánovaného konce
záběru.
Už stačí jen spustit demo a
záznam nahrát.
2) pohled ze třetí osoby
Tato metoda je úplně to samé,
jako v prvním tutoriálu, proto jí zde jen zmíním nadpisem.
3) pohybující se bod + pohled ze třetí osoby
Zde se skombinuje první a druhá
metoda. Příklad můžete vidět na videu. Je potřeba natočit na demo pohyb
v nějakém směru podle 1. metody a při přehrávání dema aplikovat pohled ze
třetí osoby. Problém bude hlavně v načasování, aby například „otočka“
neproběhla příliš rychle nebo příliš pomalu.
Mě vychází při stabilních 50fps,
že „wait 750;“ trvá přibližně, tak jak potřebuji, což je něco pod 8 sekund.
Nyní začneme náš exec cfg malým
ověřením. Vepíšeme do něj:
wait 750; sreenshotjpeg;
Spustíme demo a v momentě,
kdy bychom začínali nahrávat, necháme načíst náš cfg.
Podle toho si určíme, zda nám
naše hodnota u „wait“ stačí.
Další nutností je určení si o
jaký úhel se pohled změní. Já si zvolím 90°. Musím tedy rozkouskovat změnu o
90° do 750 kroků, s tím, že za každým krokem bude „wait 1;“.
90 / 750 = 0,12 Což vyjde (od 0 do 90) s tímto krokem
na 751 kroků, ale je to zanedbatelné.
V Excelu/Calcu si vytvoříme
náš config, na jehož začátek poté napíšeme:
cl_avidemo 50; - spustí avidemo
cg_thirdperson 1; - zapne pohled ze třetí osoby
cg_thirdpersonrange 125; - nastaví vzdálenost od středu na 125
a na konec :
cl_avidemo 0; - vypne avidemo
disconnect; - vypne přehrávání dema
čas(cl_avidemo 50; wait 750;) = čas (50fps ve hře; wait 750;)
4) pomocí souřadnic
V CoD2 je zaveden kartézský
souřadný systém a dále tam nalezneme čtvrtou hodnotu, která představuje úhel
natočení pohledu do stran. Počátek se bere od kladné poloosy x, kladný směr
hodnoty ve stupních je dán směrem ke kladné poloose y, neboli proti směru
hodinových ručiček.
Aktuální souřadnice můžete
zjistit ve výpisu konzole pomocí příkazu „viewpos“ a nové souřadnice nastavíte
pomocí “setviewpos“.
Pomocí těchto příkazů, můžete zjistit souřadnice jakéhokoli
bodu na mapě (i z dema samozřejmě) a vytvořit si nějaký exec config, kde
postupně budete měnit hodnotu příkazu „setviewpos“.
Zajímavý je způsob vytvoření
takového souboru pomocí programu LCEffects.
Ve složce „main“ si vytvořte dva
soubory, „plus.cfg“ a „minus.cfg“.
Do „plus.cfg“ vložte:
+lookup; wait 2; -lookup;
A do „minus.cfg“ :
+lookdown; wait 2; -lookdown;
Spusťte si přes „devmap“
libovolnou mapu na configu, na kterém budete mít více jak 50fps a do hry
zadejte pár příkazů:
com_maxfps 50 – maximální hodnota
FPS bude 50
cl_pitchspeed 20 – zpomalí
naklápění pohledů nahoru a dolů
bind O centerview – vycentruje
pohled
bind P exec plus – pohled se
posune nahoru
bind I exec minus – pohled se
posune dolů
bind L viewpos – v rozšířené
konzoli uvidíte aktuální souřadnice
Na mapě najeďte ve spectu/diváku na místo, kudy by měl průlet projít a
stiskněte klávesu „L“. V rozšířené konzoli poté uvidíte souřadnice.
Opište si všechny čtyři hodnoty a
ukončete konzoli. Stiskněte klávesu „O“, čímž vycentrujete pohled. Klávesami
„I“ nebo „P“ nastavte sklon pohledu dle vašeho uvážení. Počítejte si kolikrát
jste danou klávesu stiskli. Pokud jste nastavili sklon pohledu dolů ,pomocí
klávesy „I“, zaznamenejte si u počtu stisknutí znaménko „–„ (mínus),
v opačném případě +. Změňte vaši polohu do dalšího bodu průletu a opakujte
postup.
Váš zápis může vypadat třeba
takto:
-85 956 20 76 +20
46 1459 237 66 -44
291 1759 220 31 -3
781 2004 195 64 +5
1098 1910 175 147 -93
1583 1511 169 -169 -6
V místě instalace LCE máte
soubor „coords.txt“, ten otevřete a napište do něj zapsané hodnoty, jen místo
té poslední dejte pokaždé nulu „0“. Původní hodnoty si nechte někde mimo
uložené, budete je ještě potřebovat!
Spusťte LCE, klikněte na „3D
spline“ a odklepněte varovné upozornění ohledně správného napsání souřadnic do
„coords.txt“. Napište k „Take screenshots?“ hodnotu „no“. Další pole bude
záviset na tom, jak dlouho bude průlet trvat. Vyšší hodnota znamená vyšší
plynulost, neboli menší skok mezi jednotlivými body. A v posledním poli
nechte hodnotu „1“. Vyskočí vám několik oken, které můžete všechny zavřít, i
samotný LCE.
Ve stejné složce jako program se
vám vytvoří soubor „3DsplineConstant.cfg“. Ten otevřete a upravte následovně:
//This file was created with
LCEffects an effect tool by Linus Hallberg
set flyg1 "setviewpos -85
956 20 76 0;wait 1; vstr flyg2;"
set flyg2 "setviewpos
-84.9341 956.251 20.1539 76.001 0;wait 1; vstr flyg3;"
set flyg3 "setviewpos
-84.7771 956.851 20.5207 76.0367 0;wait 1; vstr flyg4;"
set flyg4 "setviewpos -84.6202
957.45 20.887 76.0724 0;wait 1; vstr flyg5;"
...
„set
flygx "“ , „; vstr flygx;"“ a
poslední souřadnici „ 0“ musíte všude smazat.
//This file was created with
LCEffects an effect tool by Linus Hallberg
setviewpos -85 956 20 76;wait 1;
setviewpos -84.9341 956.251
20.1539 76.001;wait 1;
setviewpos -84.7771 956.851
20.5207 76.0367;wait 1;
setviewpos -84.6202 957.45 20.887
76.0724;wait 1;
...
Nyní máte připravený config pro
průlet mapou, ale bez sklonu pohledu nahoru nebo dolů. Budete-li potřebovat i
tuto možnost pohledů, tak z každé řádky smažte i „wait
1;“ a celý obsah zkopírujte do souboru „spline.xls“ do sloupce „C“.
Jako první upravte hodnotu vašeho
stabilního FPS (buňka A2). Dále kliknutím na buňka D2 s obsahem
„cl_pitchspeed“ a dvojklikem na spodní pravý růžek se hodnoty rozvinou dolů až
po konečný řádek sousedního sloupce.
Vpravo si můžete všimnout žlutého
sloupce „L“, do něj budete psát poslední hodnoty u každého řádku, které jste si
zapisovali spolu se souřadnicemi. Ve sloupci „C“, kde máte hodnoty pro
„setviewpos“, najdete nejbližší hodnoty k vašim zapsaným souřadnicím a
vedle do žlutého sloupce „L“ napíšete poslední hodnotu. První hodnota by měla
pasovat k prvnímu řádku. Nyní musíte mezi těmito hodnotami ve žlutém
sloupci udělat mezihodnoty, pravidelný (lineární) přechod mezi každou
z nich, které jste vy vepsali. Pokud si s tímto nevíte rady, tak
spočítejte o kolik se dvě hodnoty liší a toto číslo vydělte počtem řádků mezi
první a druhou vámi napsanou hodnotou (první nezahrňte do počtu řádků, druhou
ano). Tímto získáte krok. Teď stačí na další řádek pod první hodnotou napsat
„=L2+krok“. Místo krok dosadíte číslo a potvrdíte, ENTER. Buňku označte a
tažením za již známý růžek zkopírujete vzoreček do buněk až po buňku
s vaší druhou hodnotou. Až se vám toto podaří až ke konci (do posledního
řádku se „setviewpos“), tak rozviňte sloupce E, F, G, H, I a J stejně jako
předtím sloupec D.
Obsah sloupců C až J zkopírujte
do libovolně pojmenovaného cfg souboru, který uložíte do složky main. Upravte
nahrazením čárky za tečky a jako první řádek vložte nastavení maximální hranici
snímků za sekundu, kterou jste vložili i do Excelu (příklad: com_maxfps 25).
Jestli jste překročili počet 600 řádků, tak soubor rozdělte na více souborů po
cca 600 řádcích a na konci každého souboru, vyjma posledního, nechte načíst
soubor, který je další v pořadí (exec tou02;).
Spuštěním prvního exec configu se
poloha nastaví na vaši první zadanou, poté se přenastaví hodnota příkazu
„cl_pitchspeed“, aktivuje se příkaz pro pohled nahoru nebo dolů, hra počká 1
snímek, což bude stačit na nastavení pohledu a poté se hned příkaz pro
naklonění vypne. Hned v zápětí se vytvoří screenshot ve formátu *.tga, což
vám na chvíli rozhodí hodnotu FPS, hra by však měla dostatečnou chvíli počkat,
aby se zase zvýšili na maximální možnou hodnotu a poté nastaví další danou
pozici, což bohužel vycentruje sklon pohledu nahoru/dolů. Tento způsob je velmi
zdlouhavý, ale nic lepšího mě pro práci se souřadným systémem a nakláněním
pohledu dolů/nahoru nenapadlo.
5) příkazy pro pohyb
+forward – pohyb dopředu
+back – pohyb dozadu
+moveleft – pohyb doleva
+moveright – pohyb doprava
+leanleft – ve spectu/diváku
pohyb dolů
+leanright – ve spectu/diváku
pohyb nahoru
+left – otočení doleva
+right – otočení doprava
+lookup –naklonění pohledu nahoru
+lookdown – naklonění pohledu
dolů
Příkazy s „+“ na začátku
aktivujete pohyb/otočení, které bude stále aktivní dokud pohyb/otočení
neukončíte téže příkazem, ale s „–„ (mínus) na začátku.
Rychlost pohybu ovlivníte pomocí
„timescale“ nebo příkazem, který se projeví ve spectu/diváku „player_spectateSpeedScale“.
Rychlost otáčení doleva a doprava ovlivníte hodnotou příkazu „cl_yawspeed“
(projeví se pouze za použití přímo příkazů nikoli otáčení pomocí myši) a pro
změnu rychlosti naklonění použijte „cl_pitchspeed“.
Kombinací těchto příkazů, si
můžete vytvořit exec config. Je důležité, aby jste při zkoušení psaní tímto
způsobem měli stálou hodnotu FPS, protože k projevení pohybu/otočení
potřebujete vložit i příkaz „wait“, který počká určitou, vámi zvolenou dobu.
př. : +forward; wait 100; +left;
wait 400; -left; wait 50; -forward;
Poté načtením finálního configu
vám proběhne průlet, který zaznamenáte na demo a poté nahrajete. Doporučuji
opět, aby průlet probíhal pomalu, jinak i nahráním na vysoké FPS se bude průlet
zadrhávat.
Teď se na delší dobu konečně odmlčím a dám vám pokoj :), prakticky jsem se nejspíš rozepsal o všem co vím, teď je na vás, abyste kombinovali možnosti a vytvořili něco pěknýho, nad čím každej bude valit bulvy. GL |