我将如何创建一个固定在我的相机的远景板上的广告牌?

我试图设置一个GameObject(飞机)在我的相机的远景。 我打算把这个广告牌当作一种dynamic的天空盒。 我将如何创建一个固定在我的相机的远景板上的广告牌?

我会在着色器中做这个:

Shader "Unlit/SkyplaneShader" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" "Queue"="Geometry+1"} LOD 100 Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; }; struct v2f { float2 uv : TEXCOORD0; float4 vertex : SV_POSITION; }; sampler2D _MainTex; float4 _MainTex_ST; v2f vert (appdata v) { v2f o; o.vertex = float4(v.uv * 2.0f - 1.0f, 0.9999f, 1.0f); o.uv = TRANSFORM_TEX(v.uv, _MainTex); return o; } fixed4 frag (v2f i) : SV_Target { // sample the texture fixed4 col = tex2D(_MainTex, i.uv); return col; } ENDCG } } } 

它所做的是采用一个四边形或者拉伸它来填充相机的视口,在最深处。

请注意,这会打破Unity在对象上的预期边界 – 无论Unity是否认为网格位于相机视锥之外,始终都是在视图中。 我建议或者把它父母给摄像头,让它们一起移动,或者使用脚本来禁用这个对象的平截头体。

首先, Skybox不是你想要创造的东西。 它是一组代表上,下,左,右,上,下六个图像。 为了理解它,简单一些,考虑一下你的相机是在一个立方体中,而你的立方体肯定是全部的6个面。 有关更多详情,请参阅此链接 。

Quad相比,Second Plane相当昂贵,所以如果你想以这种方式使用它(反正),那就用Quad代替。

第三是我会建议使用不同的相机,不同层的渲染使用四分之一 ,相机的深度比你的主相机深,只有渲染该 。 从这个简单的步骤,你会得到你想要的效果,因为你的问题是假装。