| Literature DB >> 32939682 |
Michael J Starrett1, Andrew S McAvan2, Derek J Huffman3, Jared D Stokes4,5, Colin T Kyle4, Dana N Smuda4, Branden S Kolarik4, Jason Laczko6, Arne D Ekstrom7.
Abstract
Research into the behavioral and neural correlates of spatial cognition and navigation has benefited greatly from recent advances in virtual reality (VR) technology. Devices such as head-mounted displays (HMDs) and omnidirectional treadmills provide research participants with access to a more complete range of body-based cues, which facilitate the naturalistic study of learning and memory in three-dimensional (3D) spaces. One limitation to using these technologies for research applications is that they almost ubiquitously require integration with video game development platforms, also known as game engines. While powerful, game engines do not provide an intrinsic framework for experimental design and require at least a working proficiency with the software and any associated programming languages or integrated development environments (IDEs). Here, we present a new asset package, called Landmarks, for designing and building 3D navigation experiments in the Unity game engine. Landmarks combines the ease of building drag-and-drop experiments using no code, with the flexibility of allowing users to modify existing aspects, create new content, and even contribute their work to the open-source repository via GitHub, if they so choose. Landmarks is actively maintained and is supplemented by a wiki with resources for users including links, tutorials, videos, and more. We compare several alternatives to Landmarks for building navigation experiments and 3D experiments more generally, provide an overview of the package and its structure in the context of the Unity game engine, and discuss benefits relating to the ongoing and future development of Landmarks.Entities:
Keywords: Learning; Memory; Navigation; Spatial cognition; Unity; Virtual reality
Year: 2020 PMID: 32939682 PMCID: PMC8007414 DOI: 10.3758/s13428-020-01481-6
Source DB: PubMed Journal: Behav Res Methods ISSN: 1554-351X
Fig. 1An example layout of the Unity Editor with commonly used windows highlighted (red: Scene View, blue: Game View, green: Hierarchy window, orange: Inspector window, yellow: Console, purple: Project View). A demo scene, included in Landmarks, is opened in the editor to illustrate how a user can interact with the environment and experiment via the graphical user interface of the Unity Editor rather than via code
Glossary of Unity terms discussed, taken or modified from Unity’s online manual (Unity Technologies, 2020, https://docs.unity3d.com/Manual/index.html)
| Unity Terms | |
|---|---|
| Asset | Any media or data that can be used in your game or Project. An Asset may come from a file created outside of Unity, such as a 3D model, an audio file or an image. |
| Asset Package | A collection of files and data from Unity Projects, or elements of Projects, which are compressed and stored in one file, similar to Zip files. Asset packages are a handy way of sharing and reusing Unity Projects and collections of Assets. |
| Camera | A component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. |
| Character Controller | A simple, capsule-shaped component with specialized features for behaving as a player’s avatar in a game. |
| Child | See |
| Component | A functional part of a GameObject. A GameObject can contain any number of components. Unity has many built-in components, and you can create your own by writing scripts. |
| GameObject | The fundamental object in Unity |
| Layer | Layers in Unity can be used to selectively opt groups of GameObjects in or out of certain processes or calculations, such as being rendered by the camera. |
| Parent | An object that contains child objects in a hierarchy. When a GameObject is a Parent of another GameObject, the Child GameObject will move, rotate, and scale exactly as its Parent does. You can think of parenting as being like the relationship between your arms and your body; whenever your body moves, your arms also move along with it. |
| Prefab | An asset type that allows you to store a GameObject complete with components and properties. The prefab acts as a template from which you can create new object instances in the scene. |
| Project | In Unity, you use a Project to design and develop a game. A Project stores all of the files that are related to a game, such as the Asset and Scene files. |
| Properties | Aspects of a component that can be modified in the Inspector window of the Unity Editor. |
| Scene | A Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. |
| Tag | A reference word which you can assign to one or more GameObjects to help you identify GameObjects for scripting purposes. For example, you might define an “Edible” Tag for any item the player can eat in your game. |
| Texture | An image used when rendering a GameObject to give it visual detail. |
Example data file outputted from Landmarks for a navigation task. The outputted file was opened in Microsoft Excel, pasted into Microsoft Word, and formatted based on American Psychological Association (APA) guidelines
| Task | Block | Trial | Navigate_ | Navigate_ | Navigate_ | Navigate_ | Navigate_ |
|---|---|---|---|---|---|---|---|
| NavigationTask | 1 | 1 | Sphere | 40.72004 | 13.76897 | 26.95107 | 5.892756 |
| NavigationTask | 1 | 2 | Capsule | 33.50002 | 34.0213 | -0.521286 | 4.644669 |
| NavigationTask | 1 | 3 | Cube | 53.64013 | 51.5936 | 2.046532 | 6.048893 |
| NavigationTask | 1 | 4 | Cylinder | 36.97789 | 37.99688 | -1.018993 | 4.332535 |
Fig. 2Landmarks offers a low barrier for entry-level use while maintaining a high ceiling for customizability. Each tier describes a level of software ability, use cases available at that skill level, and example implementation. Tiers are organized from least skill required (blue, top) to most skill required (red, bottom). SOP refers to the scene- and orientation-dependent pointing task, a commonly used task in spatial cognition experiments that involves participants seeing a viewpoint from an environment, orienting themselves, and pointing to a landmark