Я новичок в единстве, я искал эту проблему, но не нашел удовлетворительного ответа.
У меня есть куб как игрок с прикрепленным твердым телом (гравитация отключена)
и несколько других больших кубов в виде зданий и камеры, прикрепленной к игроку.
Когда я перемещаю игрока с помощью клавиш со стрелками, он движется плавно, но все другие объекты вибрируют, так как я увеличиваю скорость земли игрока, а звезды зданий вибрируют все больше и больше.
Мой сценарий игрока: -
using UnityEngine;
using System.Collections;
public class playerController : MonoBehaviour {
public Rigidbody player;
public float speed;
private Vector3 vect;
// Use this for initialization
void Start () {
player = GetComponent<Rigidbody> ();
}
void Update () {
float moveH = Input.GetAxis ("Horizontal");
float moveV = Input.GetAxis ("Vertical");
vect = new Vector3 (moveH,0.0f,moveV);
}
void FixedUpdate () {
player.velocity = vect*speed;
}
}
2] Сценарий моей камеры: -
using UnityEngine;
using System.Collections;
public class CameraController : MonoBehaviour {
public Transform player;
public GameObject cameraa;
private Vector3 offset;
public float speed;
void Start () {
//calculating offset
offset = cameraa.transform.position - player.position;
}
// Update is called once per frame
void FixedUpdate () {
cameraa.transform.position = player.position + offset;
}
}
- В камере я пробовал Update (), FixedUpdate () и LateUpdate (), но эффект был почти таким же, а не плавным.
Как сделать так, чтобы земля и другие объекты двигались плавно?