Create IT Blog - co se děje v Cleverlance

 

 

20 let evoluce druhůhttps://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é;#
Testing Clever Academyhttps://create-it.cz/Blog/Stranky/testing-akademie-2020.aspxTesting Clever Academy<p style="display:none;">​​​​​​​​​​​​Vstup s námi do světa IT a pojď se naučit testovat software!​ Naši průvodci tě provedou cestami a stezkami až na tvou pomyslnou K2 – získáš svou příležitost v jiném oboru, ve kterém zúročíš své analytické a kritické myšlení.</p> ​<div class="ms-rtestate-read ms-rte-wpbox" unselectable="on"><div class="ms-rtestate-notify ms-rtestate-read 7011e392-79f3-4920-88bc-448b0e5808ac" id="div_7011e392-79f3-4920-88bc-448b0e5808ac" unselectable="on"></div><div id="vid_7011e392-79f3-4920-88bc-448b0e5808ac" unselectable="on" style="display:none;"></div></div><p>​​<br><br></p>vzdělávání;#
Unity 3D: obrana proti hordám nepřátel a částicové efektyhttps://create-it.cz/Blog/Stranky/unity3D5.aspxUnity 3D: obrana proti hordám nepřátel a částicové efekty<p>V této části Unity tutoriálu si ukážeme, jak se lze bránit proti hordám nepřátel pomocí telekineze, kterou jsme si naprogramovali <a href="/Blog/Stranky/telekineze.aspx">minule</a>, a vyzkoušíme si částicové efekty.<br></p><p> <img src="/Blog/PublishingImages/Stranky/unity3D5/unity_obrana.gif" alt="unity obrana" data-themekey="#" /> <br> </p><p>Nejprve musíme přidat kolizní box na nepřátelský model, abychom mohli detekovat kolize s hozenou kostkou. Na prefab "Enemy" tedy přidáme Capsule Collider a nastavíme ho jako Trigger (<em>Is Trigger</em>). To zajistí, že hráč ani hozený projektil nebude používat fyziku při kolizi. Kolizní box tak bude sloužit čistě pro detekci nárazu. A jelikož ho vkládáme do tzv. prefabu, aplikuje se následně na všechny vygenerované nepřátele. <br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D5/2capsule.png" alt="capsule unity" data-themekey="#" style="width:400px;" /><br></p><p>Pro efekt "smrti" nepřítele vytvoříme nový <em>Particle Effect</em>. Parametry jsem nastavil přibližně tak, aby efekt evokoval výbuch krve v rámci low-poly grafiky. Na obrázku níže je přesné nastavení, particle efekty často vyžadují chvilku nastavování, než se přiblížíme ke kýženému výsledku. V tomto efektu jde hlavně o <em>Start Color</em> (nastavení barvy), <em>Emission </em>(ovládání generátoru), <em>Shape </em>(tvar vysílání částic) a <em>Collision </em>(nastavení fyzikální kolize s okolím). <br></p><p> <img src="/Blog/PublishingImages/Stranky/unity3D5/kolize.gif" alt="kolize" data-themekey="#" /><br></p><p>A nastavení generátoru:<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D5/4deathboom.png" alt="deathboom" data-themekey="#" style="margin:5px;width:400px;height:643px;" /> <br></p><p>Po jeho vytvoření ho opět přetáhneme do <em>Assets</em>, stejně jako předchozí objekty, aby se z něj také stal <em>prefab</em>. Bude ho pak možné hromadně generovat a dále používat bez nutnosti hledat objekt ve scéně.<br></p><p>Ve skriptu Enemy.cs, který jsme tvořili v předminulém dílu, vytvoříme novou proměnnou <em>deathSplash</em>, která bude držet referenci na <em>prefab</em> s výbuchem krve. Přidáme metodu <em>OnTriggerEnter</em>, která se používá pro detekci začátku kolize s jiným objektem. V moment kolize detekujeme, zda objekt, který s nepřítelem koliduje, má dostatečnou rychlost (tzn. zda hráč hodil krabici s dostatečnou silou, aby mohl "zranit" nepřítele). Pokud tomu tak je, zničíme objekt nepřítele a na jeho pozici vytvoříme instanci objektu <em>deathSplash</em>.</p><p> <img src="/Blog/PublishingImages/Stranky/unity3D5/5deathsplash.png" alt="5deathsplash.png" data-themekey="#" style="margin:5px;max-width:640px;" /></p>Teď už jen přiřadíme prefab s efektem výbuchu do proměnné deathSplash, spustíme, a je hotovo! <div> <br> <p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D5/6enemy.png" alt="6enemy.png" data-themekey="#" style="width:400px;" /><br></p><p> </p><p>Doufám, že jste si ničení nepřátel užili. Pro kompletní kód této části tutoriálu navštivte můj <a href="https://github.com/janjilecek/unity_tutorial/blob/d5e91e566c2ca574d6e2a90226fe4a0b16669516/Assets/Scripts/Enemy.cs" target="_blank">github</a>. V dalším díle vylepšíme grafiku hry.<br></p><p> <br> </p><p> <i>Jan Jileček</i><br></p><p> <br> </p></div>hobby;#vzdělávání;#
Telekineze pro začátečníkyhttps://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é;#
Není blok jako blokhttps://create-it.cz/Blog/Stranky/Rhodia.aspxNení blok jako blok<p>​Spousta lidí miluje nákupy v papírnictví. Už jen pro ten příslib rozvinutí kreativního potenciálu, který v nás dozajista dříme! A od našich školních let přibyla spousta vychytávek v podobě pastelek, fixů, inkoustů, psacích potřeb i papíru a bloků. Taky máte chuť je vyzkoušet a prozkoumat? Nestyďte se za to, nejste sami.<br></p><p> <img src="/Blog/PublishingImages/Stranky/Rhodia/rhodia3.jpg" alt="rhodia" /> <br> </p><p>Podvědomě tušíme, že kvalitní papír a vhodné pero mohou být ideálním inkubátorem odvážných a originálních myšlenek. Možná čisté stránky nového bloku tak nějak víc svádí k tomu, abychom je naplnili zajímavým obsahem? Od nového bloku si často slibujeme také lepší organizaci svého času, toku vlastních myšlenek, pracovních úkolů. A výzkumy ukazují, že psaní rukou umožňuje lepší ukládání informací do mozku než při psaní do počítače.</p><p>Jsou lidé, kteří na rukou psané záznamy nedají dopustit celý svůj život, jsou i tací, kteří se k tomuto analogovému způsobu zachycení všeho vracejí s touhou objevit něco nového. Ruku na srdce, my v IT vyhledáváme různé vychytávky a nikde není psáno, že musí být jen digitální!<br></p><p>Součástí balíčku k 20. narozeninám Cleverlance je proto také <a href="https://rhodiapads.com/collections_premium_goalbook.php" target="_blank">Goal Book</a> od firmy Rhodia. Proč jsme vybírali až ve Francii? Chtěli jsme kolegům dopřát něco speciálního, v Applu by řekli "víc než jen blok".<br></p><p>Když otevřete jeho kovově šedé měkké desky, přivítá vás jemný voňavý papír v krémové barvě. Patří k nejkvalitnějším na světě. Bude se vám na něj psát dobře tužkou, propiskou i plnícím perem.<br></p><p> <img src="/Blog/PublishingImages/Stranky/Rhodia/Rhodia1.jpg" alt="Rhodia" /> <br> </p><p>Místo standardních linek je potisknut sítí šedých teček. Ty mají velkou škálu využití. Pokud bude potřeba, tečkovaná síť Vás povede stejně jako čtverečkovaný papír. Ale budete-li chtít kreslit volně, šedé tečky Vás nebudou rušit. Můžete je zkrátka využít na psaní, tvorbu TO-DO listů, schémata, diagramy, náčrtky, kresbičky (aneb jak se jim dnes říká: <a href="https://www.wikihow.com/Doodle" target="_blank">Doodles</a>)... skoro cokoli.<br></p><p>Stránky jsou číslované, abyste si mohli přehledně zapsat, co kde máte zaznamenané - listy pro obsah najdete hned na začátku bloku. Následuje přehledný měsíční kalendář. Vše je připravené tak, abyste mohli s blokem pohodlně pracovat, ať už máte svůj systém, nebo využíváte metody <a href="https://bulletjournal.com/" target="_blank">Bullet Journal</a>. Orientaci v rozepsaném bloku usnadní dvě stuhové záložky. A pokud vám na schůzce někdo předá vizitku, nebo potřebujete schovat lístek s poznámkami, na zadní vnitřní straně desek je připravena praktická vnitřní kapsa přesně pro tento účel.</p><p>Je to zkrátka šikovný nástroj s nádechem luxusu. V rukách lidí z Cleverlance se jistě neztratí.<br></p><p> <img src="/Blog/PublishingImages/Stranky/Rhodia/rhodia2.jpg" alt="rhodia" /> <br> </p><p> <br> </p>hobby;#projekty;#
Slavíme 20 let Cleverlance!https://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://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://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://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://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é;#