So, what do we do if we want to run such a scene with high polygon and real-time lighting?
Luckily, there is Holo-Light, a German company providing a remote rendering solution to that problem. They provide the ISAR SDK that allows us to either use our machine to run the scene and stream it to the device or run the scene on their cloud server and then stream that onto our device. In this blog, we’ll see how to stream the scene from our machine. Streaming the scene from their server will be covered in a future blog.
There are only two things you need to make sure of:
Note: While creating a new Unity project use the 3D render pipeline as there are some known issues with other render pipelines.
In this section, we’ll learn how to set up our project for streaming into AR devices. As of now, the SDK supports HoloLens 2 and Android devices for AR. Although the current version is stable for HoloLens 2, it’s still under the BETA version for Android. So, in this blog, we’ll be focusing on the setup for HoloLens 2.
Note: Make sure you install the toolkit before installing ISAR SDK packages.
Let’s begin by downloading and installing MRTK in our project as it supports HoloLens 2.
Downloading and installing the ISAR SDK is simple. You can either download it from Unity’s Asset Store or you can download it from their Git repository. As the Git repository has the latest version, we’ll use that for now
With that, we have successfully downloaded and installed the ISAR SDK.
For the SDK to work as intended we’ll have to set up a few things.
Now let’s set up our scene with MRTK and add a high poly model that we want to stream.
With that we have set up our scene, next we’ll see how we can configure the Client on HoloLens 2
There are two ways by which we can install the ISAR Client on HoloLens 2. We can either install the app package contained in the repository or install it from the Microsoft store.
Now that we have the Client installed we can proceed and see how to stream the assets into HoloLens 2.
To stream the scene from our machine to the client, we need to first disable the firewall. Then we can play the Unity scene and stream it into the client.
With that, we were successfully able to stream the scene with high poly count seamlessly onto HoloLens2.
Generally, HoloLens 2 can handle up to 100,000 polygons and our scene has more than 2000,000 polygons. Just for comparison, you can build and run the scene locally on the HoloLens 2 and check the FPS. Later check the FPS when it’s streamed from the machine. You will definitely see a difference. Here is our comparison: the local build runs at 8 or 9 FPS and when streamed using ISAR SDK it runs at 45-47 FPS.
With that, we have successfully learnt how to stream experiences into AR devices. Up next, we’ll see how to stream it into VR devices
In this section, we’ll see how to set up the project for VR. As of now, the SDK is supported on Oculus Quest 2. The setting up part for VR is the same as setting up for AR, there is just one difference! And that is the values entered in the remoting-config file.
You can now hit the play button → launch the client on Quest 2 → enter your local IP address and view the streamed assets.
In future when the SKD gets updated we’ll have to first remove the existing SDK and then reimport the latest one.
To remove previous versions of ISAR SDK from the project
To add import the latest SDK follow the same steps mentioned in section 2.2.
We have learnt to use the ISAR SDK along with MRTK to stream the assets into HoloLens 2 and Quest 2. The SDK comes in real handy when we want to see models/experiences in VR without losing any visual quality. In the next blog, we’ll see how we can use the XRTK along with ISAR SDK to stream a VR experience into Quest 2.Have you ever tried to run a scene with high polygon models and real-time lighting on your AR/ VR devices? I have tried it and I had the worst experience ever. If you haven't tried it yet, then you should know that running such a scene on a standalone device will cause the FPS to drop. You will see lag, probably get motion sick, it can also cause the device to overheat, etc.
If you've enjoyed the insights shared here, why not spread the word? Share the post with your friends and colleagues who might also find it valuable.
Your support means the world to us and helps us create more content you'll love.