1. 程式人生 > 其它 >Unity製作360度全景

Unity製作360度全景

技術標籤:C#unity開發unity3dshaderunity

建立一個sphere,scale的x,y,z分別設定為30

建立一個SurfaceShader,右鍵Assets–>Create–>Shader–>InsideVisible

Shader "Custom/InsideVisible" {
 
Properties {
	_MainTex ("Base (RGB)", 2D) = "white" {}
}
 
SubShader {
	Tags { "RenderType"="Opaque"
} Cull front // ADDED BY BERNIE, TO FLIP THE SURFACES LOD 100 Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" struct appdata_t { float4 vertex : POSITION; float2 texcoord : TEXCOORD0; }; struct v2f { float4 vertex :
SV_POSITION; half2 texcoord : TEXCOORD0; }; sampler2D _MainTex; float4 _MainTex_ST; v2f vert (appdata_t v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); // ADDED BY BERNIE: v.texcoord.x = 1 - v.texcoord.x; o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex)
; return o; } fixed4 frag (v2f i) : SV_Target { fixed4 col = tex2D(_MainTex, i.texcoord); return col; } ENDCG } } }

把sphere的shader設定為Custom/InsideVisible