Semi-working fade into warehouse by trigger press
This commit is contained in:
+16
-1
@@ -1,12 +1,21 @@
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
using Valve.VR;
|
||||||
|
|
||||||
public class CameraFade : MonoBehaviour {
|
public class CameraFade : MonoBehaviour {
|
||||||
|
|
||||||
|
public RenderTexture BlendTextureLeft;
|
||||||
|
public RenderTexture BlendTextureRight;
|
||||||
|
|
||||||
private float alpha = 0.0F;
|
private float alpha = 0.0F;
|
||||||
|
|
||||||
|
static Material blitMaterial;
|
||||||
|
|
||||||
// Use this for initialization
|
// Use this for initialization
|
||||||
void Start () {
|
void Start () {
|
||||||
|
if (!blitMaterial) {
|
||||||
|
blitMaterial = new Material(Shader.Find("Custom/TransparencyBitch"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update is called once per frame
|
// Update is called once per frame
|
||||||
@@ -16,6 +25,12 @@ public class CameraFade : MonoBehaviour {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void OnRenderImage(RenderTexture src, RenderTexture dest) {
|
void OnRenderImage(RenderTexture src, RenderTexture dest) {
|
||||||
|
blitMaterial.SetFloat("_Ratio", alpha);
|
||||||
|
if (SteamVR_Render.eye == EVREye.Eye_Left) {
|
||||||
|
blitMaterial.SetTexture("_BlendTex", BlendTextureLeft);
|
||||||
|
} else {
|
||||||
|
blitMaterial.SetTexture("_BlendTex", BlendTextureRight);
|
||||||
|
}
|
||||||
|
Graphics.Blit(src, dest, blitMaterial);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Executable
BIN
Binary file not shown.
+8
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 15863de937343d84e9dc21fc4dea787c
|
||||||
|
timeCreated: 1463604762
|
||||||
|
licenseType: Free
|
||||||
|
NativeFormatImporter:
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Executable
BIN
Binary file not shown.
+8
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bb6fbe54b99bc0e46bc79e09c5fa111d
|
||||||
|
timeCreated: 1463605078
|
||||||
|
licenseType: Free
|
||||||
|
NativeFormatImporter:
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -14,7 +14,7 @@ public class SteamVR_Editor : Editor
|
|||||||
int bannerHeight = 150;
|
int bannerHeight = 150;
|
||||||
Texture logo;
|
Texture logo;
|
||||||
|
|
||||||
SerializedProperty script, wireframe;
|
SerializedProperty script, wireframe, RightEyeRenderTexture, LeftEyeRenderTexture;
|
||||||
|
|
||||||
string GetResourcePath()
|
string GetResourcePath()
|
||||||
{
|
{
|
||||||
@@ -36,6 +36,9 @@ public class SteamVR_Editor : Editor
|
|||||||
|
|
||||||
wireframe = serializedObject.FindProperty("wireframe");
|
wireframe = serializedObject.FindProperty("wireframe");
|
||||||
|
|
||||||
|
RightEyeRenderTexture = serializedObject.FindProperty("RightEyeRenderTexture");
|
||||||
|
LeftEyeRenderTexture = serializedObject.FindProperty("LeftEyeRenderTexture");
|
||||||
|
|
||||||
foreach (SteamVR_Camera target in targets)
|
foreach (SteamVR_Camera target in targets)
|
||||||
target.ForceLast();
|
target.ForceLast();
|
||||||
}
|
}
|
||||||
@@ -105,6 +108,8 @@ public class SteamVR_Editor : Editor
|
|||||||
|
|
||||||
EditorGUILayout.PropertyField(script);
|
EditorGUILayout.PropertyField(script);
|
||||||
EditorGUILayout.PropertyField(wireframe);
|
EditorGUILayout.PropertyField(wireframe);
|
||||||
|
EditorGUILayout.PropertyField(LeftEyeRenderTexture);
|
||||||
|
EditorGUILayout.PropertyField(RightEyeRenderTexture);
|
||||||
|
|
||||||
serializedObject.ApplyModifiedProperties();
|
serializedObject.ApplyModifiedProperties();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ public class SteamVR_Camera : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
public bool wireframe = false;
|
public bool wireframe = false;
|
||||||
|
public RenderTexture LeftEyeRenderTexture;
|
||||||
|
public RenderTexture RightEyeRenderTexture;
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private SteamVR_CameraFlip flip;
|
private SteamVR_CameraFlip flip;
|
||||||
@@ -229,8 +231,8 @@ public class SteamVR_Camera : MonoBehaviour
|
|||||||
#else
|
#else
|
||||||
if (this != components[components.Length - 1] || flip == null)
|
if (this != components[components.Length - 1] || flip == null)
|
||||||
{
|
{
|
||||||
if (flip == null)
|
//if (flip == null)
|
||||||
flip = gameObject.AddComponent<SteamVR_CameraFlip>();
|
// flip = gameObject.AddComponent<SteamVR_CameraFlip>();
|
||||||
#endif
|
#endif
|
||||||
// Store off values to be restored on new instance
|
// Store off values to be restored on new instance
|
||||||
values = new Hashtable();
|
values = new Hashtable();
|
||||||
@@ -385,8 +387,8 @@ public class SteamVR_Camera : MonoBehaviour
|
|||||||
|
|
||||||
void OnPreRender()
|
void OnPreRender()
|
||||||
{
|
{
|
||||||
if (flip)
|
//if (flip)
|
||||||
flip.enabled = (SteamVR_Render.Top() == this && SteamVR.instance.graphicsAPI == EGraphicsAPIConvention.API_DirectX);
|
// flip.enabled = (SteamVR_Render.Top() == this && SteamVR.instance.graphicsAPI == EGraphicsAPIConvention.API_DirectX);
|
||||||
|
|
||||||
var headCam = head.GetComponent<Camera>();
|
var headCam = head.GetComponent<Camera>();
|
||||||
if (headCam != null)
|
if (headCam != null)
|
||||||
@@ -402,44 +404,49 @@ public class SteamVR_Camera : MonoBehaviour
|
|||||||
GL.wireframe = false;
|
GL.wireframe = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnRenderImage(RenderTexture src, RenderTexture dest)
|
void OnRenderImage(RenderTexture src, RenderTexture dest) {
|
||||||
{
|
if (LeftEyeRenderTexture == null) {
|
||||||
if (SteamVR_Render.Top() == this)
|
//if (SteamVR_Render.Top() == this) {
|
||||||
{
|
int eventID;
|
||||||
int eventID;
|
if (SteamVR_Render.eye == EVREye.Eye_Left) {
|
||||||
if (SteamVR_Render.eye == EVREye.Eye_Left)
|
// Get gpu started on work early to avoid bubbles at the top of the frame.
|
||||||
{
|
SteamVR_Utils.QueueEventOnRenderThread(SteamVR.Unity.k_nRenderEventID_Flush);
|
||||||
// Get gpu started on work early to avoid bubbles at the top of the frame.
|
|
||||||
SteamVR_Utils.QueueEventOnRenderThread(SteamVR.Unity.k_nRenderEventID_Flush);
|
|
||||||
|
|
||||||
eventID = SteamVR.Unity.k_nRenderEventID_SubmitL;
|
eventID = SteamVR.Unity.k_nRenderEventID_SubmitL;
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
{
|
eventID = SteamVR.Unity.k_nRenderEventID_SubmitR;
|
||||||
eventID = SteamVR.Unity.k_nRenderEventID_SubmitR;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Queue up a call on the render thread to Submit our render target to the compositor.
|
// Queue up a call on the render thread to Submit our render target to the compositor.
|
||||||
SteamVR_Utils.QueueEventOnRenderThread(eventID);
|
SteamVR_Utils.QueueEventOnRenderThread(eventID);
|
||||||
}
|
|
||||||
|
|
||||||
|
//}
|
||||||
|
} else {
|
||||||
|
if (SteamVR_Render.eye == EVREye.Eye_Right) {
|
||||||
|
Graphics.Blit(src, RightEyeRenderTexture);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Graphics.Blit(src, LeftEyeRenderTexture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Graphics.SetRenderTarget(dest);
|
//Graphics.SetRenderTarget(dest);
|
||||||
SteamVR_Camera.blitMaterial.mainTexture = src;
|
//SteamVR_Camera.blitMaterial.mainTexture = src;
|
||||||
|
|
||||||
GL.PushMatrix();
|
//GL.PushMatrix();
|
||||||
GL.LoadOrtho();
|
//GL.LoadOrtho();
|
||||||
SteamVR_Camera.blitMaterial.SetPass(0);
|
//SteamVR_Camera.blitMaterial.SetPass(0);
|
||||||
GL.Begin(GL.QUADS);
|
//GL.Begin(GL.QUADS);
|
||||||
GL.TexCoord2(0.0f, 0.0f); GL.Vertex3(-1, 1, 0);
|
//GL.TexCoord2(0.0f, 0.0f); GL.Vertex3(-1, 1, 0);
|
||||||
GL.TexCoord2(1.0f, 0.0f); GL.Vertex3(1, 1, 0);
|
//GL.TexCoord2(1.0f, 0.0f); GL.Vertex3(1, 1, 0);
|
||||||
GL.TexCoord2(1.0f, 1.0f); GL.Vertex3(1, -1, 0);
|
//GL.TexCoord2(1.0f, 1.0f); GL.Vertex3(1, -1, 0);
|
||||||
GL.TexCoord2(0.0f, 1.0f); GL.Vertex3(-1, -1, 0);
|
//GL.TexCoord2(0.0f, 1.0f); GL.Vertex3(-1, -1, 0);
|
||||||
GL.End();
|
//GL.End();
|
||||||
GL.PopMatrix();
|
//GL.PopMatrix();
|
||||||
|
|
||||||
Graphics.SetRenderTarget(null);
|
//Graphics.SetRenderTarget(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
@@ -261,7 +261,7 @@ public class SteamVR_PlayArea : MonoBehaviour
|
|||||||
// No need to remain enabled at runtime.
|
// No need to remain enabled at runtime.
|
||||||
// Anyone that wants to change properties at runtime
|
// Anyone that wants to change properties at runtime
|
||||||
// should call BuildMesh themselves.
|
// should call BuildMesh themselves.
|
||||||
//enabled = false;
|
enabled = false;
|
||||||
|
|
||||||
// If we want the configured bounds of the user,
|
// If we want the configured bounds of the user,
|
||||||
// we need to wait for tracking.
|
// we need to wait for tracking.
|
||||||
|
|||||||
Binary file not shown.
Executable
+47
@@ -0,0 +1,47 @@
|
|||||||
|
Shader "Custom/TransparencyBitch" {
|
||||||
|
Properties {
|
||||||
|
_MainTex ("Base (RGB)", 2D) = "white" {}
|
||||||
|
_BlendTex ("Overlay", 2D) = "white" {}
|
||||||
|
_Ratio ("Ratio", Float) = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
CGINCLUDE
|
||||||
|
|
||||||
|
#include "UnityCG.cginc"
|
||||||
|
|
||||||
|
uniform sampler2D _MainTex;
|
||||||
|
uniform sampler2D _BlendTex;
|
||||||
|
uniform float _Ratio;
|
||||||
|
|
||||||
|
struct v2f {
|
||||||
|
float4 pos : SV_POSITION;
|
||||||
|
float2 tex : TEXCOORD0;
|
||||||
|
};
|
||||||
|
|
||||||
|
v2f vert(appdata_base v) {
|
||||||
|
v2f o;
|
||||||
|
o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
|
||||||
|
o.tex = v.texcoord;
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
float4 frag(v2f i) : COLOR {
|
||||||
|
float4 color = tex2D(_MainTex, i.tex);
|
||||||
|
float4 color2 = tex2D(_BlendTex, i.tex);
|
||||||
|
return float4(color.rgb * (1 - _Ratio) + color2.rgb * (_Ratio), 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
ENDCG
|
||||||
|
|
||||||
|
SubShader {
|
||||||
|
Pass {
|
||||||
|
ZTest Always Cull Off ZWrite Off
|
||||||
|
Fog { Mode Off }
|
||||||
|
|
||||||
|
CGPROGRAM
|
||||||
|
#pragma vertex vert
|
||||||
|
#pragma fragment frag
|
||||||
|
ENDCG
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Executable
+11
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b34e75cfff6508b4db83d740a420b0e9
|
||||||
|
timeCreated: 1463603082
|
||||||
|
licenseType: Free
|
||||||
|
ShaderImporter:
|
||||||
|
defaultTextures:
|
||||||
|
- _MainTex: {instanceID: 0}
|
||||||
|
- _BlendTex: {fileID: 2800000, guid: 6a329c6c386d4994d8eb9a05534ed2fc, type: 3}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
Reference in New Issue
Block a user