top of page

Morning ALTARS VR

Nature Art Creation Tool

Short DescriptionProof-of-concept creative tool
Development Period:  July 2022 - August 2022
Game Engine:  Unity (C#)
Software/Packages Used:  Visual Studio, 3ds Max, Substance Painter, OpenXR, Unity Terrain Tools, URP

Summary:  Morning Altars VR is a demo I made for Day Schildkret in order to see if his art, or the performance thereof, could be implemented smoothly in a virtual space. The system I came up with allows the user to collect items from their environment and place them in a variety of patterns. I have implemented several different tools for collecting, arranging, and placing objects, all of which come together to produce a naturalistic and engaging experience.

INTERACTION SYSTEMS

  • Collection: When in collection mode, the player may squeeze the trigger to grab objects within the blue field and add them to an array. There are two submodes for collection: Bubble and Beam. Bubble is straightforward and serves as the default method, while Beam is there so players don't have to bend down to pick up stuff off the ground.

  • Manipulation: While holding an array of items, the player can arrange them to form different patterns. Items of the same type are manipulated collectively, in order to make symmetry and uniformity as easy as possible. There are also two types of array: Radial and Linear.

  • Placement: Objects may be placed on any surface within a given range, and will automatically adapt to rounded or uneven targets. Placed objects are taken out of the physics system until they are picked up again.

Important Scripts

Environment

Environment

  • Although the primary purpose of this project was to develop mechanics, it was important to me that those mechanics are not displayed in a sterile, synthetic-looking environment.

  • Figure 1: Using Unity's TerrainTools package, I added some topography to the play area. This is an important part of creating a sense of space for the VR player. There are five different layers of texture (see Fig. 3) which I painted onto the surface in order to rough out environmental details.

  • Figure 2: I then added various types of grass/flowers for an extra layer of detail. Yellow flowers serve to highlight ridges and break up large patches.

  • For the trees, I individually placed the 20 closest ones to the play area, tweaking their height and position in order to frame the sun and path favorably. I followed that up with several brush passes of larger and smaller trees to fill out the player's sightlines, all while keeping performance in mind.

 (Fig. 1) Texture patches 

 (Fig. 2) Low-lying foliage 

 (Fig. 3) Layer setup 

bottom of page