在Unity3D 使用备忘(一)中 我完成了ManiScene界面游戏物体的准备,在这次博客中我将详细讲解相机如何围绕cube按照我设置的漫游路径进行自动漫游。
(1)在Project界面中导入DOTween插件。可以去Window->Asset Store中进行下载免费版本的。
当下载完成后导入到Project界面时,该界面会多出以下面两个文件夹。
在导入DOTween后,你需要设置dotween额外的库设置基你的Unity版本。
1、Tools->DOTween Utility Panel->点击SetupDoTween即可。
2、DOTween只是为了对应Unity的版本不需关心更多。
(2)在Project界面中创建Script文件夹用于存放脚本文件。
(3)在Script文件夹中创建MainSceneManager.cs和CameraManager.cs两个脚本文件。
(4)编写MainSceneManager.cs脚本文件内容:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening; //DOTween的命名空间
public class MainSceneManager : MonoBehaviour {
//初始化按轨迹移动的游戏物体
public DOTweenPath doTweenPath;
// Use this for initialization
void Start () {
//游戏物体按轨迹开始移动,这里相当于启动自动漫游路径。
doTweenPath.DORestart();
}
// Update is called once per frame
void Update () {
}
}
让后将该脚本文件附加到(一)中创建的SceneManager游戏物体,其检视视图如下图所示:
(5)在层级视图中选择MainCamera,其检视视图如下图所示:
通过点击Add Component来添加DOTweenPath组件,添加后如右图所示:
将DOTweenPath组件展开后,下面只介绍较常用的属性:
Duration:动画时长;
Ease:这是一个枚举,可以理解为动画播放速率曲线 ;
Loops:动画循环播放的次数;-1表示一直循环,0表示只播放一次,当该值>1时,检视面板出现
LoopType,顾名思义就是指循环类型:
Restart:重新开始,后面的动画循环播放会从起点重新开始;
Yoyo:来回播放
Incremental:增加的,后面的path移动动画会在上一次循环的终点的基础上进行播放
PathType:漫游路径为直线还是曲线;
ClosePath:漫游路径是否封闭;
Color:轨迹曲线的颜色;
Handles Type:手柄类型(指pathWayPoints的类型,选用free比较好调整)
PathWayPoints:移动路径的坐标值;
(6)编写CameraManager.cs脚本文件,并附加给Main Camera游戏物体(上图显示已附加)。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening; //DOTween的命名空间
public class CameraManager : MonoBehaviour {
public static CameraManager Instance; //相机管理对象
void Awake()
{
CameraManager.Instance = this; //在这里初始化CameraManager
}
// Use this for initialization
void Start () {
}
// 每一帧都会执行
void Update () {
//使相机始终看向坐标(0,0,0)
this.transform.DOLookAt(new Vector3(0, 0, 0), 0.0001f);
}
}
下图为具体的展示效果