A First Person Immersive Animation Tool The tool uses an Oculus Rift DK2 device to give the user a 3D

  • View
    0

  • Download
    0

Embed Size (px)

Transcript

  • Aalto University

    School of Science

    Degree Programme in Computer Science and Engineering

    Jere Nevalainen

    A First Person Immersive AnimationTool

    Masters ThesisEspoo, May 11, 2015

    Supervisor: Assistant Professor Perttu Hamalainen

  • Aalto UniversitySchool of ScienceDegree Programme in Computer Science and Engineering

    ABSTRACT OFMASTERS THESIS

    Author: Jere Nevalainen

    Title:A First Person Immersive Animation Tool

    Date: May 11, 2015 Pages: viii + 60

    Major: Media Technology Code: T-111

    Supervisor: Assistant Professor Perttu Hamalainen

    Computer-generated animation has an important role in both video game andfilm industry. 3D computer animation is generally done with 2D devices, suchas the computer mouse, that are not optimal for that kind of use. To use themefficiently in 3D, long training periods are needed. This makes them especiallyinefficient in novice hands. Additionally, 2D display devices, such as the computermonitor, are unable to give the user depth perception. Therefore the user has torely on perspective projection.

    The goal of this thesis was to create an animation tool, which provides the usera 3D view of the objects of interest and the user can manipulate the objects withhis own hands in virtual space. This should be quite natural for users, becausehumans have lived their whole lives in a 3D world. The tool was developed andtested in collaboration with professional game industry animators.

    The tool uses an Oculus Rift DK2 device to give the user a 3D view with 6 DOFhead tracking. The hand tracking is done with a Leap Motion controller, which ismounted in front of the Oculus Rift device. The software was programmed usingthe Unity game engine.

    According to the results there are uses for this sort of a tool especially in the firstrough posing phases. The hand tracking quality still has something to improve,but even at the current level it can increase productivity in certain parts of theworkflow.

    Keywords: animation, virtual reality, oculus rift, leap motion, handtracking, hand gestures

    Language: English

    ii

  • Aalto-yliopistoPerustieteiden korkeakouluTietotekniikan koulutusohjelma

    DIPLOMITYONTIIVISTELMA

    Tekija: Jere Nevalainen

    Tyon nimi:Ensimmaisen persoonan immersiivinen animaatiotyokalu

    Paivays: 11. toukokuuta 2015 Sivumaara: viii + 60

    Paaaine: Mediatekniikka Koodi: T-111

    Valvoja: Apulaisprofessori Perttu Hamalainen

    Tietokoneella luotu animaatio on tarkeassa osassa videopeli- ja elokuvateolli-suudessa. Kolmiulotteisia tietokoneanimaatioita tehdaan yleisesti kaksiulotteisil-la laitteilla, kuten hiirella, jotka eivat ole optimaalisia tahan kayttoon. Niidenkayttaminen tehokkaasti vaatii pitkaa harjoittelua, joten ne ovat epatehokkaitaetenkin vasta-alkajien kasissa. Kaksiulotteiset nayttolaitteet eivat myoskaan pys-ty antamaan syvyysvaikutelmaa, joten kayttajat joutuvat tyytymaan perspektii-viprojektioon.

    Taman diplomityon tarkoituksena oli luoda animaatiotyokalu, jonka avulla ani-maattori nakee hahmon kolmiulotteisena ja voi muokata sen asentoa omin kasinperinteisen nukkeanimaation tapaan. Taman pitaisi olla hyvin luontevaa, koskaihmiset ovat oppineet elamaan kolmiulotteisessa maailmassa. Tyokalu kehitettiinyhteistyossa peliteollisuudessa tyoskentelevien animaattoreiden kanssa.

    Tyokalu kayttaa Oculus Rift DK2 -laitetta antaakseen kayttajalle kolmiulotteisennakyman ja kuuden vapausasteen liikkeentunnistuksen paan asennoille. Kasienliiketta seurataan Leap Motion -ohjaimella. Tyokalun ohjelmointi tehtiin Unity-pelimoottoria kayttaen.

    Tuloksien perusteella tamankaltaisella tyokalulla olisi kayttoa etenkin karkeas-sa alkuvaiheen sommittelussa. Kasienseurantalaitteen tarkkuudessa on viela pa-rantamisen varaa, mutta nykytasollakin pystyy tehostamaan tiettyja kohtiatyonkulusta.

    Asiasanat: animaatio, virtuaalitodellisuus, oculus rift, leap motion,kasien seuranta, kasieleet

    Kieli: Englanti

    iii

  • Acknowledgements

    I would like to thank my thesis supervisor, professor Perttu Hamalainen forthe original idea for this thesis and all the following input. The whole projectwas very interesting and I learned a lot in the process.

    I would also like to thank all the testers who gave their input during theprototyping phase and the testers who participated in the final user test.The future work ideas I received were very valuable.

    I thank the computer science guild Tietokilta ry for providing me seven yearsof networking and joy during my studies. The years in the board and variouscommittees were an excellent balance to study and work life.

    Finally I want to thank my family, friends and especially Gaja for all thesupport during this whole project. It was quite a ride.

    Espoo, May 11, 2015

    Jere Nevalainen

    iv

  • Abbreviations and Acronyms

    DK2 Development Kit 2DLL Dynamic Link LibraryDOF Degrees of FreedomFBX Filmbox (file format)FOV Field of ViewHCI Human-Computer InteractionHMD Head Mounted DisplayLerp Linear InterpolationNCF IK Non-Iterative, Closed-Form, Inverse Kinematic Chain

    SolverSDK Software Development KitSlerp Spherical Linear InterpolationSUS System Usability ScaleVR Virtual Reality

    v

  • Contents

    Abbreviations and Acronyms v

    1 Introduction 1

    2 Goals and requirements 3

    2.1 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2.2 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    3 Interaction in computer animation 5

    3.1 Human-computer interaction techniques in 3D . . . . . . . . . 5

    3.1.1 Command based interaction . . . . . . . . . . . . . . . 7

    3.1.2 Menu selection . . . . . . . . . . . . . . . . . . . . . . 8

    3.1.3 Form fill-in . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.1.4 Natural language . . . . . . . . . . . . . . . . . . . . . 9

    3.1.5 Direct manipulation . . . . . . . . . . . . . . . . . . . 10

    3.2 Input devices . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3.2.1 Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3.2.2 Mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    3.2.2.1 Axis Selection in Mouse Based Interaction . . 13

    3.2.3 Physical input devices with varying degrees of freedom 14

    3.2.4 Computer vision based input . . . . . . . . . . . . . . . 16

    3.2.5 Physically manipulable devices . . . . . . . . . . . . . 19

    vi

  • 3.2.6 Wearable devices . . . . . . . . . . . . . . . . . . . . . 20

    3.3 Output devices . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    3.3.1 Monoscopic displays . . . . . . . . . . . . . . . . . . . 21

    3.3.2 Stereoscopic displays . . . . . . . . . . . . . . . . . . . 22

    4 Environment 24

    4.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    4.1.1 Leap Motion Controller . . . . . . . . . . . . . . . . . 24

    4.1.2 Oculus Rift Development Kit 2 . . . . . . . . . . . . . 26

    4.1.3 Wireless Xbox 360 Controller . . . . . . . . . . . . . . 27

    4.1.4 Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . 28

    4.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    4.2.1 Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    5 Implementation 30

    5.1 System overview . . . . . . . . . . . . . . . . . . . . . . . . . 30

    5.2 Inverse Kinematics . . . . . . . . . . . . . . . . . . . . . . . . 32

    5.3 Leap Motion controller . . . . . . . . . . . . . . . . . . . . . . 35

    5.3.1 Hand tracking . . . . . . . . . . . . . . . . . . . . . . . 35

    5.3.2 Image passthrough . . . . . . . . . . . . . . . . . . . . 36

    5.4 Oculus Rift . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    5.5 Poseable character . . . . . . . . . . . . . . . . . . . . . . . . 38

    5.6 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    5.6.1 Timeline Slider . . . . . . . . . . . . . . . . . . . . . . 39

    5.6.2 Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    5.6.3 Wireless Xbox 360 Controller . . . . . . . . . . . . . . 43

    5.7 Floor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    5.8 Animation controller . . . . . . . . . . . . . . . . . . . . . . . 45

    6 Evaluation 47

    vii

  • 6.1 Usability testing . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    6.2 Usability testing results . . . . . . . . . . . . . . . . . . . . . . 48

    7 Conclusions and future work 54

    7.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    7.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    viii

  • Chapter 1

    Introduction

    Three dimensional (3D) computer animation has become a staple of movieand video game entertainment. Computer animations roots are deep, and fora long time the animations have been created with tools that can work onlyin two dimensions (2D): the computer mouse, keyboard and the traditional2D computer display. These are not optimal when working with 3D worlds.There are alternative ways to create high quality animation data such asmotion capture technologies. The problem with motion capture technologiesare the generally large space requirements, the need of actors and long cali-bration procedures. Such things are not always possible, so the mouse andkeyboard combination is a solid option.

    When it comes to working on a desktop, various different vision basedand mechanical devices have been invented that are supposed to be moresuitable for 3D work. These offer more degrees of freedom (DOF) than thepopular computer mouse, which is confined to working in two dimensi