VR Tunnelling Pro
Plug-and-Play VR Comfort
Sigtrap.VrTunnellingPro.TunnellingMobile Class Reference

Description

Mobile-friendly tunnelling effect.
This script does not use post-processing. Limited to color, skybox and simple mask modes.

Inheritance diagram for Sigtrap.VrTunnellingPro.TunnellingMobile:
Sigtrap.VrTunnellingPro.TunnellingBase

Public Member Functions

void ApplyPreset (TunnellingPresetMobile p)
 Override some or all settings using a TunnellingPreset asset. More...
 
void AddObjectToMask (Renderer r, bool includeChildren=false)
 Start using object to mask tunnelling effect. More...
 
void RemoveObjectFromMask (Renderer r, bool includeChildren=false)
 Stop using object to mask tunnelling effect. More...
 
- Public Member Functions inherited from Sigtrap.VrTunnellingPro.TunnellingBase
virtual void ResetCounterMotion ()
 Reset cage and skybox orientation/offset when using counter motion. More...
 

Public Attributes

const string GLOBAL_PROP_STENCILREF = "_VRTP_Stencil_Ref"
 Global shader parameter controlling mobile masking stencil buffer value. More...
 
const string GLOBAL_PROP_STENCILMASK = "_VRTP_Stencil_Mask"
 Global shader parameter controlling mobile masking stencil buffer read/write mask. More...
 
const string GLOBAL_PROP_STENCILBIAS = "_VRTP_Stencil_Bias"
 Global shader parameter controlling mobile masking stencil buffer z-bias. More...
 
bool drawSkybox
 Draw skybox over vignette instead of solid color. More...
 
bool useMask
 Use stencil mask to exclude objects from vignette?
Can stress drawcalls and fillrate. More...
 
bool drawBeforeTransparent
 If true, transparent objects will draw on top of vignette.
Disables z-rejection optimisation. More...
 
int stencilReference =1
 Pixels with this value in the stencil buffer will be masked. More...
 
int stencilMask =255
 Write- and read-mask for stencil buffer.
If in doubt, leave at 255. More...
 
float stencilBias =1
 Offset Z on mask to avoid z-fighting. More...
 
- Public Attributes inherited from Sigtrap.VrTunnellingPro.TunnellingBase
const string GLOBAL_PROP_FOGCOLOR = "_VRTP_Cage_FogColor"
 Global shader parameter controlling fog color in shaders using CageFog.cginc. More...
 
const string GLOBAL_PROP_FOGDENSITY = "_VRTP_Cage_FogDensity"
 Global shader parameter controlling fog density in shaders using CageFog.cginc. More...
 
const string GLOBAL_PROP_FOGPOWER = "_VRTP_Cage_FogPower"
 Global shader parameter controlling fog falloff in shaders using CageFog.cginc. More...
 
const string GLOBAL_PROP_FOGBLEND = "_VRTP_Cage_FogBlend"
 Global shader parameter controlling fog strength in shaders using CageFog.cginc. More...
 
const float FEATHER_MAX = 0.5f
 
const float MOTION_STRENGTH_MAX = 2f
 
const float COUNTER_STRENGTH_MAX = 2f
 
const int FPSDIV_MAX = 60
 
Transform motionTarget
 Motion calculated using this Transform. Generally shouldn't use HMD. More...
 
Color effectColor = Color.black
 Colour of vignette. Alpha is blend factor.
If applyColorToBackground true, will affect background of advanced modes. More...
 
float effectCoverage = 0.75f
 Maximum screen coverage. More...
 
float effectFeather = 0.1f
 Feather around cut-off as fraction of screen. More...
 
Cubemap effectSkybox
 Skybox to apply to vignette.
Requires skybox mode to be enabled (varies depending upon effect). More...
 
bool applyColorToBackground = false
 Depending upon effect mode, causes effectColor to affect background.
Basic vignette mode always uses effectColor. More...
 
bool useAngularVelocity = true
 Add angular velocity to effect strength? Helps players with regular sim-sickness. More...
 
float angularVelocityStrength = 1
 Strength contributed to effect by angular velocity. More...
 
float angularVelocityMin = 0
 No effect contribution below this angular velocity. Degrees per second More...
 
