Unity3D摄像机跟随小球移动而不旋转的设置方法

所属分类: 软件教程 / 编程开发 阅读数: 1519
收藏 0 赞 0 分享

在Unity中,我们经常需要让摄像机跟随一个物体移动,如果物体是水平移动的,而自身没有发生任何的偏转,那么我们可以直接将摄像机放在该物体下。这样就可以实现它们一起移动了,但是,如果移动的物体是圆的,比如小球,它在移动的过程中,自身是不断旋转的,所以,摄像机也会跟着一起旋转,那么我们看到得画面将是天旋地转的,很明显,这样是不行的。那么我们该如何正确的让摄像机跟随小球一起运动呢?

1、如图,我们已经给小球添加了移动的脚本,小球是Sphere,现在想实现的是让摄像机MainCamera跟随小球一起运动。

2、我们先来看看上面说的不可行的方法:如图,直接将"Main Camera"拖动到"Sphere"的子目录,即让摄像机成为小球的子物体,这样,两个对象就可以一起运动了,那么我们来看看到底可不可行。

3、我们记录一开始两物体的位置,此时让小球向右移动,此时,我们从这个视角看去,的确是一起运动了,但是,这不是我们在游戏里面看到得视角,我们看到的是摄像机的视角。

4、运行游戏后,我们可以看到,画面是"天旋地转"的。所以,这种方法对于自身还在运动的物体来时,是不可行的。那么下来我们说说正确的做法。

正确的方法:

1、 我们要实现的是让相机跟随物体一起移动,其实就是让相机和小球的相对位置不变即可。这里我们需要使用代码来控制两个对象之间的相对位置,使其保持不变。

首先,在MainCamera里面创建一个C# 脚本。如图所示,点击MainCamera,在右边属性栏最下方,选择 AddComponent。然后,在弹出的选项里拉到最下方,选择NewScript,然后创建一个C#脚本,命名为 Move。此时可以看到,我们新添加的一个C#脚本。

2、然后,开始写代码了。我们打开这个C# 脚本,我们要让摄像机和小球的相对位置保持不变,那么就必须获取到小球的位置。在Unity里,我们用transform 组件来获取一个物体的位置。所以先定义一个transform组件,命名为bolltransform,选择保存。

3、此时,我们返回Unity,在MainCamera的C#脚本里,多了一项。这里就是我们要添加的组件,可以看到这里还没有添加组件。我们要获取的是小球的位置,所以我们需要添加Sphere:将Sphere用鼠标拖进这个选择框即可。这样,我们就成功的将摄像机和小球关联了起来。

4、我们点击小球,在右边的属性栏里可以看见小球的一个transform属性,只要小球一开始运动,那么它的transform属性的值就被传递到了相机的bolltransform那里。我想,这里大家都是非常明白的。

5、我们已经获取到了小球的位置,要使得它们之间的位置不变,也就是说小球和摄像机之间初始的偏移量始终不变就可以了。

所以,

1)我们首先要计算出小球和摄像机之间的偏移量。我们把偏移量设为offset,并且计算出offset。用代码定义出来,因为偏移量是三维空间,所以我们用到Vector3。继续在c#脚本里写。如图所示:

2)写出它们之间的关系,即 初始偏移量=摄像机的位置-小球的位置。用代码表示出来如下图所示:

3)我们要通过此公式确定摄像机的位置,即:小球的位置+偏移量就等于摄像机的位置。而小球是不停地在动的,我们要不停的更新计算摄像机的位置,而在unity里,update方法是不停地执行的。所以这一步的公式需要写在 Update方法里面就可以了。在update里面写上:transform.postion=offset+bolltransform.postion ;

6、这样,整个过程就完成了,我们保存,开始运行,可以看到,现在摄像机看到的画面也就一起跟着小球运动了。这就是在unity中用代码控制两个对象,使其距离保持不变的方法。我想,通过我这样的讲解,大家应该都懂了吧!

