For a research project I will measure peoples stress levels in different types of digitized patient rooms, using the Oculus Rift VR glasses.
I would like to gather information about the head movement of people in these different environment.
This is important because the amount of exploration (camera movements in xyz directions) is related to stress levels.
so my question is:
Is there a way to export movement information (xyz directions) using the Oculus Rift VR glasses in an environment created with the Unreal engine?
Will you build these test environments yourself (or your team) in UE4? Or are you planning to use environments and games already released by someone else?
If you’re creating the environments yourself, it would be quite easy to export head movement info. You can access the HMD position and rotation at any time. You could for instance access the 3D position and rotation every tick (75 times a second on a DK2) and write the data into a CSV, XML, or JSON file. I’m not sure how much of the file access APIs are available via Blueprints, but it can definitely be done in C++.
I did basically what Bajee said.
I used it for basic motion capture, process worked but was not elegant (project did not work out for other reasons). Putting it together was pretty straight forward. I captured the info to a string 75 times a second and wrote the info to basically a txt file using a basic cpp code wrapped in a blueprint for text file exporting that I found on answerhub.
And beyond that wrote it bvh format, and could thus import it to an 3d program, edit reimport etc etc, but like I said the process ended up being not really elegant enough for my needs.
If you can’t get it to work answer back here, I guess I can strip the project to this core functionality and post it online if you really do need it.
make sure it works in VR (there is a template project to start from for this)
once this all works, add a function in the “Tick” event for the player controller object, where you call into the Oculus system to read the position of the device. Then you can do what you want with it – print it to the screen, write it to a file, send it on a network, whatever.
The main thing to search for in the documentation is “player controller” (or PlayerController as it were.)
Alright I have found most things you guys have mentioned, but how do I actually export ‘write’ the information to a CSV file? is there a way using blueprint nodes for that?
The closest I have found for blueprints is to PrintString() which prints it to a log file (you can turn of the screen-printing bit)
If you give the data some easily recognizable prefix (like “DATA:”,) you can then use a script to extract the data from the log file and put it into a CSV format, using Perl or PowerShell or Go or Python or whatever.
If you want to write CSV straight from the game, I think you’ll need to write a C++ plugin to do that. It probably wouldn’t be that hard (if you already know C++ and Visual Studio) and it’s pretty easy to expose that plugin for your blueprint to use it.
Get yourselves a heart rate monitor such as a Fitbit Surge. Increased stress levels typically go hand in hand with increased heart rate. You could always get yourselves a heart rate variability tracker, but the only consumer level that I found was one that was for a smart-phone only :\
The good thing with the Fitbit, is that you can also integrate it into the engine (as it has it’s own public API). I’m sure you’d need to work some programming magic, but anything is possible, right?
There are lots of devices that monitor your heart rate. You can easily manage your heart rate in a smartphone by apps. There are lots of device such like as germin ,fitbit etc. Fitness tracker always monitor you pluse. you can export information to a CSV file.