460 likes | 593 Views
Z profesionálního 3D prostředí do XNA. Ing. Jan Buriánek ČVUT „FIT“ SPAFi Animation Academy. Microsoft Design Academy 2.0, Brno 4 . 3 .2009. 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.
E N D
Z profesionálního 3D prostředí do XNA Ing. Jan Buriánek ČVUT „FIT“ SPAFi Animation Academy Microsoft Design Academy 2.0, Brno4.3.2009
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ří“
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
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 VisualC# 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)
XNA Creators Club Online • http://creators.xna.com/ • Komunita • Příklady (Starter Kits) • Tutoriály • Nástroje • Plné hry • Publikační / distribuční portál
XNA CreatorsClub Onlinespecifické akce vs. členství Pro Xbox360 Live! je členství prakticky povinné, pro ostatní jen při distribuci či síťovém hraní…
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 – DirectXFile – Ximporter • .fbx - Autodesk FBX – FbxImporter • .fx - DirectXEffects – 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
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 tvorbureal-time shaderů - nVidia • nVidia Cg Toolkit (2.1) • FX Composer 2.5 • ShaderLibrary (HLSL/CgFX) • (Shader Debugger) • nVidia 3DS Max Tools • NVB Export • DDS Plugin • (PhysX DCC Plug-ins) • nVidiaMayaTools • Shader Mel Scripts • Cg Plugin • (PhysX DCC Plug-ins) • mentalmillArtistEdition • Samostatný nástroj
Nástroje pro tvorbureal-time shaderů - ATI • ATI RenderMonkeyToolsuite • Samostatný nástroj • ATI Compressonator • DDS kompresor • ATI NormalMapper • 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í
Nástroje pro tvorbureal-time shaderů / materiálů • ATI RenderMonkey • Autodesk Maya • real-timeshadery v Cg • Autodesk 3DS MAX • real-timeviewport • Autodesk Softimage|XSIAutodesk Softimage XSIModTool • RenderTreeReal-Time 3D nodes • Podpora FX, HLSL i Cg • Microsoft CaligaritrueSpace • 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, TextureBaking) • AmbientOcclusion • DiffuseShading • … • 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 DirectXreal-timepreview v modelářích • Nejčastěji je třeba instalovat speciální plugin (Maya/Max)
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, VisualC# Express, DirectX SDK) • Registrovat se nacreators.xna.com • Stáhnout příklady projektů(SkinningSample, ModelImporterSample, …) • Experimentovat (měnit bitmapy, měnit modely, animace, …) • Číst tutoriály (Englishonly)
Doporučené zdroje informací o programování v XNA • creators.xna.com • forum.xna.com • msdn.microsoft.com • Knihy o XNA • „Professional XNA Programming“ • „LearnProgramming Microsoft XNA Game Studio“ • …zadejte vyhledávání slova XNA na amazon.com • Kurzy na www.academicresourcecenter.net
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/) • SPAFiAcademy XNA kurz (viz. www.spafi.org) • Přednášky organizované přes Prague SIGGRAPH CZ (www.siggraph.cz)
Děkuji za pozornost! Otázky? JaBu@seznam.cz burianek@fel.cvut.cz +420 604 298 259