我已经为我的相机编写了一些代码,以便它跟随我的角色(我正在制作3D横向滚动无尽的跑步/平台游戏)。
它跟随玩家,但它真的很跳跃而且根本不光滑。我怎样才能解决这个问题?
我正在避免让角色养育,因为我不希望相机在向上跳跃时跟随玩家。
这是我的代码:
using UnityEngine;
using System.Collections;
public class FollowPlayerCamera : MonoBehaviour {
GameObject player;
// Use this for initialization
void Start () {
player = GameObject.FindGameObjectWithTag("Player");
}
// Update is called once per frame
void LateUpdate () {
transform.position = new Vector3(player.transform.position.x, transform.position.y, transform.position.z);
}
}
答案 0 :(得分:1)
我建议使用Vector3.Slerp或Vector3.Lerp之类的内容,而不是直接指定位置。我包含了一个速度变量,您可以将其调高或调低,以找到相机跟随玩家的完美速度。
using UnityEngine;
using System.Collections;
public class FollowPlayerCamera : MonoBehaviour {
public float smoothSpeed = 2f;
GameObject player;
// Use this for initialization
void Start () {
player = GameObject.FindGameObjectWithTag("Player");
}
// Update is called once per frame
void LateUpdate () {
transform.position = Vector3.Slerp(transform.position, new Vector3(player.transform.position.x, transform.position.y, transform.position.z), smoothSpeed * Time.deltaTime);
}
}
希望这有助于您更接近解决方案。