gpt4 book ai didi

c# - 在 Unity3D 中为超出相机限制(视口(viewport)矩形)的区域设置背景

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:28 25 4
gpt4 key购买 nike

我说的是 Unity3D 中的相机设置。

我想弄清楚是否可以(至少)更改屏幕截图中灰色区域的背景颜色。相机的限制以编程方式更改。动机在于游戏区域必须根据是 child 还是成人在玩耍而动态变化。屏幕很大,超过 83 英寸。重新缩放播放区域时,未绘制的区域是灰色的并且有点难看,我想知道您是否可以至少定义颜色,或者如果可能的话最好用图像。

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

enter image description here

在文字和图片的简短解释之后,让我们来看看具体的技术细节。这是我调整房间设计区域大小的方式:

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

是否可以在新的 Rect(MinX, MinY, MaxX, MaxY) 之外设置灰色区域的颜色?

最佳答案

有两种方法可以实现这一目标。两种方式都使用两个相机。

第一种方式。创建第二个相机。第二个相机的深度应该比动态相机小。这第二个,“背景”相机可以显示任何你想要的东西,例如,一个单独的天空盒,一个单独的用户界面,其他场景内容等等。

第二种方式。您的动态相机实际上不会动态调整大小。相反,将您的相机渲染到 Target Texture。在 Material 中使用此纹理,并将 Material 指定给四边形网格(最合适)。然后可以像任何其他 3D 对象一样在您的场景中使用此网格,这意味着您不仅可以定位它,还可以缩放它甚至旋转它。您添加的新相机可以拥有自己的天空盒、UI 等。

我会选择第二种方式。部分是个人喜好,还因为它听起来更适合您的情况并且更容易实现。您还可以实现更多效果以获得额外的“哇”。

关于c# - 在 Unity3D 中为超出相机限制(视口(viewport)矩形)的区域设置背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51397326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com