как да добавите движение единство
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
private string moveInputAxis = "Vertical";
public float moveSpeed = 0.1f;
public Rigidbody rb;
public bool cubeIsOnTheGround = true;
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
float moveAxis = Input.GetAxis(moveInputAxis);
ApplyInput(moveAxis);
if(Input.GetButtonDown("Jump") && cubeIsOnTheGround == true)
{
rb.AddForce(new Vector3(0, 7, 0), ForceMode.Impulse);
cubeIsOnTheGround = false;
}
private void ApplyInput(float moveInput)
{
Move(moveInput);
}
private void Move(float input)
{
transform.Translate(Vector3.forward * input * moveSpeed);
}
private void OnCollisionEnter(Collision collision) {
if(collision.gameObject.tag == "Ground") {
cubeIsOnTheGround = true;
}
}
}
как да накараме обектът се движи в единство
Vector3 input = new Vector3 (Input.GetAxis("Horizontal"), 0 , Input.GetAxis("Vertical");
Vector3 dir = input.normalized;
Vecotr3 vel = dir * speed * Time.deltaTime;
transform.Translate(vel);
движението за единство
//put this in update method and disable rigidbody2d (gravity)
void Update()
{
transform.position += (target - transform.position).normalized * movementSpeed * Time.deltaTime;
}
преместване на обект в единство
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
void Update()
{
// Move the object forward along its z axis 1 unit/second.
transform.Translate(Vector3.forward * Time.deltaTime);
// Move the object upward in world space 1 unit/second.
transform.Translate(Vector3.up * Time.deltaTime, Space.World);
}
}