An Object-Oriented Software Framework for Immersive Virtual Reality Exergames
Total Page:16
File Type:pdf, Size:1020Kb
AN OBJECT-ORIENTED SOFTWARE FRAMEWORK FOR IMMERSIVE VIRTUAL REALITY EXERGAMES By Yifan Wang M.Eng. A thesis submitted in fulfilment of the requirements for the degree of Doctor of Philosophy School of Electrical and Information Engineering The University of Sydney March 2020 Faculty of Engineering The University of Sydney, Australia Authorship Attribution Statement Chapter 3, 4 and 5 of this thesis are published as Wang, Y., Ijaz, K., & Calvo, R. A. (2017). A software application framework for developing immersive virtual reality experiences in health domain. In 2017 IEEE Life Sciences Conference (pp. 27–30). IEEE. Wang, Y., Yuan, D., Ijaz, K., & Calvo, R. A. (2020). VR-Rides: An object-oriented application framework for immersive virtual reality exergames. Software - Practice and Experience. 1-20. I designed and developed this framework, extracted and analysed the data and wrote the drafts of the MS. Chapter 6 of this thesis contains part of the data that published as Ijaz, K., Ahmadpour, N., Wang, Y., & Calvo, R. A. (2020). Player experience of needs satisfaction (PENS) in an immersive virtual reality exercise platform describes motivation and enjoyment. International Journal of Human-Computer Interaction. 1-10. Ijaz, K., Wang, Y., Ahmadpour, N., & Calvo, R. A. (2017). Physical activity enjoyment on an immersive VR exergaming platform. In 2017 IEEE Life Sciences Conference (pp. 59– 62). IEEE. Ijaz, K., Wang, Y., Ahmadpour, N., & Calvo, R. A. (2019). Immersive VR exergames for health and wellbeing. In Extended Abstracts of the 2019 CHI Conference on Human Factors in Computing Systems (p. INT043). ACM. Ijaz, K., Wang, Y., Milne, D., & Calvo, R. A. (2016a). Competitive vs affiliative design of immersive exergames. In Joint International Conference on Serious Games (pp. 140– 150). Springer. Ijaz, K., Wang, Y., Milne, D., & Calvo, R. A. (2016b). VR-Rides: interactive VR games for health. In Joint International Conference on Serious Games (pp. 289–292). Springer. ii I guided the students to develop applications with framework for user studies, co-designed and conducted all the user studies with the corresponding author, wrote part of the drafts of the MS. In addition to the statements above, in cases where I am not the corresponding author of a published item, permission to include the published material has been granted by the corresponding author. Yifan Wang Signature: Date: 01/08/2019 iii Statement of Originality This is to certify that to the best of my knowledge, the content of this thesis is my own work. This thesis has not been submitted for any degree or other purposes. I certify that the intellectual content of this thesis is the product of my own work and that all the assistance received in preparing this thesis and sources have been acknowledged. Yifan Wang Signature: Date: 01/08/2019 iv Dedication To my family and beloved. v Contents Authorship Attribution Statement ......................................................................................... ii Statement of Originality ......................................................................................................... iv Dedication ................................................................................................................................. v Contents ................................................................................................................................... vi List of Figures ........................................................................................................................... x List of Tables .......................................................................................................................... xiv Acknowledgements ................................................................................................................ xv Preface .................................................................................................................................... xvi Abstract ................................................................................................................................. xvii Chapter 1. Introduction ........................................................................................................ 1 1.1 Motivation ............................................................................................................... 2 1.2 Research question .................................................................................................... 6 1.3 Challenges ............................................................................................................... 7 1.4 Contributions ........................................................................................................... 8 1.5 Structure of the thesis .............................................................................................. 9 Chapter 2. Background ...................................................................................................... 11 2.1 Virtual reality ......................................................................................................... 12 2.1.1 Immersive VR ................................................................................................ 14 2.1.2 VR exergame .................................................................................................. 19 2.1.3 Generalizations of VR exergame design ........................................................ 22 2.1.4 Game engine for VR development ................................................................. 24 2.2 Software framework .............................................................................................. 29 2.2.1 Component-based software engineering ........................................................ 31 2.2.2 Design patterns ............................................................................................... 33 vi 2.2.3 Object-oriented application framework ......................................................... 34 2.3 Frameworks for VR exergames ............................................................................. 36 2.3.1 Partially immersive frameworks .................................................................... 38 2.3.2 Fully immersive frameworks ......................................................................... 47 Chapter 3. Framework Infrastructure .............................................................................. 60 3.1 Introduction ........................................................................................................... 61 3.2 Domain analysis .................................................................................................... 64 3.3 Framework architecture design ............................................................................. 69 3.3.1 Unity game engine ......................................................................................... 70 3.3.2 Proposed architecture ..................................................................................... 71 3.4 Framework module design .................................................................................... 73 3.4.1 VR device support module ............................................................................. 74 3.4.2 VR scene module ........................................................................................... 77 3.4.3 Physiological & pedalling device support module ......................................... 79 3.4.4 Middleware module ........................................................................................ 82 3.4.5 User study module .......................................................................................... 83 3.4.6 Database module ............................................................................................ 85 3.5 Framework data flow ............................................................................................. 87 Chapter 4. Framework Implementation ........................................................................... 90 4.1 Introduction ........................................................................................................... 91 4.2 Basic class implementation ................................................................................... 93 4.3 Module implementation ......................................................................................... 95 4.3.1 VR device support module ............................................................................. 96 4.3.2 VR scene module ........................................................................................... 99 4.3.3 Physiological & pedalling device support module ....................................... 102 4.3.4 Middleware module ...................................................................................... 104 4.3.5 User study module ........................................................................................ 106 vii 4.3.6 Database module .......................................................................................... 108 Chapter 5. Framework Code Evaluation ........................................................................ 112 5.1 Introduction ......................................................................................................... 113 5.2 Applications for evaluation ................................................................................. 114 5.3 Framework code efficiency study .......................................................................