float angularVelocityMax = 180
 Clamp effect contribution above this angular velocity. Degrees per second More...
 
float angularVelocitySmoothing = 0.15f
 Smoothing time for angular velocity calculation. 0 for no smoothing More...
 
bool useAcceleration = false
 Add linear acceleration to effect strength? Helps players with moderate sim-sickness. More...
 
float accelerationStrength = 1
 Strength contributed to effect by linear acceleration. More...
 
float accelerationMin
 No effect contribution below this acceleration. Metres per second squared More...
 
float accelerationMax
 Clamp effect contribution above this acceleration. Metres per second squared More...
 
float accelerationSmoothing = 0.15f
 Smoothing time for acceleration calculation. 0 for no smoothing More...
 
bool useVelocity = false
 Add translation velocity to effect strength? Helps players with strong sim-sickness. More...
 
float velocityStrength = 1
 Strength contributed to effect by linear velocity. More...
 
float velocityMin
 No effect contribution below this velocity. Metres per second More...
 
float velocityMax
 Clamp effect contribution above this velocity. Metres per second More...
 
float velocitySmoothing = 0.15f
 Smoothing time for velocity calculation. 0 for no smoothing More...
 
ForceVignetteMode forceVignetteMode
 How to combine forceVignetteValue with motion value to calculate effect radius. More...
 
float forceVignetteValue
 Force effect to be this value.
Combined with motion value according to forceVignetteMode. More...
 
Transform motionEffectTarget = null
 Transform used for artificial tilt and framerate division.
Should be a child of Motion Target and a parent of the HMD.
Target's transform should not be modified by anything else. More...
 
bool useCounterMotion = false
 Counter-motion moves/rotates cage/skybox opposite to motionTarget motion. More...
 
float counterRotationStrength = 1f
 Scale counter-rotation relative to motionTarget motion. More...
 
Vector3 counterRotationPerAxis = Vector3.up
 Scale counter-rotation on individual axes.
Multiplied by counterVelocityStrength.
X: Pitch, Y: Yaw, Z: Roll. More...
 
bool useArtificialTilt = false
 Artifically tilt the camera when moving to simulate acceleration forces. More...
 
float tiltStrength = 0f
 Strength of artificial tilt relative to linear acceleration.
Degrees per (metres per second squared). More...
 
Vector2 tiltMaxAngles = 5*Vector2.one
 Maximum artificial tilt in degrees. Zero for no clamp.
X: Pitch, Y: Roll. More...
 
float tiltSmoothTime = 0f
 Smooth out tilt over this time. More...
 
int framerateDivision = 1
 Divide VR framerate by this number while keeping HMD and cage at device framerate.
Forces stepped motion of motionEffectTarget rather than changing rendering.
More...
 
bool divideTranslation = true
 Apply framerateDivision division to linear motion. More...
 
bool divideRotation = true
 Apply framerateDivision division to rotation. More...
 

Properties

static TunnellingMobile instance [get]
 Singleton instance.
Refers to a TunnellingMobile effect.
Will not refer to a Tunnelling or TunnellingOpaque effect. More...
 
static Material stencilMat [get]
 
bool irisZRejectionEnabled [get]
 If true, opaque portion of effect is drawn at start of frame, preventing overdraw by writing to z buffer.
Disabled by masking or drawing before transparent objects. More...
 
- Properties inherited from Sigtrap.VrTunnellingPro.TunnellingBase
bool usingMotionEffectTarget [get]
 Indicates whether the motionEffectTarget is currently being used for motion effects. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Sigtrap.VrTunnellingPro.TunnellingBase
static Vector3 SmoothDampAngle (Vector3 current, Vector3 target, ref Vector3 vel, float smoothTime, float maxSpeed, float dT)
 
- Public Types inherited from Sigtrap.VrTunnellingPro.TunnellingBase
enum  BackgroundMode {
  BackgroundMode.COLOR, BackgroundMode.SKYBOX, BackgroundMode.CAGE_COLOR, BackgroundMode.CAGE_SKYBOX,
  BackgroundMode.CAGE_ONLY, BackgroundMode.BLUR
}
 Determines what is drawn over the periphery in the vignetted region. More...
 
