NEKONVENČNÍ NÁSTROJ K VIZUALIZACI A INTERAKCI VE VIRTUÁLNÍM PODNIKU SVOČ – FST 2014 Jiří Polcar Západočeská univerzita v Plzni Univerzitní 8, 306 14 Plzeň Česká republika ABSTRAKT Práce pojednává o nekonvenční alternativě k moderním komerčním programům, které umožňují vytvářet trojrozměrné vizualizace podnikových layoutů, animací a prostředí pro virtuální trénink. Současné nástroje jsou nedostupné zejména z důvodu vysoké ceny licence. Na základě rešerše bylo zjištěno, že jako vhodná alternativa může být herní engine Source a s ním dodávaná vývojářská sada Source SDK, obojí upravené pro výše popsané účely. Autorem této práce byl vytvořen softwarový balík Digitov, který je rozšířením pro Source Engine a který obsahuje všechny tyto úpravy. Za pomoci Digitovu již bylo vytvořeno několik virtuálních modelů podniků a animací, které je možné pouštět na PC nebo v zařízení pro trojrozměrnou projekci typu CAVE. Rovněž byla vytvořena příručka k použití ve formě e-booku. Výsledkem práce na projektu vývoje Digitovu je unikátní vývojové prostředí, které je v mnoha ohledech schopné konkurovat profesionálním nástrojům. KLÍČOVÁ SLOVA Digitov, layout, Source Engine, virtuální realita ÚVOD V dnešní době platí virtuální realita v průmyslu za samozřejmou součást vývoje a návrhu nových výrobků, postupů i služeb. Prakticky ve všech konstrukčních kancelářích jsou využívány nástroje pro podporu konstrukce typu CAD umožňující tvorbu trojrozměrných modelů výrobku, na které navazují CAM pro podporu technologie výroby. Při návrhu výrobních systémů je využit software pro podporu ergonomických studií a pro tvorbu a optimalizaci layoutu. Jeden článek z tohoto řetězce softwarových nástrojů je v současné době z nějakého důvodu přehlížen, často z důvodu jeho nedostupnosti kvůli vysoké ceně. Tímto článkem je software pro tvorbu virtuálních prostředí ve formě interaktivních podnikových modelů. Takovéto modely mohou být využity k široké škále účelů, například k propagaci, virtuálnímu tréninku (edutainment) nových zaměstnanců, různým simulacím a mnohému dalšímu. K tomu se dá využít software spadající do kategorie programů pro virtuální prototypování. Jsou jimi nástroje pro tvorbu obecných virtuálních prostředí umožňující tato prostředí oživit různými interaktivními a algoritmickými prvky. Je možné v nich vytvořit virtuální prohlídku, vizualizaci a simulaci výroby, vizualizaci technologických postupů a mnohé další. Společným rysem těchto softwarových produktů je absolutní volnost tvorby a univerzálnost, což s sebou paradoxně v případě využití v průmyslu přináší nevýhodu v tom, že v těchto nástrojích je nutné virtuální prostředí vytvářet takřka od nuly včetně tvorby vlastního uživatelského rozhraní, textur a modelů různých dílenských, kancelářských a dalších zařízení a algoritmů pro řízení tohoto prostředí. Znamená to, že pracovník tvořící virtuální modely musí být znalý objektově orientovaného programování a kromě programátora musí být zároveň grafik a modelář. Na trhu existuje výběr takových nástrojů, jako je například 3DVIA Studio [1] nebo IC.IDO [2] (akronym I see I do). Jejich společnou nevýhodou je vysoká pořizovací cena, která se pohybuje řádově kolem jednoho statisíce euro za jedinou licenci. Na základě těchto zjištění byla provedena rešerše, která měla za úkol zjistit současné možnosti, jak vytvořit interaktivní virtuální model výrobního podniku. Jednou z těchto možností bylo využití enginy (tj. základů, jader programů), které jsou využívány mimo jiné jako základy počítačových her. Po úspěších demonstračního modelu vytvořeného v Source Engine bylo rozhodnuto o vývoji balíčku Digitov, který tento engine upraví tak, aby mohl posloužit jako základ pro tvorbu virtuálních prostředí s podnikovou tematikou. O jeho vývoj, současnosti a využití pojednává tato práce. NÁSTROJE PRO VIRTUÁLNÍ REALITU A HERNÍ ENGINE Existuje několik komerčně dostupných variant určených přímo na vytváření rozsáhlých interaktivních virtuálních prostředí za účelem vizualizace a simulace výroby a podniků, často integrovaných k ostatním nástrojům na podporu vývoje typu CAD, CAM, CAE a podobně. Těmito programy jsou v dnešní době konkrétně například 3DVIA Studio (dříve VirTools) [1] nebo IC.IDO [2]. Tvorba virtuálních prostředí za jejich použití je obdobná. Uživatel navrhne hrubou geometrii stavby, do které přidává jemnou geometrii ve formátu přímo z CAD nástrojů nebo jiných 3D modelových formátů například z grafických
programů jako je 3dS MAX nebo Google SketchUp. Interaktivní prvky a pohyby jsou pak realizovány algoritmicky přes vkládatelné objekty nebo tvorbu skriptů za použití objektově orientovaného programovacího jazyka. Společnou nevýhodou těchto řešení, jak už bylo řečeno výše, je vysoká cena za jednu licenci, která je činí v případě menších podniků a škol nedostupnou i v případě studentských a výukových (educational) licencí. Jedna licence obvykle stojí řádově sto tisíc euro. Další nevýhodou je poměrně vysoká složitost tvorby předpokládající znalost programování a navíc je nutné vytvořit i uživatelské rozhraní pro ovládání modelu. Při rešerši byly analyzovány i netradiční možnosti, kterými je například moderní herní engine pohánějící moderní 3D akční počítačové hry a to nikoli v jejich čisté podobě, ale již v podobě komerční počítačové hry. Výhodou je, že s počítačovými hrami jsou dodávány i nástroje typu SDK (Software Developer’s Kit) nebo jsou dostupné pro vlastníka licence počítačové hry. Tím si výrobce počítačové hry zajišťuje spontánní komunitu tzv. modderů, tedy hráčů, kteří se rozhodli danou hru upravovat. Výhodou je, že na internetu jsou pak dostupné různé návody k tvorbě a celá škála modifikacích enginů, to vše zpravidla zdarma. Cena za hru se pak pohybuje v řádech několika stovek korun až do dvou tisíc, což je činí velmi dostupnými. Bylo analyzováno několik herních enginů. Tyto analýzy se zaměřovaly na jejich vlastnosti, možnosti, rozsah a přístupnost SDK nástrojů a v neposlední řadě i ceny typické počítačové hry, které na nich běží. Předmětem těchto analýz byly například LithTech, Source Engine, CryEngine, Unreal Engine 3 nebo idTech 4. Z několika možností byl vybrán právě Source Engine ve formě počítačové hry Half-Life 2: Episode Two. Koupí licence k této hře v současné hodnotě €5,99 [3] je uživatel oprávněn k instalaci sady Source SDK, jejíž součástí je především level-editor Valve Hammer Editor, který je určen k tvorbě tzv. map (též levelů nebo úrovní – v podstatě virtuálních prostředí ve smyslu této práce, ukázka na obrázku 1) a je uživatelsky velice příjemný a jeho použití je intuitivní. Další podstatnou výhodou kompatibilita s 3D projekcí a tím pádem je možné použití v zařízení typu CAVE, které je k dispozici na KPV (Katedře průmyslového inženýrství a managementu).
Obrázek 1: Ukázka tvorby v programu Valve Hammer Editor. Source Engine v této podobě samozřejmě není možné přímo používat, na řadu proto přišla tvorba balíčku Digitov, který je formálně modifikací pro Source Engine a obsahuje veškeré nutné úpravy. O jeho vývoji pojednává následující kapitola. DIGITOV Digitov je balíček různých zdrojů pro Source Engine, které jsou tematicky zaměřené pro tvorbu virtuálních prostředí s podnikovou tematikou. Těmito zdroji jsou textury pro tvorbu hrubé geometrie – stěn, dveří, exteriéru atd. Dále jsou jimi detailní modely s jemnou geometrií reprezentující stroje, skladové regály, dopravníkové pásy, počítače a další dílenské, kancelářské a v neposlední řadě například i sanitární zařízení. Pro oživení výsledného modelu balíček Digitov obsahuje novou řídící logiku ve formě původních entit Source Engine spojených předdefinovanými vazbami například pro rychlou tvorbu dopravníkových pásů, automaticky ovládaných dveří a světel nebo řízení pohledu (kamery). Entitou je v řeči Source Engine každá jednotlivá instance některé třídy ve smyslu objektově orientovaného programování.
Virtuální prostředí v tomto engine je složeno výhradně z entit. Digitov obsahuje i dynamicky linkované knihovny (DLL) s úpravami některých původních tříd. Digitov byl z velké části sestaven ze zdrojů vytvořených nebo převedených autorem této práce a některých zdrojů, jejichž autoři jsou studenti FST. Textury jsou v Source Engine nazývány materiály a jsou tvořeny malými textovými soubory, které materiálu přiřazují jednotlivé rastrové vrstvy a řídí způsob jejich použití a další nastavení, z nichž je nejdůležitější především typ renderu, kterým je každý jednotlivý díl geometrie vykreslován. Jednotlivými vrstvami jsou pak textury, které plní funkci albeda, bump mapy, detail mapy atd. Tematicky tyto nové vytvořené materiály reprezentují různé povrchy, které je možné najít v budovách podniku – dlaždice, vymalované stěny, beton, ocel a jiné, viz Obrázek 2.
Obrázek 2: Ukázka nových textur balíčku Digitov. Pro modely Source Engine využívá svůj vlastní formát MDL. Tyto modely jsou do mapy vkládány pomocí entit třídy, jejichž názvy začínají na prop (tzv. prop entities). Chování těchto modelů je pak těmito entitami řízeno podle jejich druhu. Hlavními druhy modelů jsou modely statické, dynamické, fyzikální a existuje několik dalších méně důležitých druhů. Statické modely jsou nenáročné na výpočty a nejsou pohyblivé. Dynamické se mohou pohybovat po předem definovaných trajektoriích nebo být navázány pohybovou vazbou typu parent na jiné entity. Fyzikální jsou schopny samostatného pohybu jakožto reakce na vnější síly. Jejich pohyb vypočítává fyzikální engine. Nové modely byly převedeny ze zdrojů katedry nebo z volně dostupných knihoven na internetu. Digitov má k dispozici modely výrobních strojů, pásových i válečkových dopravníků, skladových skříní a regálů, kancelářského zařízení a mnohé další – jejich ukázka je na Obrázek 3.
Obrázek 3: Ukázka nových modelů v balíčku Digitov Řídící logika dopravníků, kamer, světel, dveří atd. je předpřipravená jako tzv. prefabs v řeči Valve Hammer Editoru. Jedná se o části zdrojového kódu mapy, které jsou při vkládání kopírovány do aktuálně tvořeného virtuálního prostředí. Například logika řízení dopravníku je vytvořena vložením tohoto prefabu do mapy, definováním trajektorie pohybu a nastavení rychlosti pohybu. Statické modely dopravníku jsou vloženy zvlášť, případně jsou také k dispozici jako prefaby. Náhled na komponenty řídící logiky nastavené pro pohyb výrobku po dopravníku a kamery, která se pohybuje kolem něj a snímá jej je v pohledu programu Valve Hammer Editor na Obrázek 4.
Obrázek 4: Ukázka nové řídící logiky, zde upravené pro případ válečkového dopravníku. V neposlední řadě pro Digitov byly upraveny původní DLL knihovny, které byly zkompilovány v Microsoft Visual C++ Express 2010 Service Pack 1. Tyto knihovny obsahují opravu některých tříd. VALIDACE A VYUŽITÍ DIGITOVU Balíček Digitov byl validován pomocí demonstračních modelů, které za jeho pomoci byly vytvořeny autorem této práce. Obrázek 5 ukazuje náhled modelu fac_212.bsp, který představuje budovu s montážní linkou na výrobu RC modelů aut a administrativní částí. Tento model je přiložen v balíčku Digitov jako demo.
Obrázek 5: Ukázka modelu fac_212 přiloženého k Digitovu jako demo. a) Pohled na budovu zvenku. b) Kanceláře v budově jsou vybaveny nábytkem a osazeny pracovníky. c) Výrobní linka demonstrující montáž RC modelu auta na dálkové ovládání. Uživatel má možnost zvednout jednotlivé díly a po prohlédnutí je opět položit. d) Ukázka některých dílů a podsestav RC auta, jehož výroba probíhá na lince v této budově. ch.
e) f)
Při stisknutí pravého tlačítka myši dojde k zobrazení nápovědy, která upozorňuje na interaktivní prvky, pomáhá k orientaci a poskytuje nápovědu. V konferenční místnosti je možné pustit prezentaci o problematice konceptu digitálního podniku. Tato prezentace byla původně vytvořena v Microsoft Power Point, její snímky byly převedené na materiály (tzn. textury v řeči Source Engine) a vloženy do mapy, kde jsou algoritmicky řízeny.
Využití Digitovu dokazuje, že je vhodnou alternativou ke konvenčnímu software pro virtuální realitu. Modely výrobních podniků nebo obecně virtuální prostředí za pomocí Digitovu vytvořená je možné využít k virtuálnímu tréninku nových zaměstnanců, kteří jsou přijímání na druhém konci světa, než modelovaný podnik stojí. Dojde tak k ušetření financí na jejich zácvik, protože tito noví zaměstnanci již budou budovu znát a mohou být upozornění na různá konkrétní nebezpečí, která ve výrobní hale existují. Dále je možné využití vizualizovat budovu, která bude v budoucnu teprve postavena. Na základě takového modelu je pak možné provádět různé validace layoutu budovy, hodnotit přehlednost výrobních hal, umístění různých varování nebo estetické vlastnosti. V současné době je Digitov používán ve výuce virtuální reality na Fakultě strojní Západočeské univerzity v Plzni. V rámci studentských prací bylo vytvořeno 15 modelů. Některé byly vytvořeny na základě vlastního návrhu layoutu výrobního podniku, některé znázorňují skutečné budovy výrobních podniků. Nechyběly ani modely s neprůmyslovou tematikou, například vlastní dům jednoho z autorů nebo prostranství před budovou Fakulty strojní. Modely vytvořené pomocí Digitovu jsou kompatibilní se zařízením typu CAVE (Computer Aided Virtual Environment) umístěné v jedné z laboratoří na Katedře průmyslového inženýrství a managementu. Zde je možné ovládat pohyb v modelu pomocí trackovacího zařízení a zobrazovat modely vytvořené pomocí Digitovu trojrozměrně. Digitov je možné užít nejen k vizualizaci celých výrobních systémů, ale i jednotlivých výrobních procesů. Za pomoci několika málo entit je například možné řídit průběh animace soustružení osazeného čepu. Obrázek 6 je náhledem právě na takovou animaci v mapě turning_demo.bsp, která je součástí Digitovu jako demo.
Obrázek 6: Ukázka animace výrobního procesu. Paralelně s tvorbou Digitovu byl autorem této práce a kolektivem dalších autorů vytvářen e-book Tvorba virtuálních prostředí v Source SDK [4]. Tento e-book je koncipován jako příručka k použití Valve Hammer Editoru spolu s balíčkem Digitov a obsahuje potřebné informace k tvorbě virtuálních prostředí s podnikovou tematikou. Balíček Digitov je možné snadno distribuovat pomocí instalátoru a spouštěče, který je možné stáhnout z univerzitních osobních stránek autora této práce, který je zároveň autorem tohoto programu, na [5]. Program je určen k jednoduché instalaci pomocí několika málo klepnutí myší, spouštění jednotlivých map, otevírání patřičných složek pro další úpravy Digitovu a je zde i možnost kontroly aktualizací balíčku a jejich automatické stažení a instalace z internetu. Náhled na tento program je na Obrázek 7. Ve světě není vývojové prostředí tvořené Source SDK rozšířené balíčkem Digitov neznámé. Výsledky tohoto projektu byly prezentovány na konferenci v Krétě v roce 2013 [6] a v časopise MM Science Journal [7], který je zapsán v seznamu českých recenzovaných časopisů. DALŠÍ VÝVOJ Digitov představuje velmi mocný nástroj, který může v mnoha ohledech konkurovat softwarovým produktům v ceně několika desítek tisíc euro. Jeho vývoj ale přesto stále probíhá a do budoucna je počítáno s jeho rozvojem v následujících směrech: Rozšíření knihoven modelů, textur a tříd objektů. Rozšíření dynamických DLL knihoven obsahujících třídy entit.
Vytvoření nástroje pro kompatibilitu s ostatním software pro tvorbu podnikových layoutů. (V současné době je autorem této práce vytvářen převodník layoutů vytvořených programem VisTable Touch do zdrojového kódu mapy pro Valve Hammer Editor. V současnosti již existuje funkční prototyp tohoto programu.) Vytvoření webových stránek Digitovu. Distribuce Digitovu koncovým uživatelům v průmyslové a akademické sféře.
OBRÁZEK 7: UKÁZKA PROGRAMU DIGITOV LAUNCHER, SPOUŠTĚČE A INSTALÁTORU DIGITOVU. ZÁVĚR A DOPORUČENÍ Digitov je modifikace Source Engine, která tento engine doplňuje o sadu vývojářských nástrojů Source SDK tak, aby za použití těchto nástrojů bylo možné tvořit virtuální prostředí s podnikovou a průmyslovou tematikou. Autorem balíčku Digitov je autor této práce. Digitov v současné době obsahuje modely strojů, výrobních, skladových a dopravních zařízení, kancelářského vybavení, počítačů, dále textury zdí, podlah, exteriérů. To je doplněno novou řídící logikou a dynamicky linkovanými knihovnami, které obsahují nové entitní třídy (tj. třídy objektů v řeči Source Engine). Balíček Digitov je možné použít k tvorbě modelů podniků, výrobních systémů a procesů a to ve formě volně průchozích modelů, kdy uživatel přímo řídí postavu z prvního pohledu nebo ve formě animací a filmových sekvencí. Modely tohoto typu jsou v poslední době trendem a jsou využívány pro vizualizaci podniků, propagaci, zácviku zaměstnanců, ověření layoutů a k mnohým dalším účelům. V současné době může Digitov v mnohém konkurovat profesionálním vývojovým prostředím, které jsou dostupné za ceny v řádu desítek nebo stovek tisíc euro. Další výhodou je vysoká rychlost tvorby virtuálních prostředí vysokých estetických kvalit a uživatelsky příjemné vývojové prostředí. Digitov může konkurovat i cenou, která spočívá pouze v získání licence na nástroje Source SDK a Source Engine v podobě hry Half-Life 2: Episode Two za €5,99. PODĚKOVÁNÍ Tento výzkum byl podpořen projektem 1.07/2.3.00/09.0163 „Kvalitní výzkumný tým zaměřený na problematiku řízení životního cyklu výrobku v prostředí digitálního podniku“. Autor této práce by chtěl zároveň poděkovat svému vedoucímu, Ing. Petru Hořejšímu, Ph.D. za možnost pracovat na vývoji tohoto unikátního vývojového prostředí.
LITERATURA [1] 3DVIA Studio: A Powerful 3D Development Tool. [2014-04-12] Dostupné z:
[2] IC.IDO | ESI Group – Virtual Product Engineering software and services. [2014-04-12] Dostupné z:
[3] Half-Life 2: Episode Two ve službe Steam. [2014-04-12] Dostupné z: [4] Hořejší, P., Polcar, J.: Tvorba virtuálních prostředí v Source SDK. ZČU FST, 2012. [5]
[6] Horejsi, P., Polcar, J.: Implementation of Source Engine for Virtual Tours in Manufacturing Factories, 9th International Symposium, ISVC 2013, Rethymnon, Crete, Greece, July 29-31, 2013. Proceedings, Part II, pp 737-746, DOI: 10.1007/978-3-642-41939-3_72, series: 8034, Print ISBN: 978-3-642-41938-6, Online ISBN: 978-3-642-41939-3, ISSN: 0302-9743, Springer Berlin Heidelberg [7] Horejsi, P., Polcar, J.: An Unconventional Software Environment For Factory Layout Design And Automated Converter, MM Science Journal, December 2013, s. 444 – 447, ISSN: 1803-1269