Slide 1

Slide 1 text

ZÁKLADY HERNÍHO ENGINU UNITY3D Martin Pernica Martin Pernica Základy Unity3D

Slide 2

Slide 2 text

KDO JSEM? Základy Unity3D Snílek a milovník palačinek … Martin Pernica • 10 let již programátorem, ale pořád mi to nejde ! • Miluji technologie • Výzvy jsou pro mě v životě nutností ! • … a co víc?

Slide 3

Slide 3 text

O NÁS - SOULBOUND GAMES Základy Unity3D I have a dream ... Martin Pernica

Slide 4

Slide 4 text

CO POUŽÍVÁME? Základy Unity3D • Unity3D Pro • Unreal Engine 3/4 • CryENGINE • Vlastní low-level kód - C++ • Vlastní shadery • Procedurální materiály Substance ! • Oculus Rift • Xbox Gamepad • nVidia APEX, PhysX, CUDA Martin Pernica

Slide 5

Slide 5 text

HELLO UNITY3D Základy Unity3D Martin Pernica Unity GDC 2014 Game Showreel https://www.youtube.com/watch?v=lXfOqY0JMng

Slide 6

Slide 6 text

HELLO UNITY3D Základy Unity3D • Multiplatformní herní engine • Windows, Linux, Mac • iOS, Android, WP, Blackberry • Xbox 360, Xbox One, PS3, PS4, PS Vita, Wii U • Web player, WebGL (Unity 5) ! • Podpora 2D i 3D • Mono jako script engine • C#, JavaScript, Boo • PhysX jako fyzikální engine • Mecanim pro animace • Výborná content pipeline - drag&drop Martin Pernica

Slide 7

Slide 7 text

HELLO UNITY3D Základy Unity3D • Lightmapping • Occlusion Culling (Umbra) • LOD • Profiler • Draw call batching • ShaderLab, nVidia CG pro psaní shaderů • AI • Particles • Audio (FMOD) • Terrains • Asset Store • DirectX 11 Martin Pernica

Slide 8

Slide 8 text

HELLO UNITY3D Základy Unity3D • Má i své mouchy … • ale větši z nich vyřeší Unity3D 5 • Již jej používají i velká studia ! • Unity3D free verze • nestačí na seriozní vývoj Martin Pernica

Slide 9

Slide 9 text

PROJEKTY - STREET RUN Základy Unity3D • Endless run hra • Trošku jiné principy • Freemium - in-app nákupy • Hotovo na iOS, Android a Windows Phone v přípravě Martin Pernica

Slide 10

Slide 10 text

PROJEKTY - REALITY RIFT Základy Unity3D • Akční “skákačka” • Dvě postavy • Silný příběh • Moc komplexní :( Martin Pernica

Slide 11

Slide 11 text

JUMP IN! Základy Unity3D Martin Pernica • Potřebné znalosti: • číst C# kód

Slide 12

Slide 12 text

OSNOVA Základy Unity3D Martin Pernica • Vytvoření projektu • Struktura složek • Scéna - kamera, stromová struktura • Vytvoření primitivního objektu • GameObject - komponenty • Import textury - komprese, mipmapy, filtrování … • Orientace ve světě • Psaní scriptů • Životní cyklus objektu • Fyzika • Kolize - tagy

Slide 13

Slide 13 text

CÍL Základy Unity3D Martin Pernica

Slide 14

Slide 14 text

LIVE CODING #1 Základy Unity3D Martin Pernica • Vytvoření projektu • Popis UI • Struktura složek Pozn.: 1. pravidlo přednášejícího - nikdy nedělej live coding!

Slide 15

Slide 15 text

STROMOVÁ STRUKTURA Základy Unity3D Martin Pernica Objekty na scéně jsou řazeny do stromové struktury. Nutno počítat s návazností na rodiče a relativnosti dat (pozice, rotace …)

Slide 16

Slide 16 text

LIVE CODING #2 Základy Unity3D Martin Pernica • Vytvoření primitivního objektu • Popis komponent • Import textury • Co je to shader???

Slide 17

Slide 17 text

UNITY OBJECT LIFETIME Základy Unity3D Martin Pernica

Slide 18

Slide 18 text

LIVE CODING #3 Základy Unity3D Martin Pernica • Vytvoření scriptu • Popis jeho částí • public properties • Spojování závislostí

Slide 19

Slide 19 text

UPDATE VS. FIXEDUPDATE Základy Unity3D Martin Pernica Ideální stav (100 FPS) - 1x Fixed, 2x Update Zhoršení FPS (30 FPS) Fixed update se používá primárně pro pohyb a aplikaci fyzikálních sil

Slide 20

Slide 20 text

LIVE CODING #4 Základy Unity3D Martin Pernica • Fyzika • Rigibody • Collidery • Kolize

Slide 21

Slide 21 text

A CO GUI? Základy Unity3D Martin Pernica • Unity3D má otřesné GUI již pár let!!! • Špatná optimalizace • Jeden GUI prvek = draw call • Divné API • Špatné pozicování • Nová verze GUI přijde asi v 4.6 • Zatím používat “plugin” NGUI free

Slide 22

Slide 22 text

LIVE CODING #5 Základy Unity3D Martin Pernica • GUIText • Implementace počítadla

Slide 23

Slide 23 text

JE PROGRAMOVÁNÍ TVŮJ ŽIVOT? Základy Unity3D Martin Pernica

Slide 24

Slide 24 text

OTEVŘENÉ PRACOVNÍ POZICE Základy Unity3D Martin Pernica • iOS samuraj • Cocoa Touch, Objective-C ! • Android bukanýr • Java, Android SDK/NDK ! • Windows Phone ninja • .NET, C#, XAML ! • PHP ninja • OOP, Symfony Napiš na kariera@pria.cz

Slide 25

Slide 25 text

OTÁZKY? Základy Unity3D Martin Pernica pernica@soulbound.cz | @martindeveloper

Slide 26

Slide 26 text

DĚKUJI ZA POZORNOST! Základy Unity3D Martin Pernica … ti co usnuli, můžou pokračovat :) pernica@soulbound.cz | @martindeveloper