第一轮冲刺第二天

今天我完成了对简单三维迷宫模型碰撞功能的设置和物体在迷宫内由wsad控制前后左右的移动,以及鼠标360°视野转动的设置。

问题所在及解决办法:

1.在设置碰撞功能时,加入了模块,相机依然还能穿过墙体,发现是需要将相机放在一个正方体内,作为子物体,问题就成功解决了(已解决)

2.然后又出现了物块会翻的问题,发现是需要勾选Freeze Rotation中所有项目,也就是控制物块的xyz轴上的翻动(已解决)

3.还有物块会向上移动脱离迷宫的问题,将物块的视野转动中x轴转动取消,给予相机xy轴转动(已解决)

4.由第三个问题引发了现在最棘手的问题,物块和相机y轴转向不同步,导致无法前后左右(wsad)方向移动错位(未解决)

明天我将着重于第四个问题,争取能发现原因并解决它。

代码

using UnityEngine;
using System.Collections;

public class Test2 : MonoBehaviour {
    int MoveSpeed = 30;
    int ratateSpeed = 80;
    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
        if (Input.GetKey(KeyCode.W))
        {
            print("move W");
            this.transform.Translate(Vector3.forward * Time.deltaTime * MoveSpeed);
        }else
        if (Input.GetKey(KeyCode.S))
        {
            print("move S");
            this.transform.Translate(Vector3.back * Time.deltaTime * MoveSpeed);
        }else
        if (Input.GetKey(KeyCode.A))
        {
            print("move A");
            this.transform.Translate(Vector3.left * Time.deltaTime * MoveSpeed);
        }
        else
            if (Input.GetKey(KeyCode.D))
        {
            print("move D");
            this.transform.Translate(Vector3.right * Time.deltaTime * MoveSpeed);
        }

        //float xx = Input.GetAxis("Mouse Y");

        float yy = Input.GetAxis("Mouse X");

        //transform.Rotate(new Vector3(-xx * Time.deltaTime * ratateSpeed, 0, 0), Space.Self);//绕着x轴转动

        transform.Rotate(new Vector3(0, yy * Time.deltaTime * ratateSpeed, 0), Space.World);//绕着y轴转动鼠标移动的度数

    }
}

 

2018-11-16

控制前后左右的移动,以及鼠标360°视野转动 12:20-13.40
加入碰撞模块及解决相关问题 16:00-17:00   19:00-20:50

 

posted on 2018-11-16 20:55  Theast、Zzz  阅读(127)  评论(0编辑  收藏  举报