Я новичок в единстве, и у меня есть объект, который я хочу переместить. Но этот объект вообще не двигается. Он меняет свое направление, так что объект может смотреть влево / вправо, но не перемещается с точки, в которой он стартовал.
Итак, в основном объект может вращаться, но не двигаться в любом направлении.
Возникает вопрос: как заставить объект двигаться?
public float movementSpeed = 20;
Animator anim;
Rigidbody rb;
public Text countText;
public Text winText;
private int count;
void Start()
{
anim = GetComponent<Animator>();
rb = GetComponent<Rigidbody>();
count = 0;
SetCountText();
winText.text = "";
}
void FixedUpdate()
{
ControllPlayer();
}
void ControllPlayer()
{
float moveHorizontal = Input.GetAxisRaw("Horizontal");
float moveVertical = Input.GetAxisRaw("Vertical");
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
if (movement != Vector3.zero)
{
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(movement), 0.15f);
anim.SetInteger("Walk", 1);
}
else
{
anim.SetInteger("Walk", 0);
}
rb.addForce(movement * movementSpeed * Time.deltaTime);
}
public void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Pick Up"))
{
other.gameObject.SetActive(false);
count = count + 1;
SetCountText();
}
}
void SetCountText()
{
countText.text = "Food: " + count.ToString();
if (count >= 10)
{
SceneManager.LoadScene("Victory");
}
}