簡體   English   中英

在Unity3D中將背景設置為超出攝像機限制的區域(視口矩形)

[英]Set a background to the area out of camera limits (Viewport Rect) in Unity3D

我說的是Unity3D中的“相機”設置。

我試圖弄清楚是否可以(至少)更改屏幕截圖中灰色區域的背景顏色。 攝像機的限制可以通過編程方式更改。 動機在於以下事實:游戲區域必須根據兒童或成人在玩而動態變化。 屏幕巨大,超過83英寸。 重新縮放游戲區域時,未繪制的區域是灰色且有點難看,我想知道是否可以定義至少顏色,或者如果可能的話還可以定義圖像。

您看到的屏幕截圖是全屏模式下的屏幕截圖,因此它包括所有像素。

在此處輸入圖片說明

在簡短的文字和圖像說明之后,讓我們看一下技術細節的細節。 這是我調整房間設計區域大小的方法:

public static void SetViewportCalibration()
{
    var camera = Camera.main;
    camera.pixelRect = new Rect(MinX, MinY, MaxX, MaxY);
}

是否可以在新Rect(MinX, MinY, MaxX, MaxY)外部設置該灰色區域的顏色?

嘗試創建另一台在其視圖和以下設置中沒有對象的相機:

清除標志:純色,

背景:選擇一種顏色,

ViewPort矩形: X = 0,y = 0,w = 1,h = 1

深度:小於其他攝像機的值(將此攝像機的深度設置為0,將另一攝像機的深度設置為1)

本相機將作為屏幕的背景。

我希望我理解了這個問題:)

我有兩種方法可以解決此問題。 兩種方式都使用兩個攝像頭。

第一種方式 創建第二個相機。 第二個攝像機應比動態攝像機具有Depth 然后,第二個“背景”攝像機可以顯示您想要的任何內容,例如,單獨的Skybox,單獨的UI,其他場景內容等。

第二種方式 您的動態相機實際上並未動態調整大小。 而是將相機渲染為“ Target Texture 在材質中使用此紋理,然后將材質分配給Quad網格(最合適)。 然后,該網格可以像在任何其他3D對象中一樣在您的場景中使用,這意味着不僅可以定位它,還可以縮放它甚至旋轉它。 您添加的新相機可以擁有自己的Skybox,UI等。

我會選擇第二種方式。 部分出於個人喜好,也因為聽起來可能更適合您的情況並且更易於實現。 您還可以實現更多效果,以獲得額外的“哇”效果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM