Create IT Blog - co se děje v Cleverlance

 

 

SEO pro začátečníky: co to je a jak fungujehttps://www.create-it.cz/Blog/Stranky/SEO-pro-zacatecniky.aspxSEO pro začátečníky: co to je a jak funguje<p>​​Optimalizace pro vyhledávače zní jako strašidelné technické zaklínadlo, přitom nejde o žádnou raketovou vědu. Pokud pochopíte, jak internetové vyhledávače přemýšlí, máte z poloviny vyhráno. V oboru si navíc přijdou na své jak kreativci, tak analytici.<br></p><h2>Co je to ​​SEO?</h2><p>Anglická zkratka v sobě skrývá slova search engine optimization. Jedná se o soubor různých metod, které mají za cíl přivést na vaše webové stránky co největší množství relevantních návštěvníků z organického vyhledávání. Lidsky řečeno, snažíte se svému webu zajistit co nejlepší pozici v neplaceném vyhledávání.</p><p>Podívejte se např. na výsledky vyhledávání pro dotaz „samsung galaxy s20“. Nejprve nám Google nabízí čtyři placené odkazy (zdravím kolegy PPCčkaře), teprve pod nimi vidíme organické výsledky.  A právě ty jsou náš cíl.</p><p> <img src="/Blog/PublishingImages/Stranky/SEO-pro-zacatecniky/serp.png" alt="serp" data-themekey="#" style="max-width:690px;height:444px;" /> <br> </p><p style="text-align:right;"> <em>Stránka s výsledky vyhledávání, zkráceně SERP (search engine results page)</em></p><h2>Proč je SEO ​​důležité</h2><p>Vyhledávače na první stránku výsledků umisťují weby, které pro daný vyhledávací dotaz považují za vhodný a důvěryhodný zdroj informací. SEO nám takovou pozici pomáhá vybudovat. „Vybudovat“ píšu záměrně – stojí to čas a úsilí. Jde o dlouhodobou promyšlenou strategii, jejíž výsledky uvidíte nejdříve za několik měsíců. Jako spousta dobrých a kvalitních věcí to chce zkrátka trpělivost.</p><h2>5 důvodů, proč SEO věnovat pozorn​​ost</h2><p> <b>1. Organické vyhledávání je často největším zdrojem webové návštěvnosti</b></p><p>Většina návštěvníků webu přichází právě z výsledků vyhledávání. Tuto návštěvnost můžete dočasně podpořit PPC kampaní, obvykle ji ale nejde platit věčně. Budujte postupně svou organickou návštěvnost, abyste nebyli závislí na svých reklamách.</p><p> <b>2. Své značce budujete důvěryhodnost a autoritu</b></p><p>Umělá inteligence vyhledávačů posuzuje např. odkazový profil stránky (počet a kvalitu zpětných odkazů vašeho webu) nebo optimalizaci obsahu, dokáže si také ověřit správnost uvedených informací. Pokud budete na svých stránkách tvrdit, že Microsoft založil Steve Jobs, můžete urputně optimalizovat klíčová slova dnem i nocí, ale na první místa vyhledávání se zkrátka nedostanete.</p><p> <b>3. Dobré SEO znamená lepší uživatelskou zkušenost</b></p><p>Vyhledávače posuzují nejen obsah, ale i technickou stránku webu. Poznají, zda se na mobilech pomalu načítá, kolik času na ní uživatelé tráví anebo zda z ní ihned odcházejí. Cílem je nabídnout uživatelům stránky, na kterých se snadno zorientují a najdou informace, které hledají.</p><p> <b>4. Vycházíte vstříc zájmům svých zákazníků</b></p><p>SEO pracuje s pojmem search intent (záměr vyhledávání). Vyhledávač se snaží pochopit, co uživatel hledá, a nabídnout mu tak odpovídající výsledky. Lidem hledajícím dotaz „jak uvázat kravatu“ nenabídne e-shop, ale videonávod. Při zadání „pizza žižkov“ nebudou mezi výsledky recepty, ale mapa s žižkovskými provozovnami nabízejícími pizzu a s recenzemi návštěvníků. Přizpůsobte proto svůj obsah záměru svých zákazníků.</p><p> <b>5. SEO můžete měřit</b></p><p>Oproti PPC kampaním nemáte sice k dispozici jednoduché metriky jako třeba ROI, se správně nastavenými cíli ale můžete sledovat takřka cokoliv. Důležité je umět si spojit všechny střípky dohromady a zjistit, jak spolu souvisí. Mezi nejčastěji sledované metriky patří vývoj organické návštěvnosti v čase, bounce rate, pozice webu v organickém vyhledávání nebo počet indexovaných stránek.</p><p> <span style="color:#333333;font-family:farnham-web-medium, open-sans, sans-serif;font-size:1.46em;">Jak funguje vyhle​​​dávání?</span><br></p><p>Vyhledávač funguje jako knihovna. Sbírá informace, tvoří si z nich katalog a na požádání nabídne relevantní zdroje k danému tématu. Pravidelně vysílá své roboty (též boty nebo crawlery), aby stránky procházely a shromáždily informace o jejich obsahu. Informace o stránkách si ukládá (indexuje) a postupně si tak buduje svou znalostní bázi (index). Když zadáte do vyhledávání svůj dotaz, vyhledávač se ve svém indexu snaží najít pomocí algoritmu co nejrelevantnější odpověď.<br></p><p> <img src="/Blog/PublishingImages/Stranky/SEO-pro-zacatecniky/crawl%20bez%20textu.PNG" alt="crawl bez textu" data-themekey="#" style="max-width:690px;" /> <br> </p><p>Relevanci stránek vyhledávače posuzují na základě mnoha faktorů, jejichž seznam a popis vydá na samostatný článek. SEO faktory rozdělujeme na tzv. on-page a off-page.</p><p>Mezi on-page faktory patří vše, co jako autor webu můžete přímo ovlivnit. Patří sem veškerý obsah, jeho kvalita, zpracování nebo použití klíčových slov a nejčastěji vyhledávaných frází. Důležitá je také rychlost webu, struktura url adres a navigace, přizpůsobení webu pro mobilní vyhledávání a jeho přístupnost pro roboty.</p><p>Off-page faktory naopak zahrnují prvky, které nemáte plně pod kontrolou a ovlivňují je návštěvníci a další stránky. Typicky se jedná o počet a kvalitu zpětných odkazů nebo sdílení obsahu uživateli na sociálních sítích.</p><h2>Pro které weby má SEO s​mysl?</h2><p>Pro všechny, bez debat. Každý web nicméně potřebuje jiný přístup. E-shopy nebo srovnávače zboží nesmí opomíjet technickou stránku SEO, pravidelně kontrolovat indexaci a hlídat si např. správné fungování filtrace. Využijí např. možnost propisovat do výsledků vyhledávání cenu produktu, jeho dostupnost a hodnocení. Jinak se bude chovat zpravodajský portál, který je závislý na přístupnosti a rychlosti webu na mobilních zařízeních, a jinak zase blog o vaření, pro který je klíčový především líbivý obsah.</p><p>Osobně mě na SEO nejvíc baví jeho oborový přesah. Pro práci s obsahem čerpám ze svých zkušeností z copywritingu, v technickém SEO mi pomáhá znalost HTML a alespoň základní povědomí o Javascriptu. Díky SEO si postupně rozšiřuji znalosti o základy UX, psychologie, programování nebo business analýzy. V příštím článku vám představím 10 nejdůležitějších SEO faktorů a moc ráda se s vámi uvidím na některém z dalších školení.</p><p>​ <i>Kateřina Martínková</i><br></p><p> <i>úvodní foto: <a href="https://unsplash.com/%40merakist" target="_blank">Merakist​</a>, Unsplash<br></i></p><p> <br> </p>odborné;#vzdělávání;#
Jak jsme vstoupili do bratrstva medvědí tlapkyhttps://www.create-it.cz/Blog/Stranky/Teribear.aspxJak jsme vstoupili do bratrstva medvědí tlapky<p>​​​​​​​Znáte <a href="https://teribear.cz/">Teribear​</a>a? Tento červenobílý medvěd několik let za sebou v září rozhýbal Prahu. Letos se akce kvůli koronaviru konala "virtuálně", a tak se vlastně mohlo sportovat úplně všude. A i my v Cleverlance jsme se k této každoroční sportovně-charitativní akci na pomoc dětem pod záštitou <a href="https://www.nadaceterezymaxove.cz/">Nadace Terezy Maxové​</a> zapojili​. Zájem​ byl poměrně velký a kolegové se hlásili do poslední chvíle.<br></p><p>Každý účastník mohl v anketě na intranetu hlasovat o tom, jaký příběh sportem podpoříme. Hlasování bylo dlouho nerozhodné, nakonec jsme však společně vybrali a cílová částka poputuje na pomoc týraným dětem. ​<br></p><p>Rozhodnutí sportovat s Cleverlance pro Teribear ovlivnilo letos na více než tři týdny denní rutinu mnoha z nás. Od 10. 9. do 3. 10. jsme chodili a běhali,​ co nám síly stačily, abychom  na znevýhodněné děti přispěli co nejvyšší možnou částkou. Poctivě jsme logovali kilometry do Stravy, přes kterou se letos sportovalo, a protože akce nebyla limitovaná konkrétním místem, někteří chodili a běhali i za hranicemi. A mohli si užít třeba takovéto výhledy.<br></p><div style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/Teribear/Picture%201.png" data-themekey="#" alt="vyhledy" style="max-width:500px;" /> </div><h2>Co nás Teribea​​​r na​​​uč​​il?<br></h2><p>​Někteří z našich sportujících kolegů se s námi podělili o nové poznatky, které jim podzimní aktivita přinesla:​<br></p><p> <b>​​1) Chod​it pěšky ​​do p​​ráce​</b></p><p style="text-align:center;"> <b><img src="/Blog/PublishingImages/Stranky/Teribear/Picture%202.png" alt="tunel" data-themekey="#" style="max-width:500px;" /><br></b></p><p> <i>„Zjistil jsem, že to mám 5 km, což se dá zvládnout pod hodinu a člověk se tak úplně vyhne MHD. I po skončení Teribearu plánuji chodit pěšky. Mohu si tak užít více Prahy, a dokonce zažít i nevšední věci, jako třeba prázdný žižkovský tunel.“ </i></p><p> Jakub​<br><br></p><p> <b>2) ​Překonávat ne​​přízeň počasí</b></p><p>Že se nám někdy nechtělo a radši bychom zůstali doma v teple, zvlášť s ochlazením, které přinesl konec září, by mi asi potvrdil nejeden kolega, který se do akce zapojil. Odhodlání sportovat pro dobrou věc jsme ale neztráceli a nenechali se odradit ani počasím.<br></p><p> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image003.jpg" data-themekey="#" alt="" style="width:690px;margin:5px;" /> <i><img src="/Blog/PublishingImages/Stranky/Teribear/Picture%203.png" alt="Picture 3.png" data-themekey="#" style="max-width:690px;" /><br>„Teribear nám vyšel na naši běžeckou dovolenou v Chamonix s kamarády, kde jsme si užili pořádné kopce a trochu nečekaně i dost sněhu."</i><br></p><p> Romana<br><br></p><p> <b>3) ​​​Poradit​ si za každé situace</b></p><p style="text-align:center;"> <b><img src="/Blog/PublishingImages/Stranky/Teribear/Picture%204.png" alt="mapa" data-themekey="#" style="max-width:500px;" /><br></b></p><p> <i> „Počas Teribear som odcestovala z ČR na Slovensko a keďže už v tej dobe bola ČR kvôli covid-19 na Slovensku zaradená medzi rizikové krajiny, skončila som na čas v domácej izolácii. Ale, aby som teda nejak prispela k Teribear kontu, jeden podvečer som behala na našom dvore (plocha cca 10 x 3m), kde som nabehala 3 km. Aby sa mi netočila hlava, menila som smer behu po cca 500 m.“</i></p><p> ​Zuzana D.</p><p> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image004.png" data-themekey="#" alt="" style="width:690px;margin:5px;" /> </p><p> <b>4) ​​Stát se jedním z nich</b></p><p> <i> „Jak sem běhal kolem Lesné, tak tady běhalo víc lidí a jak mě míjeli, tak mě pořád zdravili. Tak sem je zdravil taky. Běžci se dost mezi sebou zdraví jsem vypozoroval.“</i></p><p>Patrik<br></p><p> <br> </p><p> <b>5) ​​Sportovat s radostí</b></p><p>A při těch mnoha kilometrech jsme se ani nezapomněli bavit.<br><img src="/Blog/PublishingImages/Stranky/Teribear/Picture%205.png" alt="lavicka" data-themekey="#" style="max-width:690px;" /><br></p><p>Aneb jak se dostat na obří lavičku, která má bezmála tři metry se sedadlem ve výšce téměř 1,5 metru?</p><p> <i>„Abych si tam sedla, museli mě vysadit. To byla sranda pro všechny.“</i></p><p>Zuzana P.<br></p><p> <br> </p><p> <b>6) ​​Přemýšlet jinak</b></p><p> <i>„O každém běhu jsem v rámci akce nepřemýšlela jako "dnes si dám 10 km", ale "dnes to dám za 100 Kč". A to mě bavilo.“</i></p><p>Petra<br></p><p> <br> </p><p> <b>7) ​​​Vše zaznamenávat aneb ani kilometr na zmar</b></p><p> <i>„Poctivě jsem se snažila chodit, pokud to šlo pěšky a zapínat si hodinky, aby bylo vše zaznamenané i vzdálenost menší než 1 km.“</i></p><p>Dana<br></p><p> <br> </p><p> <b>8) ​​​Spojit příjemné s užitečným</b></p><p> <i>„Mohla jsem se věnovat svému oblíbenému odlovu krabiček v rámci geocaching.com a ještě u toho sbírala kačky na charitu.“</i></p><p> Zuzana M.<br></p><p> <br> </p><p> <b>9) ​​​​Uvědomit si, že fyzická aktivita nemusí být zdaleka nejnáročnější </b></p><p> <i>"Člověk se totiž může snadno zapotit mnohem více při psaní článku než během sportování."</i></p><p>​​Michaela<br></p><p> <br> </p><h2>A nak​onec se pojďme ohlédnout za uplynulou​​ akcí v číslech:</h2><p>Akce trvala 24 dnů.</p><p>Přihlásilo se 35 z nás – 18 kolegyň a 17 kolegů.</p><p>Za Cleverlance jsme nasportovali 3 042 km.</p><p>Přispěli částkou 30 420 Kč.</p><p>A umístili jsme se na 44. místě z 663 týmů.</p><h4 style="text-align:center;"> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image006.png" data-themekey="#" alt="" style="width:690px;margin:5px;" /> <img src="/Blog/PublishingImages/Stranky/Teribear/Picture%206.png" alt="Picture 6.png" data-themekey="#" style="max-width:690px;" />​Rozpis výkonů jednotlivých kolegů​​​<br><br></h4><h2>Krásná​ práce!</h2><p>Děkujeme všem kolegům, kteří se do akce zapojili, překonávali sami sebe a sportem pomohli dětem, které to potřebují a zároveň udělali něco pro sebe.​​<br></p><p> <br> <br> </p><p> <br> </p>hobby;#
Vytvoř noční hororovou atmosféru v Unityhttps://www.create-it.cz/Blog/Stranky/Unity3Dzaver.aspxVytvoř noční hororovou atmosféru v Unity<p>​​​​​V poslední části tohoto Unity tutoriálu vylepšíme vzhled původní scény. Přidáme lepší modely, pohrajeme si s celkovou atmosférou a vytuníme “game feel".<br></p><p>​​V podstatě vytvoříme toto:<br></p><p> <img src="/Blog/PublishingImages/Stranky/unity3D6/horor_unity.gif" data-themekey="#" alt="unity horror" style="max-width:600px;" /> <br> </p><p>...z tohoto:<br></p><p> <img src="/Blog/PublishingImages/Stranky/unity3D6/original.png" data-themekey="#" alt="basic unity style" style="max-width:600px;" /> <br> </p><p>Nejprve změníme barevný prostor na Lineární přes <em>Edit | Project settings</em>. Barvy budou vypadat přirozeněji.<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D6/barvy.png" data-themekey="#" alt="barevny prostor v unity" style="max-width:500px;" />  </p><p></p><p>Objekt <em>Plane </em>odstraníme a nahradíme ho novým terénem. Ten přidáme jako nový 3D objekt.<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D6/3DSettings.png" data-themekey="#" alt="unity 3D settings" style="max-width:500px;" /> <br></p><h2>Tvorba terénu</h2><p>Vybereme objekt <em>Terrain</em> a přepneme se na kartu <em>Paint terrain</em>. Zvolíme možnost <em>Paint texture</em>.<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D6/painttexture.png" data-themekey="#" alt="unity paint texture" style="max-width:500px;" />  </p><p> ​ ​<span style="text-align:justify;">Vytvoříme novou vrstvu:</span> </p><p style="text-align:center;"> ​<img src="/Blog/PublishingImages/Stranky/unity3D6/layer.png" data-themekey="#" alt="unity new layer" style="max-width:400px;" /><br></p><p>Pro textury hlíny si stáhneme a importujeme balík <em>Outdoor Ground Textures</em> z <em>Asset store</em>.<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D6/importbaliku.png" data-themekey="#" alt="unity import textury" style="max-width:500px;" />  </p><p></p><p>Poté vybereme nově staženou texturu přes <em>Create layer</em> menu.<br></p><div style="text-align:center;"> ​ <img src="/Blog/PublishingImages/Stranky/unity3D6/7vybertextury.png" data-themekey="#" alt="create layer menu" style="max-width:500px;" /> ​<br><br></div><p>Do nové vrstvy také importujeme tzv. <em>normal map</em> - ta určuje, jak se bude na texturovaném povrchu zalamovat světlo, aby tvořilo iluzi plastického objektu (pro představu např. povrch cihlové zdi, co je 2D, ale zdá se 3D díky normálové mapě).<br></p><div style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D6/normalmap.png" data-themekey="#" alt="terrain layer unity" style="max-width:500px;" />​ </div><div style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D6/7vybertextury.png" data-themekey="#" alt="unity select texture" style="max-width:600px;" /> <br> </div><p>Po přidání textury hlíny scéna vypadá následovně:<br></p> <img src="/Blog/PublishingImages/Stranky/unity3D6/10shlinou.png" data-themekey="#" alt="unity scrn" style="max-width:600px;" /> ​ <h2>Nové mod​​ely</h2><p>Doposud jsme používali základní modely ze Synty Polygon balíku. Ty teď nahradíme. Já použiju placené modely, co mám k dispozici, vy můžete použít jakékoliv modely máte. Vybírám další ze série Polygon modelů, tentokrát Polygon adventure.<br></p>​ <p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D6/11polygonadventure.png" data-themekey="#" alt="import unity package" style="max-width:500px;" /><br><br></p><p>Nahrazuji většinu modelů ve scéně - místo auta přidám studnu, dům nahradím chatkou a pro model nepřátel importuji <a href="https://assetstore.unity.com/packages/3d/characters/humanoids/zombie-30232">zombie model</a> z Unity Asset Store (jak použít jeho animace si můžete přečíst v <a href="/Blog/Stranky/unity3D.aspx">prvním dílu</a> tohoto seriálu).</p><h2>Atmos​féra</h2><p>Projekt můžeme <a href="https://learn.unity.com/tutorial/upgrading-an-existing-project-to-use-hdrp-2019-2">snadno převést</a> do HDRP (High definition pipeline) pro rozsáhlejší možnosti nastavení grafiky. Po převodu do HDRP můžeme importovat tzv. <em>volume</em>s. Ty jsou zodpovědné za lokální i globální nastavení post-processingu (aplikování filtrů na grafický výstup), osvětlení a atmosféry.<br></p><p>Importujeme novou <em>Sky and Fog volume</em>.<br></p><p> <img src="/Blog/PublishingImages/Stranky/unity3D6/fogvolume.png" data-themekey="#" alt="fog unity" style="max-width:400px;" /> <br> </p><p>Ta ihned změní vzhled scény k lepšímu. Po chvíli hraní si s nastavením (dokumentace <a href="https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition%407.1/manual/Override-Physically-Based-Sky.html">Fyzikálně založené oblohy</a>) dociluji tohoto vzhledu:<br></p><p> <img src="/Blog/PublishingImages/Stranky/unity3D6/svetlo.png" data-themekey="#" alt="light in unity" style="max-width:600px;" /> <br> </p><p>Objektu osvětlení <em>Directional Light </em>nastavíme intenzitu na 0.07 a scéně tak dáme noční nádech.<br></p> <img src="/Blog/PublishingImages/Stranky/unity3D6/nocninadech.png" data-themekey="#" alt="nocni nadech" style="max-width:600px;" /> <p>Nakonec přidáme mlhu a stromy.​</p><h2>Další úpravy te​​rénu, trávy a stromů<br></h2><p>Z <em>Asset store</em> si stáhneme <em>Grass and Flowers Pack 1:</em></p><p style="text-align:center;"> <em> <img src="/Blog/PublishingImages/Stranky/unity3D6/flowerspack.png" data-themekey="#" alt="unity flowerspack" style="max-width:500px;" /> </em></p> <em></em> <p>Ačkoliv nám HDRP propůjčuje rozšířenou funkcionalitu, v některých ohledech stále zaostává - proto nemůžeme použít klasickou metodu “kreslení" trávy na terén jako detail shader, ale musíme kreslit trávu jako stromy. K tomu využijeme modely trávy z balíku volně dostupného na Asset store jménem <i>Book of the Dead</i> (jedná se o demo scénu poskytovanou přímo Unity).</p><div style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D6/bookofdead.png" data-themekey="#" alt="book of dead" style="max-width:500px;" /> </div><p>Balík přidáme do projektu a importujeme pouze složku <i></i><em>Art.</em></p><div style="text-align:center;"> ​<img src="/Blog/PublishingImages/Stranky/unity3D6/art.png" data-themekey="#" alt="unity art" style="max-width:500px;" /></div><p> <br></p><p>V objektu <i>Terrain</i> se přepneme na kartu <i>Paint trees</i>. Vybrat objekt stromu lze přes <i>Edit trees</i>a <i>Select prefab</i>.<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D6/prefab.png" data-themekey="#" alt="unity select prefab" style="max-width:500px;" />  </p><p></p> <i></i>Vybírám <i></i><em>GrassGreen</em> z importované složky <i></i><em>Art:</em><div><i>​<br></i><em></em> <div><div style="text-align:center;"> <i> <img src="/Blog/PublishingImages/Stranky/unity3D6/grassgreen.png" data-themekey="#" alt="unity grass green" style="max-width:500px;" /> <br></i> </div><p></p><div style="text-align:left;"> A můž​eme malovat na terén! </div><p></p> <img src="/Blog/PublishingImages/Stranky/unity3D6/malovatnateren.gif" data-themekey="#" alt="unity terrain painting" style="max-width:600px;" /> <p> Stejnou metodu použijeme pro její původní účel, a totiž malování stromů na terén. Vybereme model stromu a můžeme malovat.<i></i></p><div style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D6/muzememalovat.png" data-themekey="#" alt="unity paint" style="max-width:600px;" /> </div><div style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/unity3D6/muzememalovat2.png" data-themekey="#" alt="paint in unity" style="max-width:600px;" /> <br> </div><p> Teď už jen stačí spustit hru a máme noční hororovu scénu s hordou zombie!<br></p> <img src="/Blog/PublishingImages/Stranky/unity3D6/spustit.png" data-themekey="#" alt="unity play" style="max-width:600px;" /> <p> Nyní je vše hotovo, hra je zakončena a tím i tento seriál Unity tutoriálů. Tento díl nemohu sdílet na githubu, jelikož obsahuje placené modely, které podléhají licenci. Pro scénu použijte modely z Unity asset store nebo Sketchfabu, jsou zde dostupné tisíce bezplatných modelů s otevřenou licencí. A to je vše! Doufám, že jste si mé návody užili a něco nového se přiučili.<br></p><p> <i>Jan Jileček</i></p><p> <em></em></p></div></div>odborné;#hobby;#vzdělávání;#
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é;#
Testing Clever Academyhttps://www.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://www.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://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é;#
Není blok jako blokhttps://www.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://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;#