Trifork Group AG · OMXCOP:TRIFOR

Trifork — Technical Presentation (September 2013)

51 slides from Trifork's technical presentation, Sep 18, 2013

  1. Slide 1: Introduction

    Introduction GOTO NIGHT Wednesday, September 18, 13

  2. Slide 2: Who am I?

    WHO AM I? • Aalborg University (in Aalborg) • Work at Trifork A/S Wednesday, September 18, 13

  3. Slide 3: Software pilots Unity

    software pilots unity@btudios TRIFORK. Sal DADIU Wednesday, September 18, 13

  4. Slide 4: What is Unity?

    WHAT IS UNITY? Wednesday, September 18, 13

  5. Slide 5: Introduction

    INTRODUCTION • Unity is a tool for making 3D applications • “Author once, deploy everywhere” Wednesday, September 18, 13

  6. Slide 6: History and facts

    HISTORY AND FACTS • Danish company • HQ in San Francisco • Unity 1.0 at WWDC 2005 • Unity 4.3 in 2013 • 225M Plugin installs • 2 mil registered developers Wednesday, September 18, 13

  7. Slide 7: Unity Gallery: Games

    UNITY GALLERY: GAMES Wednesday, September 18, 13

  8. Slide 8: Unity Gallery: Apps

    UNITY GALLERY: APPS Wednesday, September 18, 13

  9. Slide 9: Inside the package

    INSIDE THE PACKAGE • Unity can be divided into three parts • Engine packed with expensive tech • Intuitive and powerful editor • Multiplatform development Wednesday, September 18, 13

  10. Slide 10: Engine

    ENGINE • Rendering • Terrains • Audio • Lighting • Physics • Programming • Networking • Particles • Many more.. Wednesday, September 18, 13

  11. Slide 11: Rendering

    RENDERING • Generating the graphics • DirectX and OpenGL • Surface Shaders • Scalable for different platforms • Occlusion Culling and LOD Wednesday, September 18, 13

  12. Slide 12: Wednesday, September 18, 13

    P! Wednesday, September 18, 13

  13. Slide 13: Surface shaders

    SURFACE SHADERS • A lot of Shaders both built-in and on Asset Store • Do your own shaders • Mobile shaders Wednesday, September 18, 13

  14. Slide 14: Wednesday, September 18, 13

    Wednesday, September 18, 13

  15. Slide 15: Terrains

    TERRAINS Wednesday, September 18, 13

  16. Slide 16: Physics

    PHYSICS • Nvidia PhysX • Rigidbodies • Physics Materials • Triggers • Colliders and collisions • Box, Mesh, Sphere, RayCasting, Wheel colliders... Wednesday, September 18, 13

  17. Slide 17: Physics

    PHYSICS • Joints • Softbodies • Cloth Simulation Wednesday, September 18, 13

  18. Slide 18: Animation

    ANIMATION • Animation Editor • Animation Clips • Bones, IK • Animation & Pose blending Wednesday, September 18, 13

  19. Slide 19: Optimization

    OPTIMIZATION • Mobile hardware • Fill rate • RAM • Drawcalls!! Wednesday, September 18, 13

  20. Slide 20: Wednesday, September 18, 13

    Wednesday, September 18, 13

  21. Slide 21: Lightmapping — Beast (before)

    ~ yumgcon Iegemt Cinema 4D Modeling, UV Mapping, Texturing Lightmapping — Beast (before) Wednesday, September 18, 13

  22. Slide 22: Lightmapping — Beast (after)

    dungeon Iegcns Unity 3.0 - Beast Light Mapper 14-16 Drawcalls 5k Polygons Lightmapping — Beast (after) Wednesday, September 18, 13

  23. Slide 23: Fullscreen postprocessing filters

    FULLSCREEN POSTPROCESSING FILTERS • Most interesting filters • Bloom + Lens Flare, DOF, Sun Shafts, Color Correction, • Glow, SSAO, Motion Blur, Noise, Twirl, Vortex • Hardware consumption • Not supported on mobile devices Wednesday, September 18, 13

  24. Slide 24: Artificial intelligence

    ARTIFICIAL INTELLIGENCE • Built in Pathfinding • Many more tools on the Asset Store • Behaviour Trees • Sensoring • etc. Wednesday, September 18, 13

  25. Slide 25: Editor

    EDITOR • Integrated Editor • Build your scenes • The asset pipeline • Asset Store • Asset Server Wednesday, September 18, 13

  26. Slide 26: Integrated editor

    INTEGRATED EDITOR • Mac and Windows • Live preview of your game • Graphic emulation • iPhone / Android remote • Customize your editor • Use prefabs! Wednesday, September 18, 13

  27. Slide 27: Play / Pause

    PLAY / PAUSE • Debugging & Profiling • Instant launch, recompilation in background • No need to recompile • Debugging & Profiling • Unity MonoDevelop, Visual Studio and Xcode Wednesday, September 18, 13

  28. Slide 28: Scene creation

    SCENE CREATION Wednesday, September 18, 13

  29. Slide 29: Anatomy of Unity GUI

    ANATOMY OF UNITY GUI Wednesday, September 18, 13

  30. Slide 30: Anatomy of Unity GUI

    ANATOMY OF UNITY GUI Scene & Hierarchy views • View to your level (game) • For building a level Wednesday, September 18, 13

  31. Slide 31: Anatomy of Unity GUI

    ANATOMY OF UNITY GUI Wednesday, September 18, 13

  32. Slide 32: Anatomy of Unity GUI

    ANATOMY OF UNITY GUI Inspector • Shows details of the selected object Project • Shows all assets for the project Wednesday, September 18, 13

  33. Slide 33: Asset pipeline

    ASSET PIPELINE •Automatic Asset Import •Automatic file change detection •Instantaneous Import •Use Application for importing •Great when working with art Wednesday, September 18, 13

  34. Slide 34: Programming

    PROGRAMMING •.Net based framework; Mono •MonoDevelop as main IDE •Profiling your game Wednesday, September 18, 13

  35. Slide 35: Editors

    EDITORS • MonoDevelop • Microsoft Visual Studio • TextMate • any many others Wednesday, September 18, 13

  36. Slide 36: MonoDevelop (OS X / Windows)

    MonoDevelop (OS X / Windows) Wednesday, September 18, 13

  37. Slide 37: Microsoft Visual C# (Windows)

    DomsTest.cs Microsoft Visual C# (Windows)

  38. Slide 38: Components & OOP

    COMPONENTS & OOP • Languages • C#, JavaScript, Boo • Scripts as components • Prefabs • Rich API Wednesday, September 18, 13

  39. Slide 39: Script code example

    ‘S83 Ball > <® ShootBall 0 =]|using UnityEngine; using System.Collections; class Ball vate Player player; chargeUp, ballLauch, ballCollision, ballCollision2, otherCollision, otherCollision2, gatePickup, gateDrop, powerUpPi soundDif = key; StartQ player = gameObject .GetComponent<Player>(); d Update

  40. Slide 40: Profiling debugging

    PROFILING DEBUGGING •Deep profiling •Attach to process Wednesday, September 18, 13

  41. Slide 41: Asset Store

    ASSET STORE •Sell and buy assets •Lots of extensions •Save time Wednesday, September 18, 13

  42. Slide 42: Asset Store

    ASSET STORE •Buy 3rd party assets •3D Models •Characters, environments, vehicles, vegetation... •Textures •Shaders, bricks, fabric, metal, nature, paper, road.. •Audio •Music, sound FX, ambient sounds... •Example projects •Tutorials, templates, demos, games.. Wednesday, September 18, 13

  43. Slide 43: Asset Server

    ASSET SERVER •Large teams, versioning •Integrated •Needs a free server, but a separate client license •Supports other systems •SVN •Perforce •git Wednesday, September 18, 13

  44. Slide 44: Asset Server screenshot

    Wednesday, S Current Project himray @ bambaro Asset Server Actions Asset Server Administration Create and administer Asset Server Updates on Server Create the root Discard Changes Local Changes Librar IdSettings 1Settin: Materials o unitile Prefabs lift platform.prefab scenes Compare || Discard asse

  45. Slide 45: Which platforms?

    WHICH PLATFORMS? Wednesday, September 18, 13

  46. Slide 46: Wednesday, September 18, 13

    Wednesday, September 18, 13

  47. Slide 47: Unity Remote

    UNITY REMOTE • Realtime preview • Mobile device features transferred to Unity • Multitouch • Accelerometer / gyroscope • Lower FPS and visual quality Wednesday, September 18, 13

  48. Slide 48: Docs & community

    DOCS & COMMUNITY • Good Documentation, Build in Editor and IDE • A lot of resources; Tutorials, Sample Projects and Presentations • Big Community; Forum and IRC • UNITE Wednesday, September 18, 13

  49. Slide 49: Unity 4.3

    UNITY 4.3 • New GUI System • 2D Support • Unity Cloud Wednesday, September 18, 13

  50. Slide 50: Anders Tankred Holm

    Anders Tankred Holm CONTACT: anders@atholm.com mobile: 23 49 73 29 skype: atholm.com twitter: @atholm Wednesday, September 18, 13

  51. Slide 51: Demo time

    DEMO TIME Wednesday, September 18, 13

Trifork Group — Technical Presentation (September 2013) on 6ix