Create IT Blog - odborné

 

 

20 let evoluce druhůhttps://www.create-it.cz/Blog/Stranky/Zvirata.aspx20 let evoluce druhů<p>​​​​Hrdě se hlásíme k superschopnostem, které mají svůj původ například i v živočišné říši. Darwin by z nás měl radost!​ U příležitosti oslavy 20 let Cleverlance tak ​​​vznikl speciální zvěrokruh - na základě vlastností, které jsme identifikovali i u nás ve firmě.​<br></p><h2>​​Gekon: ​Jakmile​​ se přilepíme k úkolu, nepustíme. <br></h2><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/Zvirata/Gekon.svg" alt="Gekon.jpg" data-themekey="#" style="max-width:400px;height:331px;" /> <br></p><p></p><p> <br> Jak to děláme? Kromě van der Waalsovy síly je v tom i trochu rebelství: běžné limity prostě nebereme jako definitivní. Vytrvalost nás udrží třeba i na stropě. Jako GEKONY. Ale v zasedačkách máme židle většinou nohama dolů, abychom neuváděli návštěvy do rozpaků. </p><p>Nebojte se stavit!<br></p><h2>Vlk: ​Když se zakousneme do problému, všechny překážky v panice prchají.​​​</h2><p> <br> </p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/Zvirata/Vlci.svg" alt="Vlci" data-themekey="#" style="max-width:400px;" /> </p><p> Když lovíme řešení, spoléháme jeden na druhého. Spolupracujeme a pomáháme si. Chráníme mladé talenty a zároveň si vážíme zkušeností starších. Pro své týmy hledáme bezpečná teritoria. Jsme silná a soudržná smečka. Jako vlci.<br></p><h2>Šimpanz​: ​Speciální sc​hopnosti jednotlivců dávají největší smysl při práci v tlupě. </h2><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/Zvirata/Simpanz.svg" alt="Simpanz" data-themekey="#" style="max-width:400px;" />  </p><p>Představa IT jako oboru vypjatých introvertních individualit je velmi filmová - a velmi mylná. V Cleverlance dobře rozumíme smyslu spolupráce. Stejně jako naši příbuzní šimpanzi vyhledáváme funkční aliance a stejně jako oni se v průběhu dne navštěvujeme a řešíme věci při konzumaci oblíbené potravy. Zvlášť populární místo je pod centrálním stromem v našem HUBu.<br></p><h2>Jeřáb​: ​​Nosíme štěstí. Spolu se splněným zadáním. </h2><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/Zvirata/Jerab%20600ppi.png" alt="Jerab 600ppi.png" data-themekey="#" style="max-width:400px;" /> </p><p>V Cleverlance věříme, že z dobrého naladění se vyklube dobré řešení. Pozitivního ducha v týmu podporujeme třeba firemními akcemi zdravého pohybu. O projekty pečujeme společně jako jeřábi o svá vejce. Víte, že v Číně je jeřáb symbolem moudrosti a v Japonsku symbolizuje štěstí a dlouhověkost? Určitě si taky vybavíte půvabné námluvní tance jeřábů. I my rádi tančíme. Projevuje se to například na našich vánočních večírcích.​</p><h2>Axolotl: ​​I kdyby nám ruku na klávesnici usekli, zase nám k ní nová doroste.</h2><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/Zvirata/Axolotl.png" alt="Axolotl.png" data-themekey="#" style="max-width:400px;" />  </p><p> Nebojte se, pravidla bezpečnosti na pracovišti zajišťují, že k takovým událostem nedochází. A když už se nám něco nepovede, regenerujeme hbitě, jako každý axolotl. To, co nás živí, nás totiž i baví. A stejně jako axolotlové jsme obojživelníci: naše produkty fungují bezchybně na Macu i na PC. <br></p><h2>Chobotnice: ​Když má jeden mozek těžký den, zapojíme další a dokonale splyneme s úkolem.</h2><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/Zvirata/Chobotnice.png" alt="Chobotnice" data-themekey="#" style="max-width:400px;" /> </p><p></p><p>Stejně jako chobotnice nechává svá chapadla pracovat samostatně, i my v Cleverlance těžíme z toho, že každý náš tým má svůj vlastní mozek. Právě díky vynalézavosti a samostatnosti jednotlivců jsme i po dvaceti letech existence otevřenou firmou, která neustále přidává nové kreativní disciplíny. Nechcete se stát naším novým chapadlem?<br></p><h2>Orel​​: ​Při lovu dokážeme zrychlit i trojnásobně. </h2><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/Zvirata/Orel.png" alt="Orel.png" data-themekey="#" style="max-width:400px;" />  </p><p> Naší silnou stránkou je schopnost koncentrace a soustředění na cíl. Umíme se bez námahy pohybovat v TB dat stejně, jako orel skalní uletí desítky kilometrů bez jediného mávnutí křídly. Když pak spatří kořist, zrychlí při střemhlavém letu i na více než 150 km/h - a troufne si třeba i na kamzíka. Není divu, že je nazýván králem nebes a v některých kulturách je dodnes posvátný. Pokud se chcete ve svém oboru skutečně rozletět, křídla a drápy našeho orlího týmu jsou vám k dispozici.<br></p><h2>Bobr​: Konvenční myšlení? To nahlodáme! </h2><div><div style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/Zvirata/Bobr.png" alt="Bobr" data-themekey="#" style="max-width:400px;" /> </div> Měli jste nový nápad a narazili jste? Zajděte za bobrem: budete mít společné téma k hovoru. Bobři dokážou svým stavebním úsilím změnit celý tok řeky a vytvořit nové tůně a domovy pro další živočichy - jenže lidé rozlehlé bobří hrady příliš nechápou. V Cleverlance se spíš staráme o toky dat, ale i my občas musíme hájit svou vizi. Jenže: jak jinak dělat inovace, než opouštěním starých cest? </div><div>Bobrujeme pro vaše dobro!<br></div><div><h2>​Pavián​: ​Už 20 let jsme důkazem, že být slušný dává smysl.</h2><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/Zvirata/Pavian.png" alt="Pavian" data-themekey="#" style="max-width:400px;" />  </p><p> V Cleverlance jsme zvyklí o sebe pečovat. Všichni kolegové, kteří z různých důvodů potřebují pracovat z domova, dostanou u nás plnou podporu. Stejně jako paviáni chápeme, že je třeba myslet na každého člena tlupy. I proto máme vysoký počet zaměstnanců, kteří jsou s námi 5 a více let. Zorganizovali jsme se rychle i v náročné covidové době.<br></p><h2>Gepard: ​​Nezkoušejte s námi závodit. Zařiďte si, že poběžíme pro vás.</h2><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/Zvirata/Gepard.png" alt="Gepard.png" data-themekey="#" style="max-width:400px;" /> </p><p> IT je rychlý obor. Srovnání s gepardem se nebojíme — u něho je fenomenální rychlost kombinací výjimečné lehkosti a pružnosti, a také schopnosti držet rovnováhu. Je to právě rovnováha, která stojí za neochvějným zaměřením na cíl. V Cleverlance jsme se tím přirozeně inspirovali. Když víme, proč se běží, doběhneme první.<br></p><h2>Kolib​řík: Sosáme nové poznatky a kmitáme jako nikdo jiný.</h2><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/Zvirata/Kolibrik.png" alt="Kolibrik.png" data-themekey="#" style="max-width:400px;" />  </p><p> Musíte se do IT ponořit, abyste pochopili jeho kouzlo. Naším sladkým nektarem je bezchybné svištění dat. Každý kolibřík denně navštíví stovky květů, aby se nasytil. My se živíme složitými úkoly. Pokud máte zadání, se kterým si nevíte rady, pošlete ho k nám. Rádi do něj ponoříme svůj vysoce specializovaný dlouhý zobák! <br> </p><h2>Mravenečník: Jsme zarytí v IT. </h2><p style="text-align:center;">​<img src="/Blog/PublishingImages/Stranky/Zvirata/Mravenecnik.png" alt="Mravenecnik.png" data-themekey="#" style="max-width:400px;" /></p><p> Ano, i tohle jsme my! Máme mimořádně vyvinutý čich pro dobrá řešení a jako mravenečníci se umíme zahrabat do toho, co nás zajímá. Civilizace 21. století je trochu jako nepřehledné termitiště. Navrhujeme a zlepšujeme systémy, které zajišťují, abyste se k chutným termitům dostali i vy — ani nemusíte mít jazyk dlouhý 60 centimetrů. Půjčíme vám ten náš.<br></p><p>​<br></p></div>odborné;#
Telekineze pro začátečníkyhttps://www.create-it.cz/Blog/Stranky/telekineze.aspxTelekineze pro začátečníky<p>V této části seriálu o herním vývoji si vytvoříme speciální schopnost, telekinezi.<br></p><p>Pokud jste někdy přemýšleli nad tím, jak to hry jako <a href="https://www.youtube.com/watch?v=sXCBODikVRQ" target="_blank">Control</a>, <a href="https://www.youtube.com/watch?v=_grZyaWhK3I" target="_blank">Bioshock</a> nebo <a href="https://www.youtube.com/watch?v=dAOLd6PivMk" target="_blank">Psi Ops: Mindgate conspiracy</a> dělají, pak jste na správném místě. Vytvoření telekineze je snadnější, než to vypadá!<br></p><p>V tomto díle budeme replikovat herní mechaniku telekineze, jak ji vidíme např. ve hře Control:<br></p><p> <img src="/Blog/PublishingImages/Stranky/telekineze/control.gif" alt="control.gif" data-themekey="#" /> <br> </p><h2>Nastavení scény</h2><p>V minulých dílech jsme do scény přidali krabici, objekt Box. Unity teď jen řekneme, že se ke krabici má chovat jako k fyzikálnímu objektu, a to přidáním komponenty Rigidbody.<br></p><p> <img src="/Blog/PublishingImages/Stranky/telekineze/tk-1.jpg" alt="telekineze" data-themekey="#" /><br></p><p>Nyní krabici vytvoříme a přiřadíme nový tag, který pojmenujeme "<em>Box</em>". Skript telekineze se bude orientovat podle tohoto tagu a bude schopen ovládat jen takto označené objekty.<br></p><p> <img src="/Blog/PublishingImages/Stranky/telekineze/tk-2.jpg" alt="telekineze" data-themekey="#" /> <br> </p><p> <img src="/Blog/PublishingImages/Stranky/telekineze/tk-3.jpg" alt="telekineze" data-themekey="#" />  </p><p> <img src="/Blog/PublishingImages/Stranky/telekineze/tk-4.jpg" alt="telekineze" data-themekey="#" />Objekt "Box" teď jen párkrát duplikujeme, aby si hráč měl na čem otestovat svoji novou schopnost (Duplikace: pravé tlačítko na objekt -> duplikovat).</p><p> <img src="/Blog/PublishingImages/Stranky/telekineze/tk-5.jpg" alt="tk-5.jpg" data-themekey="#" /> <br> </p><p>Dále si vytvoříme prázdný objekt, a pojmenujeme ho <em>HoldPosition</em>. Přiřadíme mu objekt hráče jako rodičovský objekt a jeho pozici nastavíme před hráče - tento objekt bude sloužit jako záchytný bod, kam bude Box přitahován telekinetickou silou. Měl by proto být umístěn v zorném poli kamery hráče.</p> <img src="/Blog/PublishingImages/Stranky/telekineze/tk-6.jpg" alt="telekineze" data-themekey="#" /> <h2>Funkce Telekineze</h2><p>Vytvoříme si nový skript, <em>Telekinesis</em>. (Veškerý kód je mimochodem dostupný na mém githubu, odkaz níže).</p><p>Chci přitahovat objekty, na které namířím bodem ve středu obrazovky. To provedu pomocí metody <em>ViewportPointToRay, </em>které předám souřadnice středu obrazovky (0.5 x, 0.5 y). Z tohoto bodu bude "vystřelován" paprsek, u kterého mohu detekovat, do jakého objektu naráží.<br></p><p>Pokud narazím do objektu, co je dostatečně blízko, zkontroluji, zda má tag "<em>Box</em>". Pokud má, tak mu nastavím jako rodičovský objekt námi vytvořený <em>HoldPosition. </em>Pak zmrazím fyzikální objekt na místě (jeho rotaci a pozici) a zavolám funkci pro rotaci drženého objektu (rotaci implementuji na konci, prozatím je to prototyp funkce).<br></p><p> <img src="/Blog/PublishingImages/Stranky/telekineze/tk-7.jpg" alt="telekineze" data-themekey="#" /> <br> </p><p>Funkce <em>CheckDistance</em> níže pouze kontroluje vzdálenost mezi přitahovaným objektem a cílovou pozicí <em>HoldPosition</em>. Funkce <em>MoveObjectToPosition </em>lineárně interpoluje pozici objektu až do cílové <em>HoldPosition</em>. Pro uvolnění objektu je použita jednoduchá funkce <em>ReleaseObject</em>, která pouze dereferencuje všechny proměnné. A poslední funkce <em>ShootObject</em> vystřelí objekt směrem pohledu kamery tím, že objektu přidá fyzikální sílu (v režimu impulzu).<br></p><p> <img src="/Blog/PublishingImages/Stranky/telekineze/tk-8.jpg" alt="telekineze" data-themekey="#" /> <br> </p><p>Efekt rotace předmětu provedeme pomocí náhodné rotace objektu. Pro každou osu zvolíme náhodnou hodnotu, při každém přitáhnutí bude pak rotovat jiným směrem a rychlostí.</p> <img src="/Blog/PublishingImages/Stranky/telekineze/tk-9.jpg" alt="telekineze" data-themekey="#" /> <p>Máme vše připraveno k použití, teď jen hráči musíme umožnit samotnou telekinezi používat. Namapujeme funkce na vstupní ovládání.<br></p><p>Ve funkci <em>Start</em>  inicializujeme hodnotu <em>throwForce </em>a ve funkci <em>Update </em>se postaráme o vstup. Při stisku levého tlačítka myši hráč přitáhne objekt. Při držení pravého tlačítka "nabije" telekinezní schopnost a vrh bude silnější, čím déle bude držet. Při pouhém stisku hráč vrhne objekt defaultní silou. A při stisku F objekt upustí.<br></p><p> <img src="/Blog/PublishingImages/Stranky/telekineze/tk-10.jpg" alt="telekineze" data-themekey="#" /> <br> </p><p> </p><h2>Poslední úpravy</h2><p>Nás skript <em>Telekinesis </em>přidáme hráčovi - <em>Player</em> - a přiřadíme nutné proměnné jako <em>Camera</em>, <em>HoldPosition </em>a hodnoty pro sílu vrhnutí a vzdálenost přitahování.<br></p><p>Pro snadnější míření na objekty si ještě vytvoříme primitivní UI zaměřovač. Vytvoříme nový objekt - <em>Image</em> (plátno <em>Canvas</em> se vytvoří automaticky).<br></p><p>Obrázek <em>Image </em>připneme do středu obrazovky:<br></p><p> <img src="/Blog/PublishingImages/Stranky/telekineze/tk-11.jpg" alt="telekineze" data-themekey="#" /> <br> </p><p>Jeho pozici nastavíme na (0,0,0), aby se zarovnal přímo do středu. A jeho výšku a šířku změníme na 10. <em>Source Image</em> nastavíme na <em>Knob</em>. Ve středu obrazovky bychom měli mít malou tečku.<br></p><p> <img src="/Blog/PublishingImages/Stranky/telekineze/tk-12.jpg" alt="telekineze" data-themekey="#" /> </p><p> <img src="/Blog/PublishingImages/Stranky/telekineze/tk-13.jpg" alt="telekineze" data-themekey="#" /> <br> </p><p>Teď už jen stačí hru spustit a jsme hotovi.<br></p><h2>Výsledek<br></h2><p> <img src="/Blog/PublishingImages/Stranky/telekineze/unnamed-2.gif" alt="telekineze" data-themekey="#" /> <br> </p><p>Pro kompletní funkční kód navštivte můj <a href="https://github.com/janjilecek/unity_tutorial/blob/master/Assets/Scripts/Telekinesis.cs" target="_blank">github</a>. Doufám, že jste si tvoření nové schopnosti užili. V dalším díle se podíváme na to, jak můžeme naši nově nabytou schopnost použít na hordu nepřátel ze třetího dílu.<br></p><p> <em>Jan Jileček</em><br></p>odborné;#
Slavíme 20 let Cleverlance!https://www.create-it.cz/Blog/Stranky/slavime20let.aspxSlavíme 20 let Cleverlance!<p>​Samotáři. Gladiátor. X-Men. Tyto filmy měly premiéru v roce 2000. Stejně jako první část počítačové hry The Sims. Mohli jste si koupit první flash disk s kapacitou 8 MB, stál 1131 Kč.</p><h2>A světlo světa v tomto roce poprvé spatřila také Cleverlance.<br></h2><p>20 let v IT firmě by mohlo vzbuzovat i pocit neklidu. Není to v tak rychlém oboru moc? Jak se dá držet krok s vývojem, když jako firma zrajete? V Cleverlance odpovídáme: 20 let je v klidu, když „nedržíte krok". Když ten krok udáváte.</p><h2>Vyvíjíme se a vyvíjíme software<br></h2><p>Věděli jste, že první zakázku jsme měli v Německu a šlo o projekt v jazyce Java? Dnes máme projekty, zakázky a produkty v řadě programovacích jazyků a odvětví. V Cleverlance se stále vyvíjíme a když je potřeba, adaptujeme se na měnící se podmínky - nové technologie, požadavky zákazníků, styl řízení projektů. Neustále vše testujeme, jednak aby bylo chyb co nejméně a také abychom se z nich poučili. Rozmanitost je u nás tedy zaručena. Aby ne, je nás k tisícovce a každý v našem týmu je jiný a má své superschopnosti: někdo je víc stratég, někdo analytik, někdo mluví kódem a někdo projektuje v obrazech. Důležité je, že se umíme domluvit a ctíme společné <a href="/Blog/Stranky/hodnoty.aspx">hodnoty</a>.<br></p><h2>Různé živočišné druhy, jeden společný cíl</h2><p>Proč mluvíme o evoluci, adaptaci a diverzitě? Rozhodli jsme se, že oslavu 20. narozenin si nenecháme ujít ani v podmínkách, které hromadným oslavám právě nepřejí. V příštích týdnech vám představíme téma <strong>20 let evoluce druhů.</strong> Seznámíme vás s tím, kde v přírodě byste našli paralely s naším týmovým uspořádáním a způsobem fungování a jaké naše superskills můžete využívat. To, jací jsme, je evoluční výhodou i pro vás, ať už jste našimi kolegy, klienty či partnery.<br><br>Sledujte naše sítě: <a href="https://www.facebook.com/Cleverlance/" target="_blank">Facebook</a>, <a href="https://www.instagram.com/cleverlance_com/">Instagram</a> a <a href="https://www.linkedin.com/company/17441">LinkedIn</a><br></p><p><br>#20letcleverlance #20letevolucedruhu #slavime20let #WeCreateIT<br></p>odborné;#
Vytvořte si nepřátele. V Unityhttps://www.create-it.cz/Blog/Stranky/unity3D3.aspxVytvořte si nepřátele. V Unity<p>​​V této části seriálu o herním vývoji si ukážeme jak vygenerovat nepřátelskou hordu. Ta nás bude pronásledovat a bude schopna fyzicky interagovat s herním světem. Pro základní nastavení scény a animace se podívejte na <a href="/Blog/Stranky/unity3D.aspx">první část seriálu</a> a pro ovládání postavy hráče na <a href="/Blog/Stranky/unity3D2.aspx">část druhou</a>. Pokud máte vše nastaveno, můžeme se do toho pustit!<br></p><h2>Veřejný nepřítel #1</h2><p>Nejprve si vytvoříme nový herní objekt, který pojmenujeme Enemy. <br></p><div style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%201.png" alt="Picture 1.png" data-themekey="#" style="margin:5px;width:400px;height:195px;" /> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image002.jpg" data-themekey="#" alt="" style="width:690px;margin:5px;" /> </div><p style="text-align:justify;">Balík 3D modelů <em>Synty</em>, který jsme použili minule, obsahuje i herní charaktery. Jsou zde 4 "fazole" a normální muž a žena. Mít hordu modelů stejných jako používáme pro hráče, by byla nuda, takže volím "policejní fazoli". Model přetáhnu do scény.<br></p><p style="text-align:left;"> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%202.png" alt="Picture 2.png" data-themekey="#" />Model přiřadíme pod objekt <em>Enemy.</em><img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image006.jpg" data-themekey="#" alt="" style="margin:5px;" /><img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%203.png" data-themekey="#" alt="" /></p><p>Nyní vytvoříme skript, co bude nepřítele ovládat. Pojmenujeme ho taktéž <i>Enemy</i> a přiřadíme <i>Enemy</i> objektu.  <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image008.jpg" data-themekey="#" alt="" style="margin:5px;" /><br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%20x.png" alt="Picture x.png" data-themekey="#" />  </p><p></p><h2>Hledání cesty a pronásledování</h2><p>Pro ovládání navigace nepřítele budeme potřebovat Navigační panel:</p><p> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%204.png" data-themekey="#" alt="" /><br></p><p>Po otevření panelu <em>Navigation </em>zvolíme objekt <em>Plane, </em>nastavíme <em>Navigation static</em> a označíme celý Plane jako <em>Walkable</em> - to zajistí, zjednodušeně řečeno, že ho nepřátelé budou chápat jako objekt, po kterém mohou chodit.</p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%205.png" alt="Picture 5.png" data-themekey="#" style="width:400px;" /><img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image012.jpg" data-themekey="#" alt="" /><br></p><p>Navigaci také musíme tzv. "zapéct" (tlačítko <em>Bake</em>).<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%206.png" alt="Picture 6.png" data-themekey="#" style="width:400px;" /><br></p><p>Po zapečení vypadá herní plocha následovně:</p> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%207.png" alt="Picture 7.png" data-themekey="#" /> <div><p>Všechno označené modře je <em>"vkročitelné"</em>. Objekty domu a auto tedy označím jako <em>"Not-walkable" </em>a zapeču změny ještě jednou.<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%208.png" alt="Picture 8.png" data-themekey="#" style="margin:5px;width:400px;height:260px;" /><br></p><p>Po zapečení vypadá scéna takto. Nepřátelé nebudou schopni vejít do domu, projít autem ani krabicí. Znají pouze "vkročitelné" oblasti.<br></p><p> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%209.png" alt="Picture 9.png" data-themekey="#" /> <br> </p><p>Nepřítel také potřebuje základní inteligenci pro pronásledování hráče. Aby se mohl pohybovat na navigačním poli potřebuje tzv. <em>NavMeshAgent </em>- navigačního agenta. Objektu <em>Enemy </em>tedy přidáme novou komponentu <em>NavMeshAgent</em>. Pokud bude ohraničující box agenta vyčnívat z modelu, upravte ho (sekce Obstacle Avoidance níže na obrázku).</p><p> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%2010.png" data-themekey="#" alt="" /> <br> </p><p>Ve skriptu <em>Enemy.cs </em>implementujeme jednoduchou logiku. V <em>pathfinder </em>proměnné budeme držet referenci na komponentu navigačního agenta a jako target nastavíme hráčovu pozici. Jelikož se jedná o referenci na <em>transform</em> hráče, jeho pozice bude automaticky updatována každý snímek hry a nepřítel tak bude schopen dynamicky měnit cestu podle toho, jak se hráč bude hýbat.</p> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image024.jpg" data-themekey="#" alt="" style="width:690px;margin:5px;" /> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%2011.png" alt="Picture 11.png" data-themekey="#" /> <p>Po spuštění nás bude pronásledovat policejní fazole.</p><p> <img src="/Blog/PublishingImages/Stranky/unity3D3/unity3D.gif" alt="unity3D.gif" data-themekey="#" /><br></p> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image025.gif" data-themekey="#" alt="" style="width:690px;margin:5px;" /> <h2> Spawner nepřátel</h2><p>Spawner vytvoříme tak, aby vytvářel nepřátele na náhodných pozicích navigačního pole.</p><p>Nejprve vytvoříme tzv. prefab, což je "uložený" model se všemi jeho skripty a nastaveními. Lze ho pak přesně ve stejném nastavení používat znovu a znovu. Vytvoříme ho tak, že přetáhneme objekt <em>Enemy</em> z <em>Hierarchy</em> prohlížeče do <em>Assets.</em></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%2012.png" alt="Picture 12.png" data-themekey="#" style="width:400px;" />  </p><p>Ve scéně dále vytvoříme nový objekt pro <em>Spawner</em>. Přiřadíme mu nový stejnojmenný skript. Ten vytvoří jednoho nepřítele na souřadnicích (0,0,0).</p> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%2013.png" alt="Picture 13.png" data-themekey="#" /> <p>Do skriptu přiřadíme referenci na<em> Enemy prefab </em> (ne model z Hierarchy, prefab z Assets). Teď už můžeme smazat původní <em>Enemy objekt</em> ve scéně, protože se bude spawnovat přes <em>Spawner.</em></p><p style="text-align:center;"> <em> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%2014.png" data-themekey="#" alt="" style="width:400px;" /></em> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image031.jpg" data-themekey="#" alt="" style="margin:5px;" /> </p><p style="text-align:justify;">A teď ta nejdůležitější část: náhodné spawnování. K tomu použijeme funkci <em>RandomNavmeshLocation</em>. Ta dokáže vybírat náhodné body na navigačním poli. Pokud je vybraný bod "<em>walkable"</em>, vytvoříme na něm nového nepřítele. Pro omezení počtu nepřátel si uděláme proměnnou <em>numberOfEnemies </em>a přes atribut <em>Range</em> umožníme Editoru, aby s ní bylo možné manipulovat grafickým posuvníkem.</p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%2015.png" data-themekey="#" alt="" style="width:400px;" /><img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image033.jpg" data-themekey="#" alt="" style="margin:5px;" /><img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image035.jpg" data-themekey="#" alt="" style="margin:5px;" /><br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D3/Picture%2016.png" alt="Picture 16.png" data-themekey="#" /> <br> </p><p>A vše je hotovo. Nepřátelská horda sta policejních fazolí nás neúprosně pronásleduje.</p><p> <strong> <img src="/Blog/PublishingImages/Stranky/unity3D3/2.gif" alt="2.gif" data-themekey="#" /></strong></p><div style="text-align:justify;">Se scénou si můžete dále pohrát, vyzkoušet různé počty nepřátel, přiřadit jim fyzikální model aby mohli tlačit do předmětů, měnit jejich rychlost nebo pro ně vytvořit nějakou formu útoku a jednoduchého systému zdraví. </div><p>V další částí implementujeme telekinezi, aby se hráč mohl proti policejním fazolím bránit.</p><p>Kód dostupný na mém <a href="https://github.com/janjilecek/unity_tutorial/commit/74d19d3cf5feaa89d5ba731c826d4ba2ab06b4c8">githubu</a>.<br></p><p> <i>Jan Jileček<br></i></p><p> <br> </p></div>odborné;#hobby;#
Zažijte smíšenou realitu v SharePoint Spaceshttps://www.create-it.cz/Blog/Stranky/SharePoint_Spaces.aspxZažijte smíšenou realitu v SharePoint Spaces<p>Od května 2020 je v režimu „Preview" dostupná nová funkcionalita, která umožňuje vytvářet v SharePoint Online sdílené týmové prostory pro zobrazení obsahu virtuální reality (3D objekty, 3D video, 360° obrázky a videa, 2D obrázky a další). Businessově řečeno, nově je možné zakomponovat do obsahu intranetu i atraktivní vícerozměrný obsah. <br></p><p>Na první pohled vyvstává otázka, k čemu je dobré mít možnost rozšířit stávající intranet o 3D obsah? Po bližším zamyšlení a s přihlédnutím ke stávající koronavirové situaci, kdy všichni pracovali z domova, se nabízí hned několik scénářů, kde by šlo SharePoint Spaces využít.</p><h2>Jak udělat interní komunikaci zajímavější</h2><p> <b></b>3D obsah je atraktivní, táhne pozornost. Pokud interní komunikace ve vaší firmě naráží na nízkou čtenost a minimální odezvy u vámi publikovaného obsahu (zejména psaného textu), stojí za zkoušku zobrazení obsahu dokumentové knihovny v 3D režimu, viz. následující obrázek:<br></p><p> <img src="/Blog/PublishingImages/Stranky/SharePoint_Spaces/Picture%202.png" data-themekey="#" alt="" /> <br> </p><h2> Virtuální adaptace nových zaměstnanců</h2><p>V průběhu uplynulých měsíců s ohledem na "koronavirová" omezení se v HR často prováděl onboarding nováčků včetně představení sídla společnosti vzdáleně a z pohodlí Home Office. Se SharePoint Spaces bude nově možno odkázat nováčka na intranet, který podporuje přehrávání 3D videí či virtuální prohlídku kanceláře.<br></p><p> <img src="/Blog/PublishingImages/Stranky/SharePoint_Spaces/Picture%203.png" data-themekey="#" alt="" /> <br> </p><p></p><h2> Další možnosti užití:</h2><ul><li>3D video s interním školícím materiálem (jak používat vybrané pracovní pomůcky např. ve výrobní společnosti),<br></li><li>katalog produktů,<br></li><li>webový portál s katalogem 3D modelů výrobků (zejména pro konstrukční / výrobní společnosti).<br></li></ul><h2>Integrace na MS Teams</h2><p>Jak už to ve světě Microsoftu bývá, integrace mezi jednotlivými cloudovými službami je jednou ze silných stránek cloudového ekosystému Microsoftu. Pokud jste např. zvyklí konzumovat obsah v rámci MS Teams, lze SharePoint Spaces připnout do „Tab", viz. následující obrázek. 3D obsah bude pro vaše uživatele dostupný i z týmových prostorů.</p><h2> <img src="/Blog/PublishingImages/Stranky/SharePoint_Spaces/Picture%204.png" data-themekey="#" alt="" />A jak SharePoint Spaces zprovoznit?</h2><p>Pro zprovoznění funkcionality je nutné mít momentálně zapnutý „Target release" v rámci Office 365 tenantu. Funkcionalita není v základním nastavení zapnutá, pro její zprovoznění je třeba postupovat dle následujících bodů:<br></p><ol><li>Výchozí pozice je domovská obrazovka vybrané SharePoint site collection.<br></li><li>Site settings > Site information > View all site settings > Manage site features.<br></li><li>Aktivování prvku „Spaces" (Preview).<br></li> <img src="/Blog/PublishingImages/Stranky/SharePoint_Spaces/Picture%20a.png" alt="Picture a.png" data-themekey="#" /> <li>Návrat na domovskou stránku site collection, na které byl prvek aktivován > rozevírací nabídka „new" nově obsahuje o možnost navíc „Space (Preview)<br><img src="/Blog/PublishingImages/Stranky/SharePoint_Spaces/Picture%20b.png" alt="Picture b.png" data-themekey="#" /> <br></li><li>Po kliknutí na možnost dojde k vytvoření nové „Site Page" dle zvoleného názvu.<br></li><li>Nově vytvořená Site Page je uložena v Sitepages library.<img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image007.png" data-themekey="#" alt="" style="margin:5px;" /><img src="/Blog/PublishingImages/Stranky/SharePoint_Spaces/Picture%20c.png" alt="Picture c.png" data-themekey="#" /></li><li>Přidávání obsahu do vytvořeného SharePoint Spaces je poté obdobné jako u editace běžné "site".<br></li><li>Při přepnutí "site" do editačního modu se objeví tlačítko „+", prostřednictvím kterého je možné přidat do nově vytvořeného prostoru následující webparty.<img src="/Blog/PublishingImages/Stranky/SharePoint_Spaces/Picture%20d.png" data-themekey="#" alt="" /><img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image008.png" data-themekey="#" alt="" style="margin:5px;" /></li></ol><h2>První krok směrem k budoucnosti</h2><p>Vzhledem k <a href="https://appinventiv.com/blog/ar-vr-trends/" target="_blank">aktuálním trendům</a> se dá předpokládat, že rozšířená a virtuální realita budou čím dál více nedílnou součástí našich životů. Není proto překvapením, že i technologie pro firemní komunikaci se snaží držet krok. Držme intranetům palce v budoucím vývoji.<br></p><p> <em>Šimon Petrůj</em><br></p><p> <br> </p>odborné;#
Darování krve: nijak to nebolí a můžeš tím zachránit životyhttps://www.create-it.cz/Blog/Stranky/daruj-krev.aspxDarování krve: nijak to nebolí a můžeš tím zachránit životy<p>Že se neustále vyvíjíme a posouváme ve většině směrů dál, je jasné. Stejně jako fakt, že si většinu věcí umíme vyrobit, napodobit, naprogramovat, zkrátka umíme si život ulehčit. Minimálně jednu věc ale uměle vytvořit neumíme – naši základní tekutinu, krev. Není přitom nic složitého najít ochotu a jít si nechat "pustit žilou", a tím třeba i zachránit hned několik dalších lidských životů.<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/daruj-krev/krev-1.jpg" alt="superhrdinka" style="width:400px;height:477px;" /> </p><p> </p><p>Z dlouhodobých výzkumů vyplývá, že počet dárců neustále klesá. Přitom každý člověk potřebuje za svůj život v průměru 5x krevní transfuzi a 14x lék vyrobený z krve. Každým odběrem mohou být zachráněny až 4 lidské životy, ale v České republice chybí minimálně 100 000 aktivních dárců. Přečtěte si níže pár faktů a zvažte prosím, zda byste se nechtěli také přidat k dárcům. Je to jen pár mililitrů a bude z vás (super)hrdina.</p><h2>Kdo může darovat?</h2><p>Každý zdravý člověk ve věku 18 – 65 let, pokud:</p><p></p><ol><li>váží více než 50 kg,</li><li>dlouhodobě zde žije (alespoň 1 rok, nemusí být občan ČR) a dorozumí se česky,</li><li>má v ČR platné zdravotní pojištění,</li><li>není chronicky nemocný (cukrovka, těžká forma alergie, epilepsie, celiakie) a neprodělal žloutenku typu B nebo C, neužíval dlouhodobě drogy, nebyl závislý na alkoholu, nestýká se s lidmi se zvýšeným rizikem nákazy HIV.</li></ol><p></p><h2>Jak to probíhá?</h2><p>Jelikož jsem pravidelnou dárkyní, napíšu vám, jak probíhá každý odběr:</p><p></p><ol><li> <b>Evidence</b> – sestřičky zkontrolují mé doklady, uloží případné změny, u prvodárců založí novou kartu;<br></li><li> <b>Kontrola krevního obrazu</b> – v laboratoři proběhne „malý odběr", to je zkumavka krve, u které se dělá kontrola krevního obrazu, zkrátka jestli ten daný den jsem já a moje krev v dobré kondici k darování;<br></li><li> <b>Dotazník</b> – pokaždé vyplňuji dotazník pro dárce krve, který je zaměřený na otázky týkající se aktuálního zdravotního stavu, absolvovaných zahraničních cest, lékařských zákroků či užívaných léků;<br></li><li> <b>Vyšetření u lékaře</b> – lékař zkontroluje výsledky z kontroly krevního obrazu, změří mi tlak a pročte výsledky dotazníku;<br></li><li> <b>Odběr krve</b> – pokud je vše v pořádku, jdu na „velký odběr", při kterém se odebírá 450 ml a trvá cca 5-10 minut, od sestry vždy dostanu vodu a mačkací balónek;<br></li><li> <b>Odpočinek a svačina </b>po odběru krve – po odevzdání karty dárce přichází ta nejoblíbenější část, většina transfuzních stanic nabízí dárcům svačinu po darování krve (některé dávají stravenky), já si vždy vybírám z několika variant svačin – sladká, slaná nebo jogurt.<br></li></ol><div><div style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/daruj-krev/krev-9275.jpg" alt="krev-9275.jpg" style="margin:5px;width:400px;" /> </div> </div><p></p><p>Večer před odběrem nejím tučná jídla a v den po odběru piji hodně tekutin a dodržuji klidový režim.</p><h2>Jaká je aktuální situace?</h2><p>Pro tento článek jsem napsala do několika pražských transfúzních stanic, abych zjistila jejich aktuální stavy. Výsledkem mého malého bádání je, že během koronavirové krize se většina dárců zdráhala přijít, a už tak malé řady aktivních dárců ještě prořídly. Navíc starší dárci odcházejí a mladí nenachází motivaci k novému dárcovství. Krve je ale potřeba stále stejně, proto má většina mnou dotázaných transfúzních stanic nedostatek krevních zásob.</p><p>Nejvíce žádané jsou krevní skupiny 0 (pozitivní i negativní) a A, ale ani „béčkaře" transfúzky neodmítnou. <br></p><p> <img src="/Blog/PublishingImages/Stranky/daruj-krev/krev-1687.jpg" alt="sestricky" /> <br> </p><h4 style="text-align:center;">Sestřičky na transfúzní stanici v Thomayerově nemocnici jsou prima <br></h4><h2>Aplikace Daruju krev<br></h2><p>Podporu dárcovství krve si vzal do svých rukou mladý středoškolák David, který vymyslel a naprogramoval mobilní aplikaci Daruju krev. Jeho cílem je kromě motivace nových i stávajících dárců také vytvořit přehled o aktuálních stavech transfúzních stanic. Celá appka je teprve na počátku, ale věřím, že celý tento projekt má smysl. Krátký rozhovor s Davidem naleznete <a href="https://video.aktualne.cz/dvtv/stredoskolak-vymyslel-aplikaci-ktera-laka-darce-krve-udela-z/r~7efcb7d8443211ea9ec9ac1f6b220ee8/" target="_blank">zde</a> a další informace o appce <a href="https://darujukrev.cz/" target="_blank">tady</a>.<br></p><p>Krom dobrého pocitu, že jste udělali něco pro druhé, dne volna, odečtu z daní a čestných medailí z vás těchto 450 ml krve a zhruba hodina času udělá, jak říká David, superhrdinu. Budete hrdiny pro ostatní a zároveň z toho můžete mít super pocit i sami.<br></p><p>Děkuji vám všem, kteří krev darovat začnete, a také vám, kteří už krev darujete.</p><p>A jedna poznámka na závěr: V Thomayerově nemocnici dávají za odběr fakt skvělou snídani. <br></p><p> <em>Kateřina Mazánková</em><br></p><p> <em><br></em></p><p>PS: A pokud uvidíte po odběru stádo muflonů, je to v pořádku, žádné halucinace.<br></p><p> <img src="/Blog/PublishingImages/Stranky/daruj-krev/krev-8358.jpg" alt="mufloni v Krči" /> <br> </p>odborné;#
Jak vytvořit jednoduchý ovladač 3D postavy v Unityhttps://www.create-it.cz/Blog/Stranky/unity3D2.aspxJak vytvořit jednoduchý ovladač 3D postavy v Unity<p>Minule jsme si ukázali, jak se animuje 3D model v Unity engine. V tomto díle se podíváme na ovládání stejného modelu z pohledu třetí osoby, ať už na klávesnici nebo gamepadu.<br></p><p>Scéna je založena na té z minulého dílu, který doporučuji alespoň přečíst, protože do této scény je potřeba naimportovat animace pro chůzi a stání. Dnes budeme tvořit tuto scénu s několik herními objekty a kamerou přes rameno:<img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image001.gif" alt="" style="margin:5px;" /></p><p> <img src="/Blog/PublishingImages/Stranky/unity3D2/result.gif" alt="result.gif" /> <br> </p><p>Nejprve umístím kameru "přes rameno" objektu postavy a zároveň mu ji přiřadím jako <em>dětský (child)</em><em>  </em>objekt.</p><p> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%202.png" alt="" /><br></p><p>Dále vytvořím složku pro skripty a vytvořím v ní skript <em>PlayerController</em>, ve kterém bude veškerá logika ovládání postavy. Kód níže používá vestavěné funkce Unity pro práci se vstupem. Načítám zde horizontální a vertikální osu pohybu - tedy v případě ovládání klávesnicí směrové klávesy (W,A,S,D a šipky) a v případě gamepadu jsou to joysticky. Potom provádím výpočty vektorů pohybu a předávám <em>characterControlleru.</em></p><div style="text-align:center;"> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image007.jpg" alt="" style="width:690px;margin:5px;" /> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%203.png" alt="Picture 3.png" style="margin:5px;width:350px;" /> </div><p>Objektu hráče přidám novou komponentu <em>Character Controller, </em>která se používá pro navigaci hráčovy postavy 3D světem hry. Upravím kolizní hranice, aby co nejpřesněji seděly na model - v tomto případě tvoří hranici kapsle.<br></p> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image009.jpg" alt="" style="width:690px;margin:5px;" /> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%204.png" alt="Picture 4.png" style="margin:5px;width:650px;" /> <p>Jako další věc přiřadím skript <em>PlayerController</em> herními objektu <em>Player </em>a přidám k němu právě vytvořený <em>CharacterController </em>(vše je na sebe napojeno v kódu výše).</p><div style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%205.png" alt="Picture 5.png" style="margin:5px;width:450px;" /> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image013.jpg" alt="" style="width:690px;margin:5px;" /> <br> </div><div style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%206.png" alt="unity" /> <br> </div><p>Do scény přidám ještě pár objektů, aby vypadala trochu zajímavěji a bylo snadnější se v ní orientovat. Všechny modely jsou z bezplatného Polygon balíku použitého také v minulém díle.</p><div style="text-align:center;"> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image015.jpg" alt="" style="width:690px;margin:5px;" /> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%207.png" alt="Picture 7.png" style="margin:5px;width:450px;height:271px;" /> </div><p>Po spuštění vypadá scéna následovně.</p> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image016.gif" alt="" style="width:690px;margin:5px;" /> <img src="/Blog/PublishingImages/Stranky/unity3D2/1%20cACm-Dcgnc7GHTZl8kkx6A.gif" alt="" /> <p>Hráč se může pohybovat, ale nejsou zde žádné animace, možnost rozhlížení se a rotace těla. Není nastavena gravitace, proto zůstane hráč levitovat ve stejné výšce ve vzduchu, když vyjde po schodech.<br></p> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%2010.png" alt="Picture 10.png" style="margin:5px;width:650px;" /> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image018.jpg" alt="" style="width:690px;margin:5px;" /> <h4 style="text-align:center;">Gravitace<br></h4><p> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%2011.png" alt="Picture 11.png" style="margin:5px;width:650px;" /><br></p><h4 style="text-align:center;">Kamera<br></h4><p> <br> </p><p>Hlavní kameru (která je v objektu <em>Player</em>) přiřadím do <em>PlayerController </em>skriptu.</p> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%2012.png" alt="Picture 12.png" style="margin:5px;width:400px;height:179px;" /> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image022.jpg" alt="" style="width:690px;margin:5px;" /> <p> </p><p>Posledním krokem jsou animace. Animation Controller z minulého dílu měl pouze jednu animaci, <em>breakdance</em>. Z webu mixamo.com stahuji animaci pro <em>chůzi</em> a <em>idle </em>a propojím je přechody (pro návod na import animací viz předchozí díl).</p> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%2013.png" alt="" /> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image024.jpg" alt="" style="width:690px;margin:5px;" /> <p>Do Animation Controlleru pak už jen přidám boolean proměnnou isWalking (přes + tlačítko, new Bool).<br></p><div style="text-align:center;"> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image026.jpg" alt="" style="width:690px;margin:5px;" /> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%2014.png" alt="" style="width:400px;" /> </div><p>Nastavím podmínky kliknutím na přechod a úpravou v pravém panelu:</p> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%2015.png" alt="" /> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image028.jpg" alt="" style="width:690px;margin:5px;" /> <p>A vše zavolám v kódu (do <em>isWalking</em> se zasílá stav chůze, buď se pohybuje, nebo ne):<br></p><p> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%2016.png" alt="Picture 16.png" style="margin:5px;width:650px;" /> <br> </p><p>Nakonec přiřadím Animator do vytvořené animator proměnné a vše spustím.<br></p><p> <img src="/Blog/PublishingImages/Stranky/unity3D2/Picture%2017.png" alt="" /> <br> </p><div> <img src="/Blog/PublishingImages/Stranky/unity3D2/result.gif" alt="" /> <br> </div>Kód ovladače je k dispozici na mém <a href="https://github.com/janjilecek/unity_tutorial/blob/master/Assets/Scripts/PlayerController.cs" style="text-align:justify;">githubu</a><span style="text-align:justify;">. Výsledná scéna má pouze dva stavy, stání a chůzi vpřed. Pro složitější animace je nutné použít více proměnných a podmínek, to je však nad rámec tohoto článku. Pokud rádi experimentujete, můžete zkusit změnit pohled z třetí osoby na pohled první osoby (FPS) připnutím kamery k hlavě postavy.</span> <p>V příštím díle dáme scéně šťávu a ukážeme si, jak přidat několik nepřátel a zbraně, aby se mohl hráč bránit.<br></p><p><i>Jan Jileček<br></i></p><p> </p><p> </p><p> </p><p> <br> </p>odborné;#
Základy tvorby 3D animované scény v Unityhttps://www.create-it.cz/Blog/Stranky/unity3D.aspxZáklady tvorby 3D animované scény v Unity<p>Podařilo se vám minule napsat <a href="/Blog/Stranky/hra-v-pythonu.aspx" target="_blank">hru v Pythonu </a>a chcete si vyzkoušet regulérní herní vývoj? Dnes vám ukážu, jak si lze snadno vytvořit 3D animovanou scénu v <a href="https://unity.com/" target="_blank">Unity</a> engine (ke stažení <a href="https://store.unity.com/download-nuo" target="_blank">zde</a>). Ten se hlavně používá právě pro herní vývoj (hry jako Inside, Cuphead nebo Hollow Knight jsou právě z Unity), ale běžně s ním pracují i filmová studia pro vytváření <a href="https://en.wikipedia.org/wiki/Computer-generated_imagery" target="_blank">CGI</a> scén a samozřejmě tak vznikají i animované filmy. Animace udělají pro pocit ze hry hodně, jelikož oživují herní objekty a umožňují tak hráči se lépe vžít do hry. <br></p><p> Pojďme se tedy podívat, jak pomocí bezplatných nástrojů a modelů v Unity vytvořit jednoduchou scénu: </p><p> <img src="/Blog/PublishingImages/Stranky/unity3D/unity3D.gif" alt="unity3D.gif" /> <br> </p><p> Nejprve v Unity založím nový 3D projekt. </p><p> <img src="/Blog/PublishingImages/Stranky/unity3D/nejprve3D.png" alt="nejprve3D.png" /> <br> </p><p> Unity má v klasickém rozložení okno pro manipulaci s 3D scénou nalevo a pohled herní kamery na scénu vpravo. V levém panelu je seznam všech herních objektů a v tom úplně napravo se provádí nastavení vybraných objektů a entit. Panel dole pak obsahuje importované zdroje, jako modely, animace, zvuky, atp. </p><p> <img src="/Blog/PublishingImages/Stranky/unity3D/panelobsahuje.png" alt="panelobsahuje.png" /> <br> </p><p> Vytvořím tedy první 3D objekt, tzv. “Plane”, přes menu <i>GameObject - 3D Object - Plane</i>. Ten poslouží jako “podlaha” pro 3D model postavy, aby nepadala nekonečným herním prostorem. Unity má klasické manipulační nástroje s 3D scénou - posun, rotace a škála. </p><p> <img src="/Blog/PublishingImages/Stranky/unity3D/manipulacninastroje.png" alt="manipulacninastroje.png" /> <br> </p><p> Nyní potřebuji 3D model postavy. Použiju bezplatný balík <a href="https://assetstore.unity.com/packages/3d/props/polygon-starter-pack-156819" target="_blank">Polygon starter</a>, který obsahuje základní modely a prostředí. Do Unity ho pak stačí naimportovat přes <i>Package Managera</i> (všechny balíky přidané přes webové rozhraní <i>Unity Asset store </i>se synchronizují přes uživatelský účet přímo do Unity engine). </p><p> <img src="/Blog/PublishingImages/Stranky/unity3D/synchronizace.png" alt="synchronizace.png" /> <br> </p><p> Po importu vytvořím nový prázdný model, který bude sloužit jako “rodič” animovaného 3D modelu (opět přes menu, <i>GameObject - Create Empty</i>). Objekt se vloží na souřadnice (0,0,0), tzn. přímo do středu podlahy <i>Plane</i>. Objekt ještě pro přehlednost přejmenuji na <i>Player</i>. V okně prohlížeče zdrojů najdu herní model postavy z balíku Polygon Starter, vybírám tu s názvem <i>SM_Character_Male_01</i>. </p><p> <img src="/Blog/PublishingImages/Stranky/unity3D/sm_character.png" alt="sm_character.png" /> <br> </p><p> Model přetáhnu do levého okna objektů na předtím vytvořený objekt <i>Player</i> - zobrazí se i ve scéně. </p><p> <img src="/Blog/PublishingImages/Stranky/unity3D/player.png" alt="player.png" /> <br> </p><p> Chybí nám už jen přidat animaci. Ručně animovat model by zabralo hodiny, využiji proto webu <a href="http://mixamo.com/" target="_blank">mixamo.com</a>, kde stahuji <a href="https://www.mixamo.com/#/?page=1&query=breakdance" target="_blank">breakdance animaci</a>. Zdarma tam poskytují rozličné herní animace, pro chůzi, běh, smrt hráče atp. <br></p><p> Animaci naimportuji do Unity (v prohlížeči projektu dole, <i>pravý klik - </i><i>Import New Asset</i>) a stejně tak vytvořím <i>Animator Controller,</i> pro ovládání animace (<i>pravý klik - create - animator controller</i>). Po importu animaci vyberu a změním její parametry, aby s ní bylo možné manipulovat. Její typ nastavuji na Humanoid a ukládám přes <i>Apply</i>. Také měním její jméno na <i>breakdance</i> na záložce <i>Animation</i>. </p><p> <img src="/Blog/PublishingImages/Stranky/unity3D/breakdance.png" alt="breakdance.png" /> <br> </p><p> Pak vyberu vytvořený <i>Animator Controller</i>, a do nově zobrazeného okna <i>Animator</i> přetáhnu animaci <i>breakdance</i>. Automaticky se napojí na vstupní stav <i>Entry</i>. </p><p> <img src="/Blog/PublishingImages/Stranky/unity3D/entry.png" alt="entry.png" /> <br> </p><p> Teď už jen stačí přiřadit tento <i>Animator Controller</i> modelu postavy a animace se spustí! </p><p> <img src="/Blog/PublishingImages/Stranky/unity3D/animacespusti.png" alt="animacespusti.png" /> <br> </p><p> Animace tvoří velkou část hry, takže je dobré si s nimi dát tu práci pro co nejautentičtější pocit při hraní. Jak jsme si ukázali, tak napojení animací na herní modely je vcelku jednoduché, a s online databázemi jako je Mixamo si člověk vystačí i při tvorbě rozsáhlejší hry. Pro specifičtější potřeby už bude samozřejmě nutné vytvořit si animace vlastní, v praxi se humanoidní animace dělají pomocí motion capture, jelikož modelovat je manuálně je velmi časově náročné a nepřesnosti mohou narušit “game feel”.</p><p> V příštím díle tohoto miniseriálu o Unity se můžete těšit na základy ovládání pohybu a to pomocí C# Unity skriptů. </p><p> <i>Jan Jileček</i></p> <br> <br>odborné;#hobby;#vzdělávání;#
Udělejte s námi další krok k digitální identitěhttps://www.create-it.cz/Blog/Stranky/digitalni-identita.aspxUdělejte s námi další krok k digitální identitě<p>Většina byznysu se ještě na začátku letošního jara odehrávala fyzicky. Obchodník na schůzkách a prezentacích přesvědčil zákazníka, že on má pro něj ten nejlepší produkt, a ten pak firma dodala. Elektronická komunikace si hledala svoje místo, vzdálená práce byla spíš výjimkou. </p><p> To všechno se jako lusknutím prstu změnilo s příchodem neviditelného viru. Komunikujeme on-line, kdo může, prodává on-line, do on-linu jsme se jednoduše přestěhovali. A bylo to překvapivě výrazně snazší než stěhovat fyzické kanceláře. Různé ekonomické analýzy ukazují, že právě díky naší relativní vyspělosti v digitálním světě překonáme současnou krizi mnohem snáze. A velká část byznysu pravděpodobně on-line i zůstane. </p><p> V Cleverlance tuto situaci velice dobře chápeme, však ji, jako všichni, zažíváme na vlastní kůži. Zároveň přemýšlíme, jak být v novém světě ještě produktivnější. Jak pomoci každému z nás snadněji vyřídit běžné denní agendy od nákupu zboží, podepisování smluv a možná jednou až po možnost elektronicky volit. Potřebujeme zejména dosavadní fyzickou identitu co nejlépe přestěhovat do digitálního prostoru. V důsledku tak pomůžeme naší zemi k ekonomickému růstu (odhaduje se, že například jednomu z tahounů elektronické identity Estonsku se podařilo díky jejímu zavedení zvýšit roční HDP o 2%). Inspirací jsou pro nás ti nejpokročilejší v této oblasti - v současnosti skandinávské a pobaltské státy. </p><p> Pro spolehlivou digitální agendu ve všech oblastech občanského i obchodního života je stěžejní jednoznačně identifikovat osobu, která ji provádí. A to už mají nějakou dobu velmi dobře zvládnuté banky. Proto jedním z uživatelsky nejbližších a nejpřívětivějších způsobů, jak přenést jednoduchost, rychlost a důvěru fyzického kontaktu a prokazování do digitálního světa, je využití bankovní identity. Jednoduše přihlásit se do svého internetového bankovnictví a jeho prostřednictvím vykonávat úkony, které jsou momentálně omezeny buď na fyzické dokládání vaší identity nebo na technicky složitější ověřování on-line (další certifikáty, fyzické čtečky atd.). Často už bez hesla, jen prostřednictvím elektronického klíče, se přihlásíte do internetového bankovnictví. Pak budete moci přistupovat k řadě dalších služeb, do kterých musíte v současné době hledat svoje přístupové údaje. </p><p> Jinými slovy - když on-line posíláme peníze za nově nabytou nemovitost a banka umí zajistit, že u mobilního či internetového bankovnictví sedí skutečně osoba oprávněná manipulovat s těmito penězi, proč by rovnou nešlo s touto identifikací požádat o připojení plynu, elektřiny, nemovitost si pojistit, přihlásit si auto, změnit trvalé bydliště a rovnou to všem oznámit (včetně státních orgánů a zdravotní pojišťovny) či se dokonce zúčastnit voleb? A to všechno během několika minut z židle na které právě sedíte (nebo z mobilního telefonu v tramvaji). </p><p> Podařilo se nám najít způsob, jak našim zákazníkům cestu do tohoto světa usnadnit. Řada společností z bankovního i nebankovního světa v současné době hledá technické řešení, které jim umožní se připojit k již rozběhnutému projektu bankovní identity. Jedna z nutných podmínek využívání bankovní identity je integrace interních systémů našich zákazníků na Základní registry (ZR), Národní bod pro Identifikaci a Autorizaci (NIA), případně další poskytovatele registrů. Integrací naši zákazníci získají jedinečnou možnost vyčistit klientská data, splnit řadu regulatorních požadavků (AML/KYC) a být technologicky připraveni na očekávané legislativní schválení využívání bankovní identity tak, jak jsme nastínili výše. Toto řešení nasazujeme v řádu týdnů a cestu do plnohodnotného on-line světa tím dokážeme výrazně zjednodušit, zrychlit a zpříjemnit všem uživatelům. My jsme na budoucnost připraveni, jste i vy? </p><p> <i>Michal Šejnoha</i> </p><br>odborné;#projekty;#
Co nás ne/překvapilo na práci z domovahttps://www.create-it.cz/Blog/Stranky/homeoffice.aspxCo nás ne/překvapilo na práci z domova<p>Různých článků na téma jak nejlépe zvládat Home Office je na internetu spousta a asi pro vás nemáme žádný neotřelý tip, který jste nečetli jinde. Aneb jak říká náš grafik a webmaster Vítek, který pracuje z domova už 14 let, a tak se dá spolehnout na to, že o tom něco ví: základ je mít pevný režim a rozvrh. A to píší všude. Zajímalo nás ale, jak vnímají přesun na Home Office naši kolegové, a proto jsme si udělali malý průzkum, kterého se zúčastnilo 15 z nich. </p><p> Abyste rozuměli, v Cleverlance za normálního provozu pracují někteří z nás přímo na našich pobočkách, jiní jsou v kancelářích u klienta, část z nás za určitých podmínek funguje na Home Office, ale opravdu málokdo pracuje z domova stále. Takže v této formě je to pro nás jako pro firmu velká novinka. </p><h2> Vše funguje </h2><p> Můžete mít nastotisíckrát vše nastaveno a otestováno, ale teprve ostrý provoz ukáže, zda to skutečně běží, jak má. Kolegové si to uvědomují, a tak na otázku, co je příjemně překvapilo, nejčastěji odpovídali právě pochvalováním si, jak i na dálku fungujeme. Týmy jedou jako po másle, IT vše briskně zvládá a práce na projektech může pokračovat i na dálku. I zákazníci práci kompletně na dálku akceptovali a dokázali se rychle adaptovat - což je pro nás velmi důležité a opravdu to oceňujeme. Zajímavé je, že si to chválí nejen manažeři, ale i řadoví zaměstnanci. </p> <img alt="Home Office v Cleverlance" src="/Blog/PublishingImages/Stranky/homeoffice/HO4.jpg" /> <br> <h2> Dojíždění </h2><p> Někteří kolegové si až teď naplno uvědomili, kolik času stráví dojížděním. Většina se ho ráda zbavila. Ale jiní kolegové paradoxně na dojíždění vzpomínají s láskou. Některým chybí cesta do a z práce na kole, dalším se stýská po čase na čtení. Možná namítnete, že toho teď přeci mohou mít habaděj, ale kdo je teď doma s dětmi, ví své. No a samozřejmě pokud vaše cesta do práce vede třeba údolím Berounky, může vám chybět i sama o sobě. </p><h2> Čas s rodinou </h2><p> Snad nikdy v životě české děti netrávily tolik času se svými rodiči. A děti svých kolegů jsme dříve poznali jen při firemních rodinných akcích, ať už to bylo na prolézačkách v Mirákulu, při Beat Saber cupu nebo nad programováním ve Scratchi, zato nyní je známe jako vtipné vsuvky do různých videorozhovorů, v některých týmech patří k bontonu jít zamávat kolegům a kolegyním rodičů při každém standupu apod. </p> <table width="100%" class="ms-rteTable-default" cellspacing="0" style="border:hidden;text-align:center;"><tbody><tr><td class="ms-rteTable-default" style="width:50%;">​<a href="https://www.youtube.com/watch?v=Mh4f9AYRCZY" target="_blank"><img alt="on.jpg" src="/Blog/PublishingImages/Stranky/homeoffice/on.jpg" style="margin:5px;width:300px;height:180px;" /></a><br></td><td class="ms-rteTable-default" style="width:50%;">​<a href="https://www.youtube.com/watch?v=-Ojvk-4IcOE" target="_blank"><img alt="ona.jpg" src="/Blog/PublishingImages/Stranky/homeoffice/ona.jpg" style="margin:5px;width:300px;height:180px;" /></a><br></td></tr></tbody></table><h4 style="text-align:center;">A jak vypadá home office s dětmi u vás?<br></h4><p> Pro některé kolegy je provizorní kancelář mezi dětskou kuchyní a sbírkou Hot-Wheels spíš stresující, jiní si doma zavedli pravidla a dokáží koordinovat práci obou rodičů i vzdělávání dětí úplně v pohodě. Důležité je, když všichni vědí, co mají dělat. Sluchátka na uších například znamenají "nerušit". </p><h2> Stýská se nám </h2><p> S výjimkou několika málo ostřílených Home Office veteránů se ode všech kolegů ozývá, že se jim stýská po ostatních z týmu. Po společných obědech. Po deskovkách po práci. Po sdílení know-how v open space. Po společné ranní kávě. </p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/homeoffice/homeoffice-.jpg" alt="" style="margin:5px;width:450px;" /> </p><p></p><p></p><h4 style="text-align:center;">Zuzce se stýská tak moc, že si svou kancelář doma vizualizovala. <br></h4><p> Zkrátka analyzovat, programovat, testovat i to celé řídit umíme z domova na jedničku. Ale socializovat se přes videokonference nás prostě neuspokojuje. Ovšem snažíme se - vedle pravidelných projektových schůzek se vyrojila řada dobrovolných audio- či video-konferenčních káviček, snídaní apod. </p><h2> Nové nástroje </h2><p> Nebyli bychom správná IT firma, kdybychom usilovně netestovali nové a potenciálně lepší nástroje pro práci na dálku. Skype a e-mail jsou sice základ, ale různé týmy objevují další kooperativní nástroje, protože jejich potřeby se projekt od projektu liší. Zoom, Slack a Teams patří k nejčastěji zmiňovaným. </p><h2> Umět přestat </h2><p> Důležitost pravidelného režimu, jak už bylo řečeno na začátku, objevujeme všichni. Většina lidí tím podporuje svou produktivitu, neméně důležité je ale i říct si, že máme padla. Protože od některých kolegů zaznívá, že z domova pracují mnohem více než dříve. </p><h2> S / V / N / K </h2><p> Tohle jsou zkratky našich hodnot a i když tu nepublikujeme celý text průzkumu (to by vás nebavilo, vyšlo to na 11 stránek), z výsledných odpovědí je znát, že ty hodnoty nejsou prázdná slova. Zkrátka umíme spolupracovat i ve ztížených podmínkách, vidíme výsledky, máme různé nápady, jak se s tou situací vypořádat a nezapomínáme spolu komunikovat! </p><p><br></p><p><em>Veronika Jandová</em><br></p>odborné;#