目标:

          完成一个操作箱子移动,碰撞障碍物停止的小游戏。

资源:

          Unity3D 2020

实现步骤:

          1.设计场景,增加物体,障碍物

          2.增加刚体,

          3.编码调试


using UnityEngine;

public class PlayerMove : MonoBehaviour
{


   public Rigidbody rb;
   //public Transform transform;
  

    public int Speed = 10;
    void FixedUpdate()
    {
        Debug.Log("fddfdffd");
        rb.freezeRotation = true;
        //rb.AddForce(0,0,4000*Time.deltaTime);
        // rb.position = rb.transform.position + Vector3.forward * Time.deltaTime;

        if (Input.GetKey(KeyCode.W))
        {
            MoveForward();
        }
        if (Input.GetKey(KeyCode.A))
        {
            MoveLeft();
        }
        if (Input.GetKey(KeyCode.D))
        {
            MoveRight();
        }


    }
    private void OnCollisionEnter(Collision collision)
    {
        Debug.Log("PlayerMove 碰撞");
        rb.Sleep();
    }
    void MoveForward()
    {
        transform.Translate(Vector3.forward * Time.deltaTime * Speed);
    }
    void MoveBack()
    {
        transform.Translate(Vector3.forward * Time.deltaTime * -Speed);
    }
    void MoveLeft()
    {
        transform.Translate(Vector3.left * Time.deltaTime * Speed);
    }
    void MoveRight()
    {
        transform.Translate(Vector3.left * Time.deltaTime * -Speed);
    }
    void Lrotate()
    {
        transform.Rotate(Vector3.up * Time.deltaTime * Speed);
    }
    void Rrotate()
    {
        transform.Rotate(Vector3.up * Time.deltaTime * -Speed);
    }
}

 

 

 

 

 

 

 

 

 

效果如图:

 

Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