Week 1 – Development Prep Work

Before we can dive deep into the development of the project, there are various pieces we needed to decide on and set up. The first of these is source control to allow for easy collaboration especially for a team with collaborators on the other side of the world. Since we are using Unity, we looked into the two main ways of source control that Unity recommends, Collaborate and Plastics SCM. The main difference between the two is Plastics allows for branching, forking, and file check out while collaborate is a simple system that shares the project files between users. Unity Collaborate was chosen in the end for cost reasons despite Unity replacing it with Plastics SCM in the near future.
Another piece we needed to decide on is the pipeline to be used. We are planning on using the Universal Rendering Pipeline (URP) for this project but this may cause issues for optimization because of the use of the Shader Graph and Single Pass Instance (SPI) Rendering. While the shader graph is compatible with XR, using it means SPI rendering is not an option. This is something we are keeping in mind as we move forward with development as we are not sure of the total workload that every piece combined will place on the GPU and CPU and thus do not fully know if simply sticking with multipass is feasible. There are options to switch to if we find that we need to use SPI rendering to improve performance, such as simply switching to the Unity standard rendering pipeline. A deeper explanation of these rendering methods can be found here: https://iliaskapouranis.com/2020/07/13/is-single-pass-stereo-worth-it/
In order to know what impact the various modules will have on the CPU and GPU, we first need to begin developing them. I started by working on growing trees to better understand using the shader graph in the URP and how it would perform using XR. Since I have never used the shader graph before, I started by following a tutorial that can be found here: https://youtu.be/LKaEMBLIw9s I then implemented it within the VR template project so that it can be tested on a headset once the team gets access to one.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s