Z profesionálního 3D prostředí do XNA Ing. Jan Buriánek ČVUT „FIT“ SPAFi Animation Academy Microsoft Design Academy 2.0, Brno
Obsah prezentace Úvod XNA Xbox360 Live! Microsoft Game Studio Formáty pro XNA 3D software a XNA Závěrečná doporučení
Microsoft XNA - koncept XNA = snazší vývoj her prakticky pro každého Hlavní motivace – Vývoj her a aplikací pro XBox360 Live! (nově ve verzi 3.0 pro Zune) – Rozšíření komunity vývojářů pro PC a Xbox 360 / Zune – Rozšíření komunity programátorů v populárním jazyce C# – Získat uživatele k nákupu herní konsole Xbox 360 / Zune – Získat uživatele k nákupu předplatného portálu on-line her
Microsoft XNA - koncept Základní vlastnosti XNA – Všechny vývojové nástroje ZDARMA (XNA Game Studio Express) – Přehledné a úplné tutoriály, příklady hotových „OpenSource“ aplikací – Dostupné výukové materiály jak pro střední(!) tak vysoké školy – Dostatek knih zaměřených na XNA – Vývoj je zaměřen na PC, Xbox 360 a Zune – Předpokládá vždy podporu DirectX (GPU akcelerace zobrazení) – Ideálně ovládání přes GamePad – Pro on-line distribuci je třeba certifikace…
Hry v XNA Převážně „Casual hry“ – Závod aut – Vesmírné střílení – Arkády – Důraz na „hratelnost“ Profesionální hry – Zatím v omezeném měřítku – „Ticho před bouří“
Hry v XNA
Požadavky pro XNA hry PC – Direct X 9 nebo 10 – Grafická karta s podporou ShaderModelu 2.0 a více – Windows Vista nebo XP SP2 nebo Server 2003 SP2 – XNA Framework Runtime Xbox360 Live! (aktivní účet) Zune
Microsoft XNA Game Studio
XNA Game Studio 3.0 požadavky/komponenty Windows XP (Home, Professional, Media Center, Tablet) plus SP2 Windows Vista (Basic, Premium, Business, Enterprise, Ultimate) Visual Studio 2008 nebo Visual C# 2008 Express Edition Microsoft.NET Framework 3.5 DirectX Runtime (instaluje se spolu s GS) Microsoft Cross-Platform Audio Creation Tool – XACT (instaluje se automaticky) Microsoft Games for Windows – LIVE Redistributable (instaluje se automaticky)
DreamSpark pro studenty
XNA Creators Club Online – Komunita – Příklady (Starter Kits) – Tutoriály – Nástroje – Plné hry – Publikační / distribuční portál
XNA Creators Club Online
XNA Creators Club Online specifické akce vs. členství Pro Xbox360 Live! je členství prakticky povinné, pro ostatní jen při distribuci či síťovém hraní…
XBox360 Live! předplatné
Xbox360 Live!
Architektura Windows vs. Xbox360
XNA Content Pipeline Jednotný systém vkládání obsahu Kompiluje a optimalizuje data pro výslednou Runtime platformu Lze psát vlastní importery Standardní importery obsahují většinu nutných formátů (není třeba psát nové)
Formáty pro XNA Přímá podpora pro bitmapové formáty textur.bmp,.DDS,.dib,.hdr,.jpg,.pfm,.PNG,.ppm,.TGA – formát textur - TextureImporter.spritefont – spritový font - FontDescriptionImporter Přímá podpora pro 3D formáty a efekty.x – DirectX File – Ximporter.fbx - Autodesk FBX – FbxImporter.fx - DirectX Effects – EffectImporter Audio podporováno nepřímo přes XACT –.xap audio formát Ostatní formáty –.xml – obecná data – XmlImporter
Formáty pro XNA Nepřímá podpora pro 3D formáty a efekty.obj/.mtl – ObjImporter v příkladech.3ds – PandaSoft 3DS plugin COLLADA (COLLAborative Design Activity) Mod soubory Nepřímo audio také přes –.mp3 a.wav audio formát
3D nástroje pro XNA ZDARMA! Autodesk Softimage|XSI ModTool – Přímá podpora – Úzká integrace Microsoft (Caligari) trueSpace – Nepřímá podpora přes X a FBX Blender 3D – Nepřímá podpora přes X a FBX
Autodesk Softimage|XSI ModTool
Microsoft Caligari trueSpace
Blender 3D
XNA – příklad zobrazení
Profesionální 3D nástroje pro XNA Autodesk Maya – Nepřímá podpora (.X,.FBX) Autodesk 3DS MAX – Nepřímá podpora (.X,.FBX,.3DS) Autodesk Softimage|XSI – Přímá podpora (vlastní framework) – Formátová výměna (FDK,.X,.FBX)
Nástroje pro tvorbu real-time shaderů - nVidia nVidia Cg Toolkit (2.1) – FX Composer 2.5 – Shader Library (HLSL/CgFX) – (Shader Debugger) nVidia 3DS Max Tools – NVB Export – DDS Plugin – (PhysX DCC Plug-ins) nVidia Maya Tools – Shader Mel Scripts – Cg Plugin – (PhysX DCC Plug-ins) mental mill Artist Edition – Samostatný nástroj
nVidia mental mill Artist Edition
Nástroje pro tvorbu real-time shaderů - ATI ATI RenderMonkey Toolsuite – Samostatný nástroj ATI Compressonator – DDS kompresor ATI Normal Mapper – Vytváření normálových map ATI CubeMapGen – Generátor krychlových map ATI Tootle – Optimalizace pořadí polygonů ATI GPU MeshMapper – Multi-texturování
ATI Render Monkey
ATI CubeMapGen
Nástroje pro tvorbu real-time shaderů / materiálů ATI RenderMonkey Autodesk Maya – real-time shadery v Cg Autodesk 3DS MAX – real-time viewport Autodesk Softimage|XSI Autodesk Softimage XSI ModTool – RenderTree Real-Time 3D nodes – Podpora FX, HLSL i Cg Microsoft Caligari trueSpace – DirectX 9 materiály
Zásady tvorby modelů pro XNA Veškeré modely polygonální – Udržovat high-poly model (pro normálové mapy apod.) – Paralelně i low-poly model Veškerá světla „do textur“ (Render To Texture, Texture Baking) – Ambient Occlusion – Diffuse Shading – … Používat generické textury a osvětlení Cg (doporučujeme) a HLSL -> konverze do FX formátu Mnohovrstvé textury Předpočítané osvětlovací mapy Používat DirectX real-time preview v modelářích Nejčastěji je třeba instalovat speciální plugin (Maya/Max)
Zásady tvorby modelů pro XNA Normálové mapy
Zásady tvorby modelů pro XNA Paralax/Displacement mapy
Zásady tvorby modelů pro XNA Ambient Occlusion mapy
Zásady tvorby modelů pro XNA Reflection / Irradiance mapy
Zásady tvorby modelů pro XNA
Render To Texture (3DS Max) Ve 3D studio si připravíme objekt, naneseme materiály a efekty – 3D engine (XNA) však preferuje vše v textuře Rendering -> Render To Texture… (klávesa O) Před samotným renderováním textury je nutné všechny objekty na které se má textura vztahovat sjednotit do jediného Můžeme použít vlastní nebo automatické texturové souřadnice pro renderovanou texturu V bloku Output můžeme přidat typy textur které chceme vyrenderovat – Complete Map, Diffuse Map, ShadowsMap, Lighting Map, Normals Map, Alpha Map, Height Map, …
Render To Texture Autor obrázku: Michal Červenka
Jak začít s XNA Nainstalovat vývojové nástroje (XNA Game Studio, Visual C# Express, DirectX SDK) Registrovat se na creators.xna.com Stáhnout příklady projektů (SkinningSample, ModelImporterSample, …) Experimentovat (měnit bitmapy, měnit modely, animace, …) Číst tutoriály (English only)
Doporučené zdroje informací o programování v XNA creators.xna.com forum.xna.com msdn.microsoft.com Knihy o XNA – „Professional XNA Programming“ – „Learn Programming Microsoft XNA Game Studio“ – …zadejte vyhledávání slova XNA na amazon.com Kurzy na
Doporučené zdroje informací o programování v XNA Specializované kurzy – ČVUT FEL, Katedra počítačové grafiky a interakce, předmět „Vývoj počítačových her“ (Y36PHA, service.felk.cvut.cz/courses/Y36PHA/) – SPAFi Academy XNA kurz (viz. – Přednášky organizované přes Prague SIGGRAPH CZ (
Děkuji za pozornost! Otázky?