enum  MaskMode { MaskMode.OFF, MaskMode.MASK, MaskMode.WINDOW, MaskMode.PORTAL }
 Determines whether and how objects can mask the vignette. More...
 
enum  MSAA {
  MSAA.AUTO, MSAA.OFF, MSAA.X2, MSAA.X4,
  X8
}
 Antialiasing modes for cage RenderTexture. More...
 
enum  ForceVignetteMode {
  ForceVignetteMode.NONE = 0, ForceVignetteMode.CONSTANT = 10, ForceVignetteMode.MAX = 20, ForceVignetteMode.MIN = 30,
  ADD = 40
}
 How to calculate effect radius according to motion and force effect value. More...
 

Member Function Documentation

◆ AddObjectToMask()

void Sigtrap.VrTunnellingPro.TunnellingMobile.AddObjectToMask ( Renderer  r,
bool  includeChildren = false 
)
inline

Start using object to mask tunnelling effect.

Parameters
rRenderer to add to mask.
includeChildrenIf set to true include children.

◆ ApplyPreset()

void Sigtrap.VrTunnellingPro.TunnellingMobile.ApplyPreset ( TunnellingPresetMobile  p)
inline

Override some or all settings using a TunnellingPreset asset.

◆ RemoveObjectFromMask()

void Sigtrap.VrTunnellingPro.TunnellingMobile.RemoveObjectFromMask ( Renderer  r,
bool  includeChildren = false 
)
inline

Stop using object to mask tunnelling effect.

Parameters
rRenderer to remove from mask.
includeChildrenIf set to true include children.

Member Data Documentation

◆ drawBeforeTransparent

bool Sigtrap.VrTunnellingPro.TunnellingMobile.drawBeforeTransparent

If true, transparent objects will draw on top of vignette.
Disables z-rejection optimisation.

◆ drawSkybox

bool Sigtrap.VrTunnellingPro.TunnellingMobile.drawSkybox

Draw skybox over vignette instead of solid color.

◆ GLOBAL_PROP_STENCILBIAS

const string Sigtrap.VrTunnellingPro.TunnellingMobile.GLOBAL_PROP_STENCILBIAS = "_VRTP_Stencil_Bias"

Global shader parameter controlling mobile masking stencil buffer z-bias.

◆ GLOBAL_PROP_STENCILMASK

const string Sigtrap.VrTunnellingPro.TunnellingMobile.GLOBAL_PROP_STENCILMASK = "_VRTP_Stencil_Mask"

Global shader parameter controlling mobile masking stencil buffer read/write mask.

◆ GLOBAL_PROP_STENCILREF

const string Sigtrap.VrTunnellingPro.TunnellingMobile.GLOBAL_PROP_STENCILREF = "_VRTP_Stencil_Ref"

Global shader parameter controlling mobile masking stencil buffer value.

◆ stencilBias

float Sigtrap.VrTunnellingPro.TunnellingMobile.stencilBias =1

Offset Z on mask to avoid z-fighting.

◆ stencilMask

int Sigtrap.VrTunnellingPro.TunnellingMobile.stencilMask =255

Write- and read-mask for stencil buffer.
If in doubt, leave at 255.

◆ stencilReference

int Sigtrap.VrTunnellingPro.TunnellingMobile.stencilReference =1

Pixels with this value in the stencil buffer will be masked.

◆ useMask

bool Sigtrap.VrTunnellingPro.TunnellingMobile.useMask

Use stencil mask to exclude objects from vignette?
Can stress drawcalls and fillrate.

Property Documentation

◆ instance

TunnellingMobile Sigtrap.VrTunnellingPro.TunnellingMobile.instance
staticget

Singleton instance.
Refers to a TunnellingMobile effect.
Will not refer to a Tunnelling or TunnellingOpaque effect.

◆ irisZRejectionEnabled

bool Sigtrap.VrTunnellingPro.TunnellingMobile.irisZRejectionEnabled
get

If true, opaque portion of effect is drawn at start of frame, preventing overdraw by writing to z buffer.
Disabled by masking or drawing before transparent objects.


The documentation for this class was generated from the following file: