Table of Contents

Class TuringCameraT1

Namespace
Turing.Core.StereoCore
Assembly
Turing.Core.dll
[ExecuteInEditMode]
[DefaultExecutionOrder(-980)]
[DisallowMultipleComponent]
[RequireComponent(typeof(Camera))]
public sealed class TuringCameraT1 : TuringCamera
Inheritance
Object
Component
Behaviour
MonoBehaviour
TuringCameraT1
Inherited Members
MonoBehaviour.IsInvoking()
MonoBehaviour.CancelInvoke()
MonoBehaviour.StopCoroutine(Coroutine)
MonoBehaviour.StopAllCoroutines()
MonoBehaviour.useGUILayout
MonoBehaviour.runInEditMode
Behaviour.enabled
Behaviour.isActiveAndEnabled
Component.GetComponent<T>()
Component.TryGetComponent<T>(out T)
Component.GetComponentInChildren<T>()
Component.GetComponentsInChildren<T>()
Component.GetComponentInParent<T>()
Component.GetComponentsInParent<T>()
Component.GetComponents<T>()
Component.transform
Component.gameObject
Component.tag
Object.GetInstanceID()
Object.GetHashCode()
Object.Instantiate(Object, Vector3, Quaternion)
Object.Instantiate(Object, Vector3, Quaternion, Transform)
Object.Instantiate(Object)
Object.Instantiate(Object, Transform)
Object.Instantiate<T>(T)
Object.Instantiate<T>(T, Vector3, Quaternion)
Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
Object.Instantiate<T>(T, Transform)
Object.Destroy(Object)
Object.DestroyImmediate(Object)
Object.DontDestroyOnLoad(Object)
Object.DestroyObject(Object)
Object.FindObjectsOfType<T>()
Object.FindObjectsByType<T>(FindObjectsSortMode)
Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
Object.FindObjectOfType<T>()
Object.FindFirstObjectByType<T>()
Object.FindAnyObjectByType<T>()
Object.FindFirstObjectByType<T>(FindObjectsInactive)
Object.FindAnyObjectByType<T>(FindObjectsInactive)
Object.ToString()
Object.name
Object.hideFlags
Extension Methods

Fields

ClearScreenWhileSwitch

[HideInInspector]
[Tooltip("Add Gray screen while switch between 3D/2D")]
public TuringCameraT1.TypeClearFlag ClearScreenWhileSwitch

Field Value

TuringCameraT1.TypeClearFlag

EyeTrackFOV

public static float[] EyeTrackFOV

Field Value

float[]

EyeTrackFOVBias

public static Vector4 EyeTrackFOVBias

Field Value

Vector4

EyeTrackingSwitch

[HideInInspector]
public bool EyeTrackingSwitch

Field Value

bool

FrustumSyncEnable

[HideInInspector]
[Tooltip("Enable frustum sync when start, this can benefit better 3D view experience and immersivity")]
public bool FrustumSyncEnable

Field Value

bool

GrayScreenColor

[HideInInspector]
[Tooltip("Gray sreen color")]
public Color GrayScreenColor

Field Value

Color

HoldBeforeSwitch3DOn

[HideInInspector]
public bool HoldBeforeSwitch3DOn

Field Value

bool

IGNOREHEADROTATION

public static bool IGNOREHEADROTATION

Field Value

bool

IgnoreDuplicate2DSwitch

public static bool IgnoreDuplicate2DSwitch

Field Value

bool

NoneSmoothedHeadTilt

[HideInInspector]
public float NoneSmoothedHeadTilt

Field Value

float

OnTrackingFound

public static UnityEvent OnTrackingFound

Field Value

UnityEvent

OnTrackingLost

public static UnityEvent OnTrackingLost

Field Value

UnityEvent

ScriptPriority

public const int ScriptPriority = -980

Field Value

int

ScriptsToCopy

[HideInInspector]
[Tooltip("Select which scripts to copy(most time the post effects) to the new created stereo cameras at runtime")]
public string[] ScriptsToCopy

Field Value

string[]

SmoothedHeadTilt

[HideInInspector]
public float SmoothedHeadTilt

Field Value

float

StereoRigs

[HideInInspector]
public GameObject StereoRigs

Field Value

GameObject

USESTEREOBASIS

public static bool USESTEREOBASIS

Field Value

bool

VirtualScreenWidth

[HideInInspector]
[Tooltip("It's the virtual avatar size for the 3D screen, Refer to user manual or the sample scenes to set it")]
public float VirtualScreenWidth

Field Value

float

_antiAliasing

[HideInInspector]
public int _antiAliasing

Field Value

int

allowExpandScreenSleep

public static bool allowExpandScreenSleep

Field Value

bool

allowTuringScreenDetection

public static bool allowTuringScreenDetection

Field Value

bool

curHeadMoveCompensationParam

[HideInInspector]
public float curHeadMoveCompensationParam

Field Value

float

doubleWidthFlag

public static int doubleWidthFlag

Field Value

int

enableDebugMenu

public static bool enableDebugMenu

Field Value

bool

enableDebugging

public static bool enableDebugging

Field Value

bool

et

[HideInInspector]
public EyeTracking et

Field Value

EyeTracking

eyeTrackingMethod

[HideInInspector]
public EyeTracking.TrackingMethod eyeTrackingMethod

Field Value

EyeTracking.TrackingMethod

focalDistance

public static float focalDistance

Field Value

float

mockHMDDetected

public static bool mockHMDDetected

