VRMode | DesktopMode |
---|---|
This repository hosts the open-source VRQuestionnaireToolkit developed to ease assessing subjective measurements in Virtual Reality. It comes with an easy-to-use Unity3D package which can be integrated in existing projects supporting pre-, in situ and post-study questionnaires.
This work is provided under a MIT License.
Please adequately cite this work, and show us your amazing projects!
We greatly appreciate any contributions and pull-requests.
- Plug & Play integration.
- Supports Desktop (no VR required) & Virtual Reality mode (Vive standard controller).
- Works as build and in editor.
- Comes with six standard questionnaire types.
- NASA TLX, Simulation Sickness Questionnaire, IPQ and SUS Presence Questionnaire as well as System Usability Scale (SUS) already included.
- Auto-export as .csv or .txt file.
- Fully compatible with other frameworks
- Existing VR projects (Unity package): Integration
- Standalone version (Unity package): Standalone
- JSON Files: json samples
- Paper: UIST 20 - Extended Abstracts
- BibTex: VRQuestionnaireToolkit.bib
- Pre-print: Pre-Print
- Preview: Video
- Unity3D 2019.x.x (https://unity.com/) -> tested on several 2019.2 and 2019.3 versions
- SteamVR (Vive) (https://assetstore.unity.com/packages/tools/integration/steamvr-plugin-32647)
- Vive Input Utility (https://assetstore.unity.com/packages/tools/integration/vive-input-utility-64219)
- Download standalone unitypackage
- Import package into assets folder
- Load samples scene (delete standard scene)
- Run Demo
(For existing projects, please see Integration)
-
Import SteamVR and Vive Input Utility assets (if you haven't already)
-
Drag VivePointers Prefab into your scene
- Drag VRQuestionnaireToolkit Prefab into your scene
The package generates all required components based on the specified .json file when running the scene. You can dis-/enable the questionnaires on demand by accessing the questionnairelist using the following code. That's all it takes =)
private GameObject _vrQuestionnaireToolkit;
private GenerateQuestionnaire _generateQuestionnaire;
void Start()
{
_vrQuestionnaireToolkit = GameObject.FindGameObjectWithTag("VRQuestionnaireToolkit");
_generateQuestionnaire = _vrQuestionnaireToolkit.GetComponentInChildren<GenerateQuestionnaire>();
}
void Demonstrate()
{
_generateQuestionnaire.Questionnaires[0].SetActive(false); // disable questionnaire 0
_generateQuestionnaire.Questionnaires[1].SetActive(true); // enable questionnaire 1
}
Subscribe to questionnaire events (sends an event after pressing the "Submit" button)
private ExportToCSV _exportToCsvScript;
private GameObject _exportToCsv;
void Start()
{
_exportToCsv = GameObject.FindGameObjectWithTag("ExportToCSV");
_exportToCsvScript = _exportToCsv.GetComponent<ExportToCSV>();
_exportToCsvScript.QuestionnaireFinishedEvent.AddListener(YourFunction); // e.g, call next questionnaire from list
}
- Configure experimental metadata (participant number etc,).
- Copy-paste json path to include your custom questionnaire.
- Set output path, filename, delimiter and type.
Outputfile naming convention:
_path = _folderPath + "questionnaireID_" + _questionnaireID + "_participantID_" + _studySetup.ParticipantId + "_condition_" + _studySetup.Condition + "_" + FileName + "." + _fileType;
- World-anchor questionnaire in 3D environment
- Do not use your selected delimiter ( "," by default) in your question
- When HTC Vive connected, Desktop mode does not work (restart Unity3D required)
- Large/Small Vive laser dot -> dis-/enable rectile autoscale in VivePointers Right and Left
- Add additional standardized questionnaires
- Support "effective" text input
- Oculus support
If you face any problems while using the toolkit, please open an issue here - https://github.com/MartinFk/VRQuestionnaire/issues or contact us under martin.feick@dfki.de.
Simple Json Parser: https://github.com/Bunny83/SimpleJSON
- John Brooke. 1986. System usability scale (SUS): a quick-and-dirty method of system evaluation user information. Reading, UK: Digital Equipment Co Ltd 43
- Sandra G. Hart and Lowell E. Staveland. 1988. Development of NASA-TLX (Task Load Index): Results of Empirical and Theoretical Research. In Advances in Psychology, Peter A. Hancock and Najmedin Meshkati (eds.). North-Holland, 139–183. https://doi.org/10.1016/S0166-4115(08)62386-9
- Robert S. Kennedy, Norman E. Lane, Kevin S. Berbaum, and Michael G. Lilienthal. 1993. Simulator Sickness Questionnaire: An Enhanced Method for Quantifying Simulator Sickness. The International Journal of Aviation Psychology 3, 3: 203–220. https://doi.org/10.1207/s15327108ijap0303_3
- Holger Regenbrecht and Thomas Schubert. 2002. Real and Illusory Interactions Enhance Presence in Virtual Environments. Presence: Teleoperators and Virtual Environments https://doi.org/10.1162/105474602760204318
- Martin Usoh, Ernest Catena, Sima Arman, and Mel Slater. 2000. Using Presence Questionnaires in Reality. Presence: Teleoperators and Virtual Environments