You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-19Lines changed: 15 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,16 @@
1
1
<palign="center">
2
-
<imgsrc="media/banner-tp-small.png">
2
+
<imgsrc="media/banner-2-0-small.png">
3
3
</p>
4
4
5
5
# UXF - Unity Experiment Framework
6
-
A set of components which simplify human behaviour experiments developed in the Unity engine. This is the development project, if you want to download the package, do not clone this repository, see "Get Started" below.
6
+
A set of components which simplify human behaviour experiments developed in the Unity engine. UXF 2.0 supports Desktop, PCVR, Standalone VR, as well as Web based experiments for full remote data collection, with different data output modes. This is the development project, if you want to download the package, do not clone this repository, see "Get Started" below.
Read the [open access paper](https://doi.org/10.3758/s13428-019-01242-0) in Behavior Research Methods! Developed by Jack Brookes, Immersive Cognition Group, University of Leeds.
13
+
Read the [open access paper](https://doi.org/10.3758/s13428-019-01242-0) in Behavior Research Methods! The paper is now slightly out of date but gives a good overview of the motivation of this project. Developed by Jack Brookes, Immersive Cognition Group, University of Leeds.
14
14
</p>
15
15
16
16
If you have developed a project using UXF please [let me know](http://twitter.com/jackbrookes)!
@@ -49,15 +49,15 @@ If you have developed a project using UXF please [let me know](http://twitter.co
49
49
50
50
1. Import the latest ```UXF.unitypackage```[release](https://github.com/immersivecognition/unity-experiment-framework/releases/latest) to your existing Unity project. (Drag the file into your project.)
51
51
52
-
2. The UXF Setup Wizard will launch (or via the top menu: UXF > UXF Wizard) - Use it to fix any .NET compatibility issues.
52
+
2. The UXF Setup Wizard will launch (or via the top menu: UXF > UXF Wizard) - Use it to fix any compatibility issues.
53
53
54
-
3. Open an example scene. (UXF -> Examples -> Advanced -> AdvancedExample)
54
+
3. Open an example scene. (e.g. UXF -> Examples -> 2_MoveToTarget -> MoveToTargetExample)
55
55
56
-
4. Press play, and use the UI to create a new participant list in an appropriate directory.
56
+
4. Press play, and use the UI to enter any details.
57
57
58
58
5. Press start to begin the session.
59
59
60
-
Visit the [Uncyclo](https://github.com/immersivecognition/unity-experiment-framework/wiki) for more detail.
60
+
Visit the [Uncyclo](https://github.com/immersivecognition/unity-experiment-framework/wiki) for more details.
61
61
62
62
## Features
63
63
@@ -68,11 +68,11 @@ Visit the [Uncyclo](https://github.com/immersivecognition/unity-experiment-framewor
68
68
69
69
### Data collection
70
70
71
-
UXF automates the process of collecting data.
71
+
UXF automates the process of collecting data. How the data are stored depends on the platform (PC, Web, etc) as well as your configuration of different "Data Handlers". For PC platforms, you probably just want to store data in files on the PC locally. In that case, the File Saver data handler will output data in several forms:
72
72
73
-
**Behavioural data**is collected with 1 row per `Trial`, and automatically records some values such as the timestamp of the start and end of the trial. Developers can easily record observations of any type and associate them with a trial. Data is output with one row per trial in a results csv file.
73
+
**Behavioural data**are collected with 1 row per `Trial`, and automatically records some values such as the timestamp of the start and end of the trial. Developers can easily record observations of any type and associate them with a trial. Data is output with one row per trial in a results csv file.
74
74
75
-
**Continuous data**is data that is measured continuously over time during a trial. The main use case of this is to track the position and rotation of any object in the scene, which is captured at whatever frame rate the application is running at (in the `Update()` loop) by adding a `PositionRotationTracker` component to a GameObject. This can be used to track positions of user controlled objects (such as hands or head in a virtual reality application) or an arbitrary object in the scene (e.g. some kind of stimuli). However this system is generic and developers can create their own `Tracker` classes that perform measurements of any variable during trials.
75
+
**Continuous data**are data that are measured continuously over time during a trial. The main use case of this is to track the position and rotation of any object in the scene, which is captured at whatever frame rate the application is running at (in the `Update()` loop) by adding a `PositionRotationTracker` component to a GameObject. This can be used to track positions of user controlled objects (such as hands or head in a virtual reality application) or an arbitrary object in the scene (e.g. some kind of stimuli). However this system is generic and developers can create their own `Tracker` classes that perform measurements of any variable during trials.
76
76
77
77
Data is stored in CSV files with automatic handling of file & directory naming.
**Example Output** You can see an example of the data structure UXF outputs in the [example_output](example_output) folder of this repository.
97
97
98
-
### Events
98
+
### Web & Database
99
99
100
-
A `UnityEvent` is invoked on `Trial` begin and end, allowing you to easily trigger presentation of stimuli at trial start (for example).
100
+
For Web platforms, the data cannot be stored on the participant's PC. Instead, data can be uploaded to a database. UXF handles all of the hard work for you and automatically uploads the data files as long as you set up a DynamoDB database using Amazon Web Services.
101
101
102
-
### CSV Participant List
102
+
### Events
103
103
104
-
A participant list feature is used allowing experimenters to optionally pre-prepare participant information. Additionally, this participant list is shared between experiments, allowing easy cross comparison of observations within participants.
104
+
A `UnityEvent`is invoked on `Trial` begin and end, allowing you to easily trigger presentation of stimuli at trial start (for example).
105
105
106
106
### Settings system
107
107
@@ -112,13 +112,9 @@ The settings is cascading, allowing setting independent variables at a `Session`
112
112
A UI is available (but optional) allowing loading of participant data from file (or add new participant data). Variables that are collected are customisable and can be used in the experiment (e.g. a parameter for a participant's age could be used to change the difficulty of the experiment).
113
113
114
114
<palign="center">
115
-
<imgsrc="media/screenshot-1.png"width=300>
115
+
<imgsrc="media/uxf-ui.png"width=300>
116
116
</p>
117
117
118
-
### File IO
119
-
120
-
Files are read and written in a separate thread to avoid frame drops, which can induce motion sickness in VR HMDs.
121
-
122
118
## Example
123
119
124
120
UXF is built around the idea of separating the specification of your experiment (the "what") and the implementation of your experiment (the "how").
0 commit comments