72 lines
2.6 KiB
C#
72 lines
2.6 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace HVR
|
|
{
|
|
public class EnablePassThrough : MonoBehaviour
|
|
{
|
|
EHVRErrorCode hvrErr;
|
|
EHVRSettingsError settingErr;
|
|
//IHVRSettings_FnTable *vr_settings = (IHVRSettings_FnTable*) HVR_GetGenericInterface(IHVRSettings_Version, &hvrErr);
|
|
public bool enable = true;
|
|
public int blend_mode = 0;
|
|
private int origin_blend_mode = 4;
|
|
// Start is called before the first frame update
|
|
private CHVRSettings vr_settings;
|
|
|
|
private void Awake() {
|
|
HVRClass.Init(ref hvrErr);
|
|
vr_settings = HVRClass.Settings;
|
|
}
|
|
void Start()
|
|
{
|
|
if(vr_settings != null)
|
|
{
|
|
origin_blend_mode = vr_settings.GetInt32("camera", "cameraRoomViewMode", ref settingErr);
|
|
Debug.Log("cameraRoomViewMode: " + origin_blend_mode);
|
|
// Change exposure mode
|
|
vr_settings.SetBool("camera", "cameraRoomViewAlwaysOn", enable, ref settingErr);
|
|
if (settingErr == EHVRSettingsError.EVRSettingsError_None)
|
|
{
|
|
Debug.Log("Enable pass through successfully."); // Enable pass through successfully
|
|
} else
|
|
{
|
|
Debug.Log("Enable pass through failed: " + settingErr);
|
|
}
|
|
|
|
vr_settings.SetInt32("camera", "cameraRoomViewMode", blend_mode, ref settingErr);
|
|
if (settingErr == EHVRSettingsError.EVRSettingsError_None)
|
|
{
|
|
Debug.Log("Set camera mode successfully."); // Set camera mode successfully
|
|
} else
|
|
{
|
|
Debug.Log("Set camera mode failed: " + settingErr);
|
|
}
|
|
} else
|
|
{
|
|
Debug.Log("vr_settings is null.");
|
|
}
|
|
}
|
|
|
|
private void OnApplicationQuit()
|
|
{
|
|
if(vr_settings != null)
|
|
{
|
|
// Disable pass through before closing the App.
|
|
vr_settings.SetBool("camera", "cameraRoomViewAlwaysOn", !enable, ref settingErr);
|
|
if (settingErr == EHVRSettingsError.EVRSettingsError_None)
|
|
{
|
|
Debug.Log("Disable pass through.");
|
|
}
|
|
|
|
vr_settings.SetInt32("camera", "cameraRoomViewMode", origin_blend_mode, ref settingErr);
|
|
if (settingErr == EHVRSettingsError.EVRSettingsError_None)
|
|
{
|
|
Debug.Log("Reset cameraRoomViewMode: " + origin_blend_mode);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |