UČÍME TVORIŤ SVETY - TUTORIÁLY NA TVORBU MÁP PRE ZAČIATOČNÍKOV A POKROČILÝCH PRE : SOURCE SDK, CRYENGINE, UNITY, UDK, CALL OF DUTY, MOHAA, COMPANY OF HEROES A INÉ...
Najprv si spravte nejakú svetlú miestnosť a do nej vložte info_player_start. Priložený súbor má miestnosť o rozmeroch 512 x 512 x256výška. Dobré by bolo vložiť pár objektov aby sa malo na čo pozerať cez kameru, ja som použil nepravé dvere.
MONITOR
Vnútri miestnosti spravte brush s nasledujúcimi parametrami: 32 šírka, 24 výška, 2 hĺbka. Položte ho do výšky hráčovej hlavy, najlepšie niekde na stenu.
Otextúrujte všetky steny tohoto brushu (okrem prednej) s textúrou nodraw.
Prednú stenu otextúrujte s dev/dev_comintmonitor1a. (Tu sa budú zobrazovať obrázky z kamery)
Stlačte Esc, aby ste sa uistili, že nič nie je označené. Otvorte nástroj Face Edit tool (SHIFT+A), zapnite Lift and select a kliknite na prednú stenu ktorú ste práve otextúrovali a kliknite na tlačítko Fit v časti Justify.
Je veľmi dôležité aby ste to urobili, pretože inak sa budú obrázky z kamery zobrazovať nesprávne.
Označte brush monitora ( stlačte CTRL+T ) a z okna ktoré vyskočí vyberte func_monitor.
Otvorte Properties (ALT+Enter) a dajte func_monitor názov (Name) povedzme monitor_securityroom
Kliknite na Apply a zatvorte okno.
VYTVORENIE KAMIER
Teraz, keď máme hotový monitor, môžeme pridať dve kamery.
Kliknite na nástroj Entity Tool (alebo stlačte CTRL-E )
Z menu Objects vyberte point_camera.
Vyberte miesto kde chcete mať vašu kameru č.1. Otvorte Properties a dajte jej meno (Name) camera_location_1.
Stále v okne Properties vyberte položku Pitch Yaw Roll (YZX) a kliknite na Point at. Teraz, v 3D okne označte kde sa má kamera "pozerať". Kliknite na Apply a zatvorte okno.
Opakujte tieto 4 kroky aj pre druhú kameru, dajte jej meno: camera_location_2.
(Taktiež môžete prvú kameru skopírovať: označte ju, podržte SHIFT a stlačte klávesu šípky, toto vám spraví druhú kameru potom ju premenujte, premiestnite kde chcete a vyberte jej cieľ kam má smerovať)
Ak to máte hotové, otvorte Properties pre func_monitor (váš brush monitor_securityroom ) a zmeňte Camera name (celkom posledná položka) na camera_location_1.
Toto bude defaultná kamera, ktorú bude display zobrazovať.
Kliknite na Apply a zatvorte okno.
ZVUKOVÉ EFEKTY
Aby sme to urobili trochu zaujímavejšie, pri zmene kamery na displeji sa nám prehrá nejaký zvuk.
Vyberte nástroj Entity Tool (stlačte CTRL-E), vyberte ambient_generic z menu Objects.
Položte tento ambient_generic blízko k monitoru.
Otvorte Properties a pridajte nasledujúce:
Name controlroom_camera_snd Sound Name Streetwar.d3_C17_13_beep (alebo nájdite niečo iné, čo preferujete) Start Volume 10 Max Audible Distance 512
V záložke Flags sa uistite, že sú zaškrtnuté Start Silent a Is NOT Looped.
Kliknite na Apply a zavrite okno.
MENÍME POHĽADY NA MONITORE
Presunieme sa na trochu zložitejšie veci, potrebujeme spraviť nejakú logiku v hre aby mohol hráč prepínať pohľady kamier priamo na monitore.
Vyberte nástroj Entity Tool (alebo stlačte CTRL-E ) a označte logic_relay z Objects menu.
Vyberte miesto blízko pri func_monitor kde pridáte tento logic_relay. (Nemá to nejaký vplyv na funkcionalitu, ale je dobré ukladať spoločné veci a entity blízko pri sebe, pre usporiadanie)
Otvorte Properties entity logic_relay a dajte jej nasledujúce parametre
Name securityroom_cctv_change_1
Kliknite na záložku Outputs.
Teraz si spravíme akcie ktoré budú meniť pohľad na monitore.
Pridajte nasledujúce výstupy (kliknite Add pre každý výstup - output - zobrazený dole):
Toto zapne prvú lokáciu kamery.
Toto prehraje zvuk ktorý sme si vybrali.
Toto zmení display monitora na camera_location_1
Toto vypne logic_relay keďže sa teraz pozeráme na viewing camera_location_1
Toto zapne logic_relay pre lokáciu kamery 2 (ktorú spravíme za chvíľu), takže môže byť zobrazená pri ďalšom stlačení tlačítka. (je normálne že securityroom_cctv_change_2 je zobrazená v červenej, keďže ešte nemáme vytvorenú druhú entitu logic_relay !)
Kliknite na Apply a zatvorte okno.
Teraz si spravíme ďalší logic_relay, rovnakým postupom ako hore. Pomenujte ho securityroom_cctv_change_2 a použite nasledujúce výstupy (outputs):
Toto zapne lokáciu druhej kamery
Toto prehrá zvuk
Toto zmení display monitora na camera_location_2
Toto vypne logic_relay, keďže teraz sa pozeráme na camera_location_2
Znova povolí prvý logic_relay
Kliknite na Apply a zatvorte okno.
Keďže defaulné zobrazenie na monitore je nastavené na camera 1 potrebujeme zmeniť nasledujúce:
Otvorte Properties entity logic_relay pomenovanej securityroom_cctv_change_1, uistite sa, že Start Disabled je nastavené na Yes.
Otvorte Properties pre logic_relay pomenovanú securityroom_cctv_change_2, uistite sa že Start Disabled je nastavené na No.
Kliknite na Apply a zatvorte okno.
ZMENA KAMERY NA MONITORE - HRÁČOM
Už sme skoro tam! Teraz potrebujeme dať hráčovi možnosť prepnúť obrazovku použitím monitora. Takže budete môcť po stlačení klávesy E (defaultne) prepnúť display.
Vytvorte brush, ktorý bude obklopovať celú obrazovku Func_monitor, na brush použite textúru toolsclip. Veľkosť a lokácia určuje, kde môže hráč použiť klávesu "Use" na zmenu obrazovky.
S ešte stále označeným brushom stlačte CTRL+T a z menu vyberte func_button.
Name monitor_change_button
Delay Before Reset (-1 stay) 0.25
Toto určuje ako rýchlo bude vedieť hráč znova prepnúť monitor. Môžete to zmeniť ako chcete, ale prišiel som na to, že je lepšie použiť nižšie časy.
V záložke Flags sa uistite, že Don't move a Use activates sú zaškrtnuté.
Kliknite na záložku Outputs. Kliknite Add:
Toto aktivuje druhú obrazovku. Je dôležité, že securityroom_cctv_change_2 má prvý Output nastavený druhú kameru ktorá sa bude zobrazovať.
Toto aktivuje prvú obrazovku monitora
Kliknite na Apply a zatvorte okno.
Tak a už sme pri cieli!
Skompilujte a spustite mapu a môžete skúsiť zmeniť display na monitore, stlačením 'use' klávesy pred monitorom. Pomôže ak máte rôzne obrázky pred kamerami, aby ste mohli porovnať obrazy ktoré produkujú!
Môžete pridať aj viac kamier, postupom aký sme si prešli hore, ale nezabudnite aktivovať nasledujúci logic_relay a deaktivovať terajší.
Tlačítko nemusí byť priamo na monitore, môžete ho urobiť aj separátnu entitu func_button kdekoľvek chcete.
V priloženom súbore je FOV (field of view) pre point_camera nastavené na 45 a nie na defaultných 90; skúste s tým experimentovať.
Ak chcete mať v mape nejaké fyzické kamiery (entita point_camera nie je v hre viditeľná) Môžete ju urobiť z brushov, alebo použiť nejaký model.