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.