Mobile-friendly tunnelling effect.
This script does not use post-processing. Limited to color, skybox and simple mask modes.
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... | |
|
inline |
Start using object to mask tunnelling effect.
r | Renderer to add to mask. |
includeChildren | If set to true include children. |
|
inline |
Override some or all settings using a TunnellingPreset asset.
|
inline |
Stop using object to mask tunnelling effect.
r | Renderer to remove from mask. |
includeChildren | If set to true include children. |
bool Sigtrap.VrTunnellingPro.TunnellingMobile.drawBeforeTransparent |
If true, transparent objects will draw on top of vignette.
Disables z-rejection optimisation.
bool Sigtrap.VrTunnellingPro.TunnellingMobile.drawSkybox |
Draw skybox over vignette instead of solid color.
const string Sigtrap.VrTunnellingPro.TunnellingMobile.GLOBAL_PROP_STENCILBIAS = "_VRTP_Stencil_Bias" |
Global shader parameter controlling mobile masking stencil buffer z-bias.
const string Sigtrap.VrTunnellingPro.TunnellingMobile.GLOBAL_PROP_STENCILMASK = "_VRTP_Stencil_Mask" |
Global shader parameter controlling mobile masking stencil buffer read/write mask.
const string Sigtrap.VrTunnellingPro.TunnellingMobile.GLOBAL_PROP_STENCILREF = "_VRTP_Stencil_Ref" |
Global shader parameter controlling mobile masking stencil buffer value.
float Sigtrap.VrTunnellingPro.TunnellingMobile.stencilBias =1 |
Offset Z on mask to avoid z-fighting.
int Sigtrap.VrTunnellingPro.TunnellingMobile.stencilMask =255 |
Write- and read-mask for stencil buffer.
If in doubt, leave at 255.
int Sigtrap.VrTunnellingPro.TunnellingMobile.stencilReference =1 |
Pixels with this value in the stencil buffer will be masked.
bool Sigtrap.VrTunnellingPro.TunnellingMobile.useMask |
Use stencil mask to exclude objects from vignette?
Can stress drawcalls and fillrate.
|
staticget |
Singleton instance.
Refers to a TunnellingMobile effect.
Will not refer to a Tunnelling or TunnellingOpaque effect.
|
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.