360 8K Stereo Photo Slideshow

Hello all,

This is my first time posting here, so if I am in the wrong place or using the forum incorrectly please let me know!
I am looking for a bit of guidance with a project with the features below:
1. Set Oculus Quest 2 to a Kiosk mode
2. Create a slideshow using insta360 Pro 2 stereo images
3. Gesture control image advance (swiping hand from right to left to advance, left to right to go back)
4. either gesture control or possibly lean in to zoom into the image

I am currently collecting resources that will help me on this project.

Does this sound possible? Is there any resources that I can tap into?
TIA
Joel

Hi,

You probably want to retrieve the images from a web server.
https://docs.unity3d.com/2021.1/Documentation/Manual/UnityWebRequest-RetrievingTexture.html

Then it's just a matter of putting the texture in a renderer to view it in the scene.

Not sure how future proof it is though.

1 Like

I am trying to combine the work in this example, only adapt it to work with a sphere with an inverted shader rather than a skybox.

Ideally the sphere will have a list of materials that can be navigated between with the arrow keys (and later with hand tracking).

I am currently stuck with the error:
Assets\Scrpts\EnvironmentLibrary.cs(22,31): error CS0103: The name 'm_Background' does not exist in the current context

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EnvironmentLibrary : MonoBehaviour
{
    public List<Environment> m_environments = null;
    Renderer rend;

    [Serializable]
    public class Environment
    {
        public Material m_Background = null;
        public AudioClip m_AmbientNoise = null;
    }

    void Start()
    {
        rend = GetComponent<Renderer>();
        rend.enabled = true;
        rend.sharedMaterial = m_Background[0];
    }
}

Then I would like to add something along the lines of:

if (Input.GetkeyDown(KeyCode.RightArrow))
{
Move to next material in list
}

if (Input.GetKeyDown(KeyCode.LeftArrow))
{
Move to previous material in list
}

How about using the Oculus sdk for the controller inputs?
https://developer.oculus.com/documentation/unity/unity-input/

Not sure if you can attach a keyboard to Oculus Quest, perhaps it can be done with Bluetooth.


The keyboard is simply something in the interim as I don't have access to the Quest all the time. Once things are running smoothly with the keyboard I plan on adding the Quest interaction.

Okay, so I have the arrows somewhat working.

  1. Is there a way to, instead of saying 'Right Arrow goes to Material 1" it can say "Right Arrow goes to the next material in the list"

  2. I cant seem to get the audio clip field active

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EnvironmentLibrary : MonoBehaviour
{
    //public List<Environment> m_materials = null;
    public Material[] materials;
    Renderer rend;

    //public class Environment
    [Serializable]
    public class Environment
    {
        public Material m_Background = null;
        public AudioClip m_AmbientNoise = null;
    }

    void Start()
    {
        rend = GetComponent<Renderer>();
        rend.enabled = true;
        rend.sharedMaterial = materials[0];
    }

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.RightArrow))
        {
            rend.sharedMaterial = materials[1];
        }

        if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
            rend.sharedMaterial = materials[0];
        }
    }
}