Unity 中摄像机的知识要点与使用技巧

在 Unity 中,摄像机是创建场景不可或缺的元素。

一、摄像机的类型

  1. 透视摄像机
    • 具有近大远小的效果,与我们日常生活中使用的摄像机相似。在现实中拍摄物体时会呈现近大远小,例如两个一样大的物体,一个近一个远,通过透视摄像机拍摄后,近的物体在画面中看起来更大。其拍摄范围是一个锥形。
  2. 正交摄像机
    • 没有近大远小的效果,拍摄范围是一个矩形。在一些 2D 项目中使用较多。

二、摄像机的重要设置

  1. 投影设置
    • 通过选中摄像机查看 “投影” 选项,可以区分透视和正交模式。默认情况下相机呈现大的锥形是透视模式,选择正交后则变为矩形。
  2. 清除标志设置
    • 天空盒:相机可以清除天空盒内容,之后能从商城添加天空盒素材。例如通过在资源商店搜索 “skybox” 获取各种天空盒,下载后导入即可让相机显示漂亮的天空。
    • 纯色:相机拍摄不到的区域会变为设置的纯色,并且可以修改颜色。
    • 不清除:拍摄不到的区域显示黑色,一般不常用。
    • 景深度:拍摄不到的区域不拍摄,主要用于叠加。当有两个相机时,深度较高的相机可设为景深度,优先显示其拍摄到的内容,拍摄不到的区域则找下一个相机的数据填充。
  3. 剔除遮罩
    • 讲图层时用过,可选择不想显示的图层。比如去掉 UI 层,若物体图层是 UI,则相机拍摄时不会显示。
  4. FOV 轴
    • 可通过垂直或水平设定视野大小,默认用垂直即可。改变视野时,锥形会有所变化,进而影响显示效果。
  5. 镜面和圆面
    • 摄像机的锥形有镜面和圆面两个面,镜面是相机发射出来的面,在这两个面之间的物体才能被拍摄到。可以调整镜面和圆面的距离,例如把镜面调远,过远会导致物体显示不正常;把圆面调近,相机拍摄的范围会变小。
  6. 句型与显示效果
    • 句型代表 xy 宽高,值在 0 - 1 之间,代表相机拍摄内容在窗口中的显示效果。一般不去调整,x0y0 从默认位置开始显示,宽高为 1 是正常显示。
  7. 属性设置
    • 摄像机拍摄的内容在窗口中显示的位置和比例是按比例算的,从 0 - 1,0 是 0%,1 是 100%。例如创建新摄像机设为纯色红色,x y 为 0 0 时全屏显示。若想让内容显示在右上角,可将 y 设为 0.5,x 设为 0.5,从屏幕中间点开始计算显示。宽高设为 0.8,则上下左右会留 0.1 的位置。
  8. 目标纹理
    • 相机拍摄内容正常渲染到目标上,默认目标显示在视窗。通过创建渲染器纹理,将相机拖到目标纹理上,相机拍摄内容不在窗口显示,而是传到纹理中,并且纹理可拖到游戏物体上,例如平面,平面上会出现摄像机拍摄到的内容。

以下是一些简单的示例代码(伪代码示例,实际中需根据具体需求和 Unity 版本等进行调整):

// 创建摄像机
Camera myCamera = new Camera();

// 设置摄像机为透视模式
myCamera.projection = CameraProjection.Perspective;

// 设置清除标志为天空盒
myCamera.clearFlags = CameraClearFlags.Skybox;

// 设置剔除遮罩,不显示 UI 层
myCamera.cullingMask &= ~(1 << LayerMask.NameToLayer("UI"));

// 调整视野大小
myCamera.fieldOfView = 60;

// 创建渲染器纹理
RendererTexture renderTexture = new RendererTexture();
// 将相机的目标纹理设置为创建的渲染器纹理
myCamera.targetTexture = renderTexture;

通过对摄像机的这些了解和设置,可以更好地在 Unity 中创建出符合需求的场景和效果。在实际操作中多尝试和研究,就能更熟练地运用摄像机相关知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值