我在統一創建簡單的谷歌紙板遊戲,我想添加分數。我知道如何正常使用它,但在VR中它並不適合我。我試圖把文本和顯示分數放在裏面,它看起來很不錯(不完全是因爲它只顯示一隻眼睛),但是在我測試手機文本後,它的位置完全不同。你知道什麼是正確的做法嗎?在VR中爲谷歌紙板在Unity中的GUI
回答
創建一個世界空間畫布,並將該畫布連接到相機。這就是我如何在VR遊戲中獲得我的UI。
你將需要一個自定義着色器爲你的世界空間用戶界面對象,它的渲染順序爲疊加並關閉ZTest。
這是具有必要更改的默認UI着色器的副本。應該做的伎倆。只需使用此着色器製作材質,然後將其應用於您想要在WorldSpace UI中幾何頂部繪製的所有內容。
Shader "UI/Default_OverlayNoZTest"
{
Properties
{
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
_Color ("Tint", Color) = (1,1,1,1)
_StencilComp ("Stencil Comparison", Float) = 8
_Stencil ("Stencil ID", Float) = 0
_StencilOp ("Stencil Operation", Float) = 0
_StencilWriteMask ("Stencil Write Mask", Float) = 255
_StencilReadMask ("Stencil Read Mask", Float) = 255
_ColorMask ("Color Mask", Float) = 15
}
SubShader
{
Tags
{
"Queue"="Overlay"
"IgnoreProjector"="True"
"RenderType"="Transparent"
"PreviewType"="Plane"
"CanUseSpriteAtlas"="True"
}
Stencil
{
Ref [_Stencil]
Comp [_StencilComp]
Pass [_StencilOp]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
}
Cull Off
Lighting Off
ZWrite Off
ZTest Off
Blend SrcAlpha OneMinusSrcAlpha
ColorMask [_ColorMask]
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata_t
{
float4 vertex : POSITION;
float4 color : COLOR;
float2 texcoord : TEXCOORD0;
};
struct v2f
{
float4 vertex : SV_POSITION;
fixed4 color : COLOR;
half2 texcoord : TEXCOORD0;
};
fixed4 _Color;
v2f vert(appdata_t IN)
{
v2f OUT;
OUT.vertex = mul(UNITY_MATRIX_MVP, IN.vertex);
OUT.texcoord = IN.texcoord;
#ifdef UNITY_HALF_TEXEL_OFFSET
OUT.vertex.xy += (_ScreenParams.zw-1.0)*float2(-1,1);
#endif
OUT.color = IN.color * _Color;
return OUT;
}
sampler2D _MainTex;
fixed4 frag(v2f IN) : SV_Target
{
half4 color = tex2D(_MainTex, IN.texcoord) * IN.color;
clip (color.a - 0.01);
return color;
}
ENDCG
}
}
}
歸功於http://answers.unity3d.com/questions/878667/world-space-canvas-on-top-of-everything.html
你這樣做嗎? http://imgur.com/VLTSEmF它工作正常,但你如何使這個UI始終可見(它有時隱藏在我的遊戲背後)? –
@faken我編輯了我的答案,希望它有幫助。 –
我認爲將這個着色器應用於新的Unity 5.4並不是強制性的。有人可以確認嗎? – Ashish
我說;設置一個RenderTexture並讓你的/ UI成爲唯一的東西,然後將RenderTexture粘貼到你的世界中的其他東西上
- 1. Unity 3D谷歌紙板(VR)凝視功能沒有EventTrigger
- 2. 在google chrome mobile中爲特定的谷歌紙板/ VR設備配置WebVR
- 3. 谷歌紙板sdk和谷歌vr統一sdk有什麼區別?
- 4. 如何在Unity上結合紙板VR + Vuforia AR插件?
- 5. Unity中的紙板:Android音量控制器無法在VR模式下工作
- 6. 谷歌紙板的Unity- Photosphere照片查看器
- 7. 使用谷歌紙板的SteamVR + Vridge和Unity遊戲開發(C#)
- 8. VR中的少年。谷歌地圖,谷歌街景和RTSP
- 9. VrPanoramaView的谷歌紙板屏幕截圖
- 10. 谷歌VR在iOS上查看側面
- 11. 如何在谷歌播放視頻在Android的紙板視圖?
- 12. 谷歌vr sdk沒有demoscenes
- 13. Unity 5.6 VR VRSettings.supportedDevices爲空
- 14. 谷歌紙板光標多次發射
- 15. 谷歌紙板默認失真值
- 16. 統一谷歌紙板漂移
- 17. 從哪裏開始編寫紙板vr?
- 18. 在谷歌白日夢VR sdk中的視頻播放器
- 19. Google VR + Unity + iOS
- 20. Physics.Raycast不能與谷歌紙板/谷歌虛擬現實
- 21. 如何創建react-vr「輸入vr按鈕/紙板」?
- 22. 在Unity中基於Google VR sdk的VR應用程序中移動UI按鈕
- 23. Unity紙板視圖跟蹤
- 24. 谷歌紙板:GL.LINES正在吸引每隻眼睛的限制
- 25. 更改紙板中的照片VR-360 SDK
- 26. 爲什麼我需要將手機放入Gear VR以調試谷歌紙板應用程序?
- 27. 在Unity Daydream(Google VR)中可以創建/導出爲WebGL嗎?
- 28. 谷歌紙板統一:刪除中心分隔線與齒輪?
- 29. 使用凝視輸入時間在谷歌紙板
- 30. 在谷歌紙板上播放視頻android example
你是否從紙板上觀看應用紙板設計,有很多提示或者vr的exp。 – tim