Unity Camera

Clear Flags:清除标记

Skybox:空白地方使用天空盒填充   

Solid color:空白地方使用背景颜色填充

Depth only:空白的地方不填充

Don’t clear:保留每帧渲染的画面,画面重叠

例如:

默认摄像机选择了Skybox,

GameView显示:渲染摄像机拍到游戏对象,GameView空白的地方会使用天空盒填充;

 

Culling Mask:

遮罩剔除,可以选择屏蔽某些层游戏对象;

 

 Projection:视图类型:

正交视图平行视图ISO, 透视图Perspective

 

ViewPort rect:

X,y控制摄像机拍摄的内容在游戏视图中显示初始位置

X摄像机拍摄内容在游戏视图中初始x位置

y摄像机拍摄内容在游戏视图中初始y位置

w,h控制摄像机设想范围比例,0.5整个范围缩小一半

w在游戏视图中占宽度(比例)

h在游戏视图中占高度的比例

 

Depth:

摄像机深度,控制渲染顺序的,先渲染深度低的,再渲染深度高的; 如果所有的摄像机都选择了skybox或者solid color,GameView

只会显示最后一个摄像机渲染内容;(其他摄像机内容都被覆盖了)

如果希望显示场景中所有摄像机的内容,必须把除了第一个摄像机以外的其他摄像机的ClearFlags改为Depth only;

 

RendererPath:

渲染路径就是光照的渲染流程。

 

题目:

实现一个效果,用4个摄像机拍摄一个地形的正视图,俯视图,左视图,右视图;在一个Gameview分四块显示;

 

### 关于UnityCamera组件的相关信息 #### Camera组件概述 在Unity引擎内,`Camera`组件用于定义游戏世界如何渲染到屏幕上。每个场景至少需要有一个摄像机来显示视图[^4]。 #### 主要属性解释 - **Field of view (FOV)**:决定了视角大小,即垂直方向上的视野角度。较大的数值会增加可见范围并使物体显得更远。 - **Clipping Planes**: - Near Clipping Plane:靠近摄像机的裁剪面距离,在此之前的任何对象都不会被绘制出来。 - Far Clipping Plane:远离摄像机的裁剪面位置,超过这个界限的对象也不会出现在画面。 - **Rendering Path**:指定渲染路径模式,影响光照计算方式以及性能表现。选项包括Vertex Lit, Forward 和 Deferred Shading等几种不同的策略。 - **Target Texture**:允许将摄像机输出定向至特定纹理而非屏幕,默认为空意味着直接呈现给显示器。当设置为非空时,则创建了一个离屏渲染目标(Render Target),这通常用来制作特效或UI元素[^3]。 - **Depth**:设定当前摄像机相对于其他同层摄像机的位置顺序,较高的值会使该摄像机覆盖较低者的内容。 - **Clear Flags**:控制每帧开始前清除哪些缓冲区(颜色/深度)。可以选择不清理、仅清背景色或者全部重置三种行为之一。 - **Background Color**:如果选择了Solid Color作为清除标记(Clear Flag),那么这配置的就是填充整个画布的颜色。 #### 基础操作指南 为了调整摄像机使其与编辑器视窗同步对齐,可以在Hierarchy面板选中MainCamera之后按下组合键Ctrl+Shift+F(Windows)/Cmd+Shift+F(MacOS),也可以通过菜单栏GameObject -> Align With View完成相同效果。 对于多摄像头管理而言,借助第三方插件如Cinemachine能够极大简化工作流程[CinemachineBrain][^2]. 它引入了虚拟摄像机的概念(VirtualCamera),使得开发者可以通过简单的参数调节轻松实现复杂的镜头运动逻辑而无需编写大量脚本代码。 ```csharp using UnityEngine; public class SimpleCameraController : MonoBehaviour { public float moveSpeed = 5f; void Update() { Vector3 movement = new Vector3(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")) * Time.deltaTime * moveSpeed; transform.Translate(movement); if (Input.GetKeyDown(KeyCode.Space)) { GetComponent<Camera>().orthographicSize += Mathf.Sign(GetComponent<Camera>().orthographicSize)*0.1f; } } } ``` 这段代码展示了如何基于键盘输入移动摄像机,并改变其正交投影尺寸以模拟缩放功能。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值