Walkthrough Video : Lighting, Effects and Cinematography.
So here we are at the end of a challenging but hugely engaging a fun journey and now we have to represent the ‘best vision’ of the project as a walkthrough video (cut and edited)
The project has taken many twists and turns along the way. Both the narrative, purpose and technical requirements have changed over time.
The project began as a standalone PC adventure app with all the processing power available to create high quality material maps, geometry and lighting.
After being gifted a gear VR, the project was converted to mobile VR app which meant that a great deal of optimisation was required and, after reviewing the documentation, I decided to rebuild the project on Unity 2019.2.14. This version was on the tipping point between using gear VR and oculus go devices. I first used the Oculus plugin then the Oculus integration plugin but couldn’t update to the new XR Integration. In February support was dropped for gear VR and so I traded the HMD and bought an Oculus Go. Oculus Quest headsets are globally currently in short supply.
I’m currently waiting for Unity to launch the next LTS (Long Term Support) so that it is stable enough to develop for Oculus Quest (when I can get one) but that’s for another day 😀
In regards to the production of the project. I followed the Unity mobile VR best practice guidelines I decided to do the following:
✔️Opt for low poly models where available.
✔️Replace the Labyrinth walls with simpler geometry
✔️Replace multiple materials with one central material from which multiple objects could draw.
✔️Replicate and reuse models where possible.
✔️Remove all lighting and effects and examine the alternatives.
To replace lighting in the scene I was inspired by the way in which Quill approaches lighting. Quill software does not have a lighting function and so all lighting in the scene is literally painted with light.
Walkthrough Video : Lighting, Effects and Cinematography.
So here we are at the end of a challenging but hugely engaging a fun journey and now we have to represent the ‘best vision’ of the project as a walkthrough video (cut and edited)
The project has taken many twists and turns along the way. Both the narrative, purpose and technical requirements have changed over time.
The project began as a standalone PC adventure app with all the processing power available to create high quality material maps, geometry and lighting.
After being gifted a gear VR, the project was converted to mobile VR app which meant that a great deal of optimisation was required and, after reviewing the documentation, I decided to rebuild the project on Unity 2019.2.14. This version was on the tipping point between using gear VR and oculus go devices. I first used the Oculus plugin then the Oculus integration plugin but couldn’t update to the new XR Integration. In February support was dropped for gear VR and so I traded the HMD and bought an Oculus Go. Oculus Quest headsets are globally currently in short supply.
I’m currently waiting for Unity to launch the next LTS (Long Term Support) so that it is stable enough to develop for Oculus Quest (when I can get one) but that’s for another day 😀
In regards to the production of the project. I followed the Unity mobile VR best practice guidelines I decided to do the following:
✔️Opt for low poly models where available.
✔️Replace the Labyrinth walls with simpler geometry
✔️Replace multiple materials with one central material from which multiple objects could draw.
✔️Replicate and reuse models where possible.
✔️Remove all lighting and effects and examine the alternatives.
To replace lighting in the scene I was inspired by the way in which Quill approaches lighting. Quill software does not have a lighting function and so all lighting in the scene is literally painted with light.
Fixed 22/04/20
Done
✔️Violin skeleton seat needs moving back.
✔️Controller information needs embedding in Scene (on paper grass ?)
✔️Loop violin player
✔️Caravan would look better if coloured.
✔️Does the player need a footsteps sound?
✔️Enlarge bounding skeleton head
✔️Is there a poetry piece missing after ‘the rest that represent joy and sin?
✔️While folly poetry piece needs moving forwards a little.
✔️Slow heart dice as it’s too fast
✔️Slow and reverse flower growing
✔️Our words poetry piece need moving to the right a little.
✔️Ringmaster character needs placing at fairground entrance
✔️Change UV on fairground worker character as too bright.. blend to stall.
✔️Change UVs on fairground entrance doors.
✔️Light beneath alien death character
✔️Add lights to trap doors red and blue
✔️Fix fall off spiral staircase.. needs to be wider (Blue)
✔️Add cards to hole
✔️Add Lights and check levels in spiral tunnelsNext Steps
🔲. Sound at caravan room would be nice – Sound
🔲. Drum beat animation would be nice.. can we add sound here? – Animation
🔲. Add sly mouths into room.- Animation
🔲. Need white box room populating.. skeleton band? Animation
🔲. Add copyright free music to alien death – Don Giovanni death scene music-.Sound
🔲. Add mystic placeholder – Image
🔲. Well done sign trigger pop up and coins set back to zero at the end – Mechanic.
PC Fixes
The following items have been identified as issues that should be fixed prior to capturing the walkthrough video .
🔲. Violin skeleton seat needs moving back.
🔲. Controller information needs embedding in Scene (on paper grass ?)
🔲. Loop violin player
🔲. Sound at caravan room would be nice
🔲. Caravan would look better if coloured.
🔲. Does the player need a footsteps sound?
🔲. Enlarge bounding skeleton head
🔲. Is there a poetry piece missing after ‘the rest that represent joy and sin?
🔲. While folly poetry piece needs moving forwards a little.
🔲. Drum beat animation would be nice.. can we add sound here?
🔲. Add sly mouths into room.
🔲. Slow heart dice as it’s too fast
🔲. Slow and reverse flower growing
🔲. Our words poetry piece need moving to the right a little.
🔲. Need white box room populating.. skeleton band?
🔲. Ringmaster character needs placing at fairground entrance
🔲. Change UV on fairground worker character as too bright.. blend to stall.
🔲. Change UVs on fairground entrance doors.
🔲. Light beneath alien death character
🔲. Add copyright free music to alien death – Don Giovanni death scene music.
🔲. Add cards to hole
🔲. Add lights to trap doors red and blue
🔲. Fix fall off spiral staircase.. needs to be wider (Blue)
🔲. Add mystic placeholder
🔲. Well done sign trigger pop up and coins set back to zero at the end.
Add Lights and check levels in spiral tunnels
Add in any additional comments from user feedback.
Scripts
Sliding Doors
https://youtu.be/nfV45mpskRI
1. Create Doors (no gravity add kinematic)
2. make walls static
3. Create empty object as Doors
4. Add Box Collider and set size
5. Add animation controller called doors
6. Create Idle animation
7. create open/close animations for doors on same animation.
8. On animation controller create two triggers one open and one close
9. Idle/Open and closed animations should be in the controller already.
10. add transitions from idle to open to close back to idle.
11. ensure transitions are set to trigger open and closed respectively.
12. ensure animations are not looped except for idle which should be looped.
13. ensure player controller tag is set to “player”
This should work…
8, Write script as below.
using UnityEngine;
using System.Collections;
public class Doors : MonoBehaviour
{
Animator animator;
bool doorOpen;
void Start()
{
doorOpen = false;
animator = GetComponent<Animator>();
}
void OnTriggerEnter(Collider col)
{
if (col.gameObject.tag == “Player”)
{
doorOpen = true;
DoorControl(“Open”);
}
}
void OnTriggerExit(Collider col)
{
if (doorOpen)
{
doorOpen = false;
DoorControl(“Close”);
}
}
void DoorControl(string direction)
{
animator.SetTrigger(direction);
}
}
Agent Navigation
https://docs.unity3d.com/Manual/nav-CreateNavMeshAgent.html
1.Create Agent
2.Create Target
using UnityEngine;
using System.Collections;
public class SampleAgentScript : MonoBehaviour
{
public Transform target;
UnityEngine.AI.NavMeshAgent agent;
void Start()
{
agent = GetComponent<UnityEngine.AI.NavMeshAgent>();
}
void Update()
{
agent.SetDestination(target.position);
}
}
CoinCollect Script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public GameObject scoretext;
public int theScore;
public AudioSource collectSound;
void OnTriggerEnter(Collider other)
{
collectSound.Play();
theScore += 50;
scoretext.GetComponent<Text>().text = “Score: ” + theScore;
Destroy(gameObject);
}
}
PC Fixes
The following items have been identified as issues that should be fixed prior to capturing the walkthrough video .
🔲. Violin skeleton seat needs moving back.
🔲. Controller information needs embedding in Scene (on paper grass ?)
🔲. Loop violin player
🔲. Sound at caravan room would be nice
🔲. Caravan would look better if coloured.
🔲. Does the player need a footsteps sound?
🔲. Enlarge bounding skeleton head
🔲. Is there a poetry piece missing after ‘the rest that represent joy and sin?
🔲. While folly poetry piece needs moving forwards a little.
🔲. Drum beat animation would be nice.. can we add sound here?
🔲. Add sly mouths into room.
🔲. Slow heart dice as it’s too fast
🔲. Slow and reverse flower growing
🔲. Our words poetry piece need moving to the right a little.
🔲. Need white box room populating.. skeleton band?
🔲. Ringmaster character needs placing at fairground entrance
🔲. Change UV on fairground worker character as too bright.. blend to stall.
🔲. Change UVs on fairground entrance doors.
🔲. Light beneath alien death character
🔲. Add copyright free music to alien death – Don Giovanni death scene music.
🔲. Add cards to hole
🔲. Add lights to trap doors red and blue
🔲. Fix fall off spiral staircase.. needs to be wider (Blue)
🔲. Add mystic placeholder
🔲. Well done sign trigger pop up and coins set back to zero at the end.
Add Lights and check levels in spiral tunnels
Add in any additional comments from user feedback.
Scripts
Sliding Doors
https://youtu.be/nfV45mpskRI
1. Create Doors (no gravity add kinematic)
2. make walls static
3. Create empty object as Doors
4. Add Box Collider and set size
5. Add animation controller called doors
6. Create Idle animation
7. create open/close animations for doors on same animation.
8. On animation controller create two triggers one open and one close
9. Idle/Open and closed animations should be in the controller already.
10. add transitions from idle to open to close back to idle.
11. ensure transitions are set to trigger open and closed respectively.
12. ensure animations are not looped except for idle which should be looped.
13. ensure player controller tag is set to “player”
This should work…
8, Write script as below.
using UnityEngine;
using System.Collections;
public class Doors : MonoBehaviour
{
Animator animator;
bool doorOpen;
void Start()
{
doorOpen = false;
animator = GetComponent<Animator>();
}
void OnTriggerEnter(Collider col)
{
if (col.gameObject.tag == “Player”)
{
doorOpen = true;
DoorControl(“Open”);
}
}
void OnTriggerExit(Collider col)
{
if (doorOpen)
{
doorOpen = false;
DoorControl(“Close”);
}
}
void DoorControl(string direction)
{
animator.SetTrigger(direction);
}
}
Agent Navigation
https://docs.unity3d.com/Manual/nav-CreateNavMeshAgent.html
1.Create Agent
2.Create Target
using UnityEngine;
using System.Collections;
public class SampleAgentScript : MonoBehaviour
{
public Transform target;
UnityEngine.AI.NavMeshAgent agent;
void Start()
{
agent = GetComponent<UnityEngine.AI.NavMeshAgent>();
}
void Update()
{
agent.SetDestination(target.position);
}
}
CoinCollect Script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public GameObject scoretext;
public int theScore;
public AudioSource collectSound;
void OnTriggerEnter(Collider other)
{
collectSound.Play();
theScore += 50;
scoretext.GetComponent<Text>().text = “Score: ” + theScore;
Destroy(gameObject);
}
}