注意事项:Unity3D 进行游戏开发要注意游戏对象和脚本的关系,避免混淆不清。

相关推荐:

unity3D软件怎么生成exe程序?

unity3d自定义的界面怎么还原到初始化状态?

更多精彩内容其他人还在看

PowerDesigner16.6怎么破解?SAP PowerDesigner16.6安装破解详细图文教程

PowerDesigner是一款来自国外的数据库建模工具,最近,很多网友问小编PowerDesigner16.6怎么破解?今天脚本之家小编就给大家带来SAP PowerDesigner16.6安装破解详细图文教程,希望对大家有所帮助
收藏 0 赞 0 分享

WebStorm 2017.3最新汉化激活破解及安装教程(附汉化包+原版下载)

WebStorm 2017中文破解版是一款JavaScript开发工具,是最强大的HTML5编辑器以及最智能的JavaSscript IDE,下面就整理WebStorm 2017.3最新汉化破解教程,并附有汉化包及官方原版程序下载地址
收藏 0 赞 0 分享

PhpStorm 10.0.2怎么激活?PhpStorm 10.0.2激活破解图文教程(附注册码)

PhpStorm 10.0.2怎么激活?对于新手来说最头痛的问题还是激活和使破解的问题,今天脚本之家小编就给大家带来PhpStorm 10.0.2激活破解图文教程(附注册码),希望对大家有所帮助
收藏 0 赞 0 分享

Toad for Oracle 2017完整破解版安装教程(附注册码) 64位

Toad for oracle 2017是一款功能强大的数据库管理软件,支持敏捷数据库开发工作,是一个功能强大、结构紧凑的专业化PL/SQL开发环境,本文提供最新版的Toad for Oracle 2017详细的安装步骤,以及软件下载地址和注册码
收藏 0 赞 0 分享

Aqua Data Studio 18汉化安装破解教程(附DateStopper破解下载)

Aqua Data Studio18中文版是一套完整IDE的数据库开发工具,新版对其通用数据库管理和分析软件的一次重大升级,下面就带来了Aqua Data Studio18最新版详细安装步骤,以及破解方法,仅供参考
收藏 0 赞 0 分享

informatica powercenter 9.x安装与配置图文详细教程(适应于Windows系统)

informatica powercenter是一款使用相当广泛的数据集成平台(ETL工具),本文主要针对目前还不会安装与配置informatica powercenter 9.x程序的朋友们,来图文详细介绍informatica powercenter 9.x安装与配置教程,并
收藏 0 赞 0 分享

Myeclipse 2017 CI8汉化破解教程(附注册激活码)

MyEclipse可用于用户所有的UML, AJAX, Web, Web Services, J2EE, JSP, XML, Struts, JSF, Java Persistence, EJB,扩展数据库支持以及应用程序服务器集成需求,那么Myeclipse 2017 CI8怎
收藏 0 赞 0 分享

CoolFormat 源代码格式化工具使用帮助手册

CoolFormat源代码格式化是一款C\C++\C#\CSS\HTML\Java\JavaScript\JSON\Objective-C\PHP\SQL\XML代码格式化工具。软件可以快速多种风格格式化,并对语言进行着色。界面采用Office 2010风格,并有多种样式可以替换
收藏 0 赞 0 分享

Sublime Text 3怎么设配置浏览默认路径为localhost?

Sublime Text 3怎么设置浏览器打开就是localhost路径?Sublime Text 3编辑程序的时候,需要对代码进行预览,该怎么制定配置浏览器默认的浏览路径为localhost呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Visual Studio窗口界面显示黑色很多功能消失了怎么办?

Visual Studio窗口界面显示黑色很多功能消失了怎么办?Visual Studio打开以后,窗口变成黑色的了,新建文件的时候,发现工具栏中少了很多功能,该怎么办呢?下面我们就来看看详细的解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多