作者:大华出入境 | 来源:互联网 | 2023-05-18 04:00
界面拖拽实现将MainCamera拖拽到第一三人称角色的目录下即可,如图:注意相机应该是MainCamera,因为你可能误把相机删了,然后自己创建了一个相机。你可以点击
界面拖拽实现
将Main Camera 拖拽到 第一/三人称角色的目录下即可,如图:
![结果](https://www.#.com/imgs/8/3/0/9/86/87b509787f895075aef5725cd9c73868.jpe)
注意相机应该是Main Camera,因为你可能误把相机删了,然后自己创建了一个相机。你可以点击它,查看 Inspector 的Tag 标签,查看其是否为 MainCamera 。如果不是将其重新选择为MainCamera 即可。
脚本实现
通过创建脚本cameraContorlan ,将其挂载到Main Camera上即可。具体代码将在最后给出(注释非常详细,这的感谢我的刘老师)
创建脚本
在下面的Assets目录下,右键create 选择C # Script即可。
可以创建一个目录来存储脚本文件,文件名应在创建的时候修改好
脚本挂载到物体上
点击 Main Camera 将脚本文件拖拽到其 Inspector 里即可。观察到其会多一个 Script 组件出来。同样,我们也可以通过直接在主相机的 Inspector中 Add Component来实现。
脚本代码
using UnityEngine;
using System.Collections;
public class cameraControlan : MonoBehaviour {
public Transform Character;
public float DisUp;
public float DisAway ;
public Vector3 speed = Vector3.zero;
void Start () {
DisUp = 2f;
DisAway = 9f;
}
void Update () {
Vector3 distance = new Vector3(0,DisUp,-DisAway);
Vector3 targetPosition = Character.TransformPoint(distance);
transform.position = targetPosition;
transform.position = Vector3.SmoothDamp(transform.position,targetPosition,ref speed,0.5f);
transform.LookAt(Character);
}
}
对于变量 character 需要在 Main Camera的Inspector 界面将其绑定才行。可以看见,在其Script 下多出了一个character,可以直接从scene(目录)窗口将角色拖拽到character后的框里。
也可以选择框后的小圆点来选择角色。
这种在脚本中创建公有变量,在界面中将其绑定以便在代码中获得代表它的变量的操作以后会经常遇到。