查看: 2627|回复: 24

[基础] unity3d里面的摄像机是怎么调用和操作的

[复制链接]

1

主题

10

听众

47

积分

问题学生

Rank: 1

升级   23.5%

发表于 2013-1-31 11:13 |显示全部楼层
共享资源获取更多积分!share your resources get more credits!
资源信息 Tutorial Information
教程名称: Unity3d基础教程6-摄像机(摄像机的基本属性及动态切换)(发布原创教程可获得更多积分哦!)
适用引擎: (资源适用引擎)
教程语种: 中文
教程等级: 小白(等级越高教程越难,但能学到的东西越多)
教程格式: 图文(请用IE9以上浏览器访问本版块)
教程作者: sjxlove (如有问题请短消息联系作者或发表回复)
点击查看原图 --> 美丽分割线
回复可见
哇伊~ (((‵□′))回复太烦了,怒买VIP(充值金额将用于论坛采购更多资源)

--> 请先登录 --> 请先登录 --> 请先登录 --> 请先登录 --> 请先登录 --> 请先登录 -->

最近项目比较忙,有一段时间没有更新教程了。今天终于空下来有时间写点东西了。

今天看一下unity3d里面的摄像机是怎么调用和操作的。

打开unity3d新建一个工程。在我们打开工程的时候unity3d会主动添加一个Main Camera,在Hierartchy视图中。点击Main CameraInspector中出现Main Camera的组件信息。如图

camera组件中可以对是相机的一些属性进行调节。

Clera Flags清除标记。下拉菜单一共有4个选项。

Skybox:天空盒,背景显示天空盒。如果该相机没有添加天空和则显示背景颜色。Solid Color:纯色,背景显示我没在Background中调制的颜射。Depth Only :仅深度不显示任何背景。空白处为透明。Don't Clear :不清除,每帧绘制在下一帧之上,造成涂片效果。一般很少用到。

Background :背景颜色。

Culling Mask 剔除遮罩,通过标签来选择物体是否被相机渲染。

Projection:相机类型,分为透视相机和正交相机。


perspective:透视相机。

Orthographic:正交相机。

区别如图:

   

                              透视效果                                                                                            正交效果

当我们选择perspective是Field of view:视野范围,调节摄像机的视野。

当我们选择Orthographic是size:设置正交相机的视口大小。

Clipping Planes :Near为近距裁剪,Far为远距裁剪。

Normalized View Port Rect:用四个数值来表示这个相机的视图将绘制在屏幕的什么地方,使用屏幕坐标系(值0-1)。(注:屏幕坐标系的0,0点是在屏幕的左下角的)

在unity中做屏幕的分屏用到的就是这个参数。

举个例子说明一下分屏的方法:

首先创建一部相机。


Main Camera相机的NormalizedView Port Rect属性里的x:0,y:0.5,w:1,h:0.5。

意思是是相机显示的坐标为(0,0.5)宽度为1,高度为0.5。

将新添加的Camera的Normalized ViewPort Rect属性里的x:0,y:0,w:1,h:0.5。

意思是是相机显示的坐标为(0,0.5)宽度为1,高度为0.5。

Game视图将显示如下结果


Depth :深度,用来确定不同相机的绘制顺序。具有较大值的相机将被绘制在具有较小值的相机的上面。

Rendering Path渲染路径,下面有四个选项Use Player Settings使用播放器设置。Vertex Lit 顶点光照。Forward 快速渲染。Deferred Lighting 延迟照明。根据项目需求选择相应的渲染路径。

Target Texture 目标纹理,它将放置相机的视图到一个纹理上,该纹理可以被应用到另一个对象。这使得它可以方便地创建体育场大屏幕、监控摄像机、倒影等等效果。

Flare Layer光晕层,让镜头光晕(LensFlares ) 出现在图像中。默认情况下,相机已经贴上光晕层(FlareLayer)。

GUI Layer用户界面层,使二维图形用户界面可以渲染。在检视面板点击GUI层(GUI Layer)的复选框,可以启用和禁用在相机绘制GUI。

Audio Listener音频侦听器,音频监听器扮演着像麦克风这样的设备。它接收任何在场景输入的音频源(AudioSource),并通过计算机的扬声器播放声音。

这样一部摄像机的基本属性已经介绍完了。下面我们看下怎么给场景添加天空盒。

第一步:选择相机,点击菜单栏中的component->Rendering->Skybox.


然后在Inspector视图最下面多了一栏Skybox。

然后给他添加一个天空球。天空球的制作方法,

一:新建一个材质球


选择新建的材质球,命名为skybox1,如图所示将材质设置为Skybox类型的。


结果如图:


在相应的地方添加相应的图片。这样一个天空球就制作完成了。

还有一个简单方法就是导入unity3d自带的资源里面有自作完成的天空球。

(注:自己制作天空球是要注意图片的属性 Wrap Mode属性应改为Clamp格式,否则会出现接缝。)

将天空球制作完毕后添加的摄像机上,如图:


下面我们来看下怎么实现两个相机的动态切换。

首先我们在unity中创建两个相机。分别为camera0camera1.

创建一个js脚本文件。写入一下代码。

var camera0 : Camera; //定义一个名字为camera0的相机对象  

var camera1 :Camera; //定义一个名字为camera1的相机对象


   

function Update ()   

    {   

   if (Input.GetKey("1")) //如果敲击键盘的"1"  

    {   

    camera1.enabled = true; //camera1激活  

    camera0.enabled = false; //camera1停止  

    }   

   if (Input.GetKey ("0")) //如果敲击键盘的"0"  

   {   

   camera1.enabled = false; //camera1停止  

   camera0.enabled = true; //camera1激活  

   }   

   }  

将脚本添加到一个游戏物体上运行游戏。敲击键盘的10键。检测代码。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

楼主热帖

0

主题

10

听众

220

积分

小学生

Rank: 2

升级   6.67%

发表于 2013-2-1 16:42 |显示全部楼层
还有一点 摄像机总是拍摄它自己的z的面对的场景
回复

使用道具 举报

0

主题

10

听众

12

积分

问题学生

Rank: 1

升级   6%

发表于 2013-5-22 17:52 |显示全部楼层

不错 不错 不错
回复

使用道具 举报

9

主题

20

听众

829

积分

大学生

Rank: 3Rank: 3

升级   21.93%

发表于 2013-7-13 04:48 |显示全部楼层

感谢楼主的无私分享!
回复

使用道具 举报

0

主题

10

听众

205

积分

小学生

Rank: 2

升级   1.67%

发表于 2013-8-8 17:05 |显示全部楼层
d多谢楼主分享
回复

使用道具 举报

0

主题

10

听众

18

积分

问题学生

Rank: 1

升级   9%

发表于 2016-8-17 17:13 |显示全部楼层

膜拜中。。。。
回复

使用道具 举报

0

主题

10

听众

28

积分

问题学生

Rank: 1

升级   14%

发表于 2016-10-9 21:30 |显示全部楼层
unity3d里面的摄像机是怎么调
回复

使用道具 举报

0

主题

10

听众

8

积分

问题学生

Rank: 1

升级   4%

发表于 2016-10-26 04:00 |显示全部楼层
666666666666666666
回复

使用道具 举报

0

主题

10

听众

18

积分

问题学生

Rank: 1

升级   9%

发表于 2016-12-27 13:53 |显示全部楼层

感谢楼主的无私分享!
回复

使用道具 举报

0

主题

10

听众

203

积分

小学生

Rank: 2

升级   1%

发表于 2017-3-9 19:14 |显示全部楼层
好帖就是要顶
回复

使用道具 举报

温馨提示:求助请到“Unity技术讨论”版块中发帖,便于集中解决!
您需要登录后才可以回帖 登录 | 立即注册

懒人模式:

关闭

站长推荐 上一条 /1 下一条

Unity3D游戏开发联盟(资源共享平台) -Unity3D,Unreal ( 苏ICP备12051100号 )   

GMT+8, 2018-12-12 02:27 , Processed in 0.150975 second(s), 81 queries .