OutcropVR is a toolkit for geologists. One aspect of OutcropVR is of building a scene to view in VR. OutcropVR supports creation of real-world landscape data from coordinates or georeferenced models, as well as localization from UTM values.
The other aspect is the "game" mode tools. You can fly around your favorite outcrops and see unique angles that are impossible or difficult to get in real life. With the laser pointer tool, you can create lines and planes that then display the trend/plunge or strike/dip.
-
Clone or download the repository.
-
Place
OutcropVR.unitypackage
somewhere you can find it. Open Unity and selectAssets/Import Package/Custom Package...
and browse to import the filenameOutcropVR.unitypackage
. -
Click the
Import
button. -
If Steam VR asks for Recommended project settings, click
Accept All
.
The general workflow is:
- Go to the Template scene. Copy all of the objects in the scene; these are:
[SteamVR]
,Player
,EventSystem
,Directional Light
, andVoiceManager
. - Create a new scene. Delete
Main Camera
andDirectional Light
, then paste the objects you copied in step 1. - Import models and textures to Unity
- Use the
Tools
menu to localize your models and create landscapes (if desired) - That's it! Hit play and strap on your Vive gear.
Use the Unity menu to select Tools/Localize Photogrammetry Model from UTM
.
This function takes in a photogrammetry .obj file that is in UTM coordinates, and converts it into smaller numbers so that Unity can work with it. If a texture file is supplied as well, it will be mapped onto the object.
Supported texture formats: .psd
, .tiff
, .jpg
, .tga
, .png
, .gif
, .bmp
, .iff
, .pict
.
Use the Unity menu to select Tools/Make Elevation Model Around Photogrammetry Model
. This function takes in a photogrammetry .obj file that is in UTM coordinates and creates a digital elevation model around the centroid of the photogrammetry model. An unconverted UTM file is mandatory because finding the centroid requires the original georeferenced data.
Supported texture formats: .psd
, .tiff
, .jpg
, .tga
, .png
, .gif
, .bmp
, .iff
, .pict
.
Use the Unity menu to select Tools/Make Elevation Model from Range
. This function produces a digital elevation model of an area specified with coordinates. Note that too large of a range (more than a degree or so) or too small (a hundreth of a degree or so) will result in an error.
Use the Unity menu to select Tools/Make Elevation Model from .raw
. This function takes 16 or 8-bit elevation data (integers representing an altitude) as a RAW file, and produces a digital elevation model. Parameters required are: the number of rows in the .raw data, the number of columns, the UTM Easting and Northing values for the origin, and the resolution (in meters). You might be able to find these values in a .hdr
file, depending on how you obtained the .raw
data.
Currently, the left controller does not have any functionality.
- Trackpad Click (top half) - Fly forwards in the direction the controller is facing
- Trackpad Click (bottom half) - Fly backwards in the direction the controller is facing
- Trigger - Activates the laser pointer
Speed up
orIncrease speed
: Increases the speed at which you flySlow down
orDecrease speed
: Decreases the speed at which you flyMake line
: Activates the line-drawing function of the laser pointer. Hold down the trigger, sayMake line
, draw, and then release the triggerMake plane
: Activates the line-drawing function of the laser pointer. Hold down the trigger, sayMake plane
, draw, and then release the triggerMake surface
: Unimplemented.Pause
orPause drawing
: Pauses the drawing. Hold down the trigger, sayMake line
,Make plane
, orMake surface
to begin drawing, then sayPause
, then sayResume
, then release the trigger to finish drawing.;Resume
orResume drawing
: Resumes drawing. See above.Delete
: Deletes a line, plane or surface that is underneath an active laser pointer.Save
: Outputs data about a line, plane, or surface that is underneath an active laser pointer, to a text file, in the formatX, Y, Z, Strike/Trend, Dip/Plunge, Type (SD or TP), ID
It's likely not been scaled down to a size Unity can handle. Use Tools/Localize Photogrammetry Model from UTM
to do so.
If you have two or more textures, this can happen. Since we don't know which Meshparts have which texture, this can't be automated. To fix this, manually inspect each Meshpart and under Mesh Renderer/Materials
, change the size to allow for multiple textures, then put the materials in place. I have found that the second texture should be the second element, etc.
Currently, Make Plane
is not working as intended at certain angles.
- A compass that shows north, as a GUI item.
- Making surfaces with the laser pointer
- OpenVR support for multiple VR headsets (we only have the Vive to test on)