TamVR is a Unity VR application for exploring genealogy or a pedigree graph in virtual reality. The family tree graph is situated on a landscape, where the height of the terrain corresponds to the birth year of each individual. Connections between families and individuals are represented by roads on the terrain, families by mills, and individual persons by houses. Each element is accompanied with a tooltip showing important information about a person such as name, family name, birth year, death year, etc. The player can navigate the terrain, track the year (height) of where the player is currently, use the PathFinder menu to find connections between individuals, set a visible year (height) contour, use a telescope, and adjust the size of the terrain and UI panels.
TamVR is a VR adaptation of a web application Topographic Attribute Maps. The application uses GEDCOM (FamilySearch GEDCOM), an open file format for genealogical data. GEDCOM allows to exchange genealogical data between different systems.
NOTE: The code will be released upon the publication of the associated paper.
The TamVR is a project aimed at bringing to life the intricate connections between individuals and their families. Through the usage of GEDCOM or JSON data, the application transforms genealogical information into a network consisting of individuals, families, and connections between them. The network then is transformed into a force graph minimizing the overlaps of the edges and frozen to store the positions of nodes. This frozen graph is then transformed into a heightmap using a birth year as a height for each node. Depending on the birth year of each individual a terrain is generated (the later a person is born, the higher the point in the terrain). Terrain and the network are then rendered within a virtual reality environment, creating an immersive and interactive experience that allows users to explore and understand family relationships in a whole new way.
Complete procedural terrain includes automatic terrain decoration, with texturing determined by the height and slope of the mesh with the additional splatmaps for road texture. Subsequent layers are applied to the terrain based on the splatmaps, facilitating the placement of decorative objects in accordance with the generated map.
Hand menu allows you to control navigation options, interaction tools, and customization features.
Minimap allows the players to see a 2D map with the network and player position marker which updates when the player is moving.
A menu where the player can select two or more individuals and calculate the shortest path based on the graph connectivity (BFS) or based on Euclidean distance through the terrain (Dijkstra algorithm).
The user can spawn the contour that shows the height in the terrain, make the contour follow the user, or adjust it manually.
The user can spawn a telescope and grab it to see the distant scene elements.
The user can adjust the terrain size and the size of the UI panels.
Unity 2021.3.20f or later
Ekaterina Baikova, 2023