Field Value

bool

safeDisparity

public static float safeDisparity

Field Value

float

screenAspectRatio

public static float screenAspectRatio

Field Value

float

screenCapType

[HideInInspector]
public int screenCapType

Field Value

int

screenSizeInInch

public static float screenSizeInInch

Field Value

float

stereoBasis

public static float stereoBasis

Field Value

float

sysConfig

public static Dictionary<string, Dictionary<string, string>> sysConfig

Field Value

Dictionary<string, Dictionary<string, string>>

trackingDevice

[HideInInspector]
public EyeTracking.TrackingDevice trackingDevice

Field Value

EyeTracking.TrackingDevice

usedShader

[HideInInspector]
public TuringCameraT1.AutoStereoShader usedShader

Field Value

TuringCameraT1.AutoStereoShader

Properties

HeadMoveCompensationParam

[HideInInspector]
public float HeadMoveCompensationParam { get; set; }

Property Value

float

IpAddress

[HideInInspector]
public string IpAddress { get; set; }

Property Value

string

NearClipPlaneAdj

public float NearClipPlaneAdj { get; set; }

Property Value

float

Port

public int Port { get; set; }

Property Value

int

StereoStrength

Stereobasis dynamically adjusted all the time

public float StereoStrength { get; set; }

Property Value

float

ZOffset

A convenient way to adjust depth at the runtime

public float ZOffset { get; set; }

Property Value

float

Methods

AdjustFOVScale(float)

public override void AdjustFOVScale(float FovScale)

Parameters

FovScale float

CalibHelpSwitch(GameObject)

public void CalibHelpSwitch(GameObject helpMenu)

Parameters

helpMenu GameObject

CalibRecenter(Text)

re-Calibration Rotation and Yaw benefit bigger parallax scenaries when looking far and near

public void CalibRecenter(Text value)

Parameters

value Text

CalibRecenterClear(Text)

public void CalibRecenterClear(Text value)

Parameters

value Text

CalibResultRefresh(Text)

public void CalibResultRefresh(Text value)

Parameters

value Text

CheckAndRefreshScreens()

public void CheckAndRefreshScreens()

CheckMultiScreen()

public int CheckMultiScreen()

Returns

int

ClearMainScreen(bool)

public void ClearMainScreen(bool recover)

Parameters

recover bool

ClearMainScreenUsingOldCamEnd()

public void ClearMainScreenUsingOldCamEnd()

ClearMainScreenUsingOldCamStart()

public void ClearMainScreenUsingOldCamStart()

DelaySwitchTo3D()

public void DelaySwitchTo3D()

ExitPrepareElse(Action)

public void ExitPrepareElse(Action action)

Parameters

action Action

ForceSwitchScreenWeaving()

public void ForceSwitchScreenWeaving()

InitSysconfig()

public Dictionary<string, Dictionary<string, string>> InitSysconfig()

Returns

Dictionary<string, Dictionary<string, string>>

LRInterleaveSwitch()

public void LRInterleaveSwitch()

MinimizeWindow()

public void MinimizeWindow()

NearClipPlaneReset()

public void NearClipPlaneReset()

PFNotify(PlatformFeatures)

public void PFNotify(EyeTracking.PlatformFeatures features)

Parameters

features EyeTracking.PlatformFeatures

Quit()

public override void Quit()

ReSetVirtualScreenWidth(float)

public void ReSetVirtualScreenWidth(float width)

Parameters

width float

RefreshEye(Vector3, Vector3)

public void RefreshEye(Vector3 EyeLeft, Vector3 EyeRight)

Parameters

EyeLeft Vector3
EyeRight Vector3

SetEyeTrackingEnable(bool)

public bool SetEyeTrackingEnable(bool param)

Parameters

param bool

Returns

bool

SetScreen()

public void SetScreen()

SetScreenMono()

public void SetScreenMono()

SetScreenMonoImmediate()

public void SetScreenMonoImmediate()

SetScreenSBS()

public void SetScreenSBS()

SetScreenSBSImmediate()

public void SetScreenSBSImmediate()

Start()

public void Start()

Switch3DCoroutine(uint, bool, Action, TypeClearFlag, bool, int, bool)

As long as eesvr can not report acurate switch time, the timeout can be vary around 140ms-2s for callback, however, real effect happen on about 40ms/50ms, just let it go but restrict next call with fix delay > 140ms

public IEnumerator Switch3DCoroutine(uint status, bool hardWait = false, Action callback = null, TuringCameraT1.TypeClearFlag clearTag = TypeClearFlag.AutoClear, bool FixedTiming = false, int clearDuration = 3, bool ignoreIfSwitching = false)

Parameters

status uint

3D On /Off status

hardWait bool

block the thread to wait

callback Action

register other process

clearTag TuringCameraT1.TypeClearFlag

clear screen with selected color in switching,ignored if 3d status need not change

FixedTiming bool

When jumping from a 3d application like 3dExplorer, the OnOff3D is not reliable, have to switch to fixed timeout

clearDuration int

frame numbers for screen clearing, in number of frames

ignoreIfSwitching bool

ignore this switch command if last switching is not done

Returns

IEnumerator

SwitchFrustumSyncEnable()

public void SwitchFrustumSyncEnable()

SwitchScreen3D(bool)

public override void SwitchScreen3D(bool focus)

Parameters

focus bool

UpdateMonoPerspective()

public void UpdateMonoPerspective()

initScreen()

public void initScreen()