Masters Thesis


Virtual scenarios inhabited by virtual humans have been used in a wide range of appli- cation areas like entertainment, industrial and military training, education, psychotherapy and medicine. Many of these environments are conceived to offer imersive experiences to the user. The sensation of imersion depends in the type of equipment used during an ex- perience, but it depends especially in the users imagination, stimulated by the credibility degree the experience exhibits.

Physics explains phenomena that take part in our lives, such as the force of gravity, speed and acceleration, for example. The use of physics engines is a common approach to credibly simulate these phenomena. They are, majorly, free software components that ensure a runtime execution. The greatest advantage from applying these type of compo- nents is the level of credibility attained in the simulations, which potentially increases the sensation of immersion, enriching the user’s experience.

However, the production of virtual environments with such characteristics is a com- plicated and long proccess, and requires the expertise or mastery of several tools. Our work presents an application which recieves as input a set of configuration and content files (scenario models, character models and animations) and generates a virtual environ- ment inhabited by virtual characters, capable of moving coherently within the scenario, thus supporting some level of interaction. In these enviroments the Laws of Physics are simulated, thanks to the integration of a physics engine.

Key Achievements

I have worked on the development of an application to create and perform Phobia Treatment. I have used C++ in the Microsoft Visual Studio 2010 IDE as well as the NxOgre PhysX Wrapper, NVidia PhysX, Ogre3D and 3DStudio Max in this application. This Project was part of my thesis and M.Sc. Degree project for the LabMag Research Group at the Faculty of Sciences – University of Lisbon.

• Research on Physics Engines compatible with the Ogre3D Game Engine.

• Learn how to use the NxOgre PhysX Wrapper and the NVidia PhysX engine within an Ogre3D application.

• Development of a series of sample simulations demonstrating key aspects of Virtual Environments and Game Physics such as Bounding Boxes, Collision Detection and Response and Character Controllers.
Implementation of pathfinding and steering behaviours on the Virtual Characters.

• Development of an application that creates and performs Phobia treatment Sessions, integrating the Physics Engines within a virtual environment populated with virtual humans. This application enables the Doctor to select which characters will intervene in which scenario, thus enabling him to customize the therapy session.

Written Document and Source Code

–> You can download the document here.

–> And the source code here.

Keep in mind that it was written in Portuguese, but if you need to know anything about it, let me know by contacting me.