【发布时间】:2017-04-23 19:06:07
【问题描述】:
我正在开发某种寺庙运行游戏项目,只是为了教育目的。我创建了一个脚本,它应该从高处开始关注角色,然后将其位置更改为角色。就像在游戏脚本中当相机慢慢地向玩家倾斜时在寺庙奔跑中一样。这是我的脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraMotor : MonoBehaviour {
private Vector3 ofset;
private Vector3 characterposition;
private float transition =0.0f;
private float animationduration = 2.0f;
private Vector3 animationoffset = new Vector3(0,2f,2f);
void Start () {
ofset = GameObject.FindObjectOfType<CharacterController> ().transform.position - this.transform.position;
}
// Update is called once per frame
void Update () {
characterposition = GameObject.FindObjectOfType<CharacterController> ().transform.position - ofset;
characterposition.x = 1.3f;
characterposition.y = Mathf.Clamp (characterposition.y, 3f, 5f);
if (transition > 1.0f) {
this.transform.position = characterposition;
} else {
this.transform.position = Vector3.Lerp (characterposition + animationoffset, characterposition, transition);
transition = Time.deltaTime* 1 / animationduration;
this.transform.LookAt (characterposition, Vector3.up);
}
}
}
【问题讨论】: