zoukankan      html  css  js  c++  java
  • unity中自制模拟第一人称视角

    public float sensitivityX = 5f;
    public float sensitivityY = 5f;

    public float sensitivetyKeyBoard = 0.1f;
    public float sensitivetyMouseWheel = 10f;

    private GameObject Playercamera;
    public Rigidbody rigidbody;
    public float speed = 5;

    void Start()
    {
      Playercamera = GameObject.Find("PlayerCamera");
    }

    void Update()
    {
      //滚轮实现镜头缩进和拉远
      if (Input.GetAxis("Mouse ScrollWheel") != 0)
      {
        Playercamera.GetComponent<Camera>().fieldOfView = Playercamera.GetComponent<Camera>().fieldOfView - Input.GetAxis("Mouse ScrollWheel") * sensitivetyMouseWheel;
      }
      //鼠标右键实现视角转动,类似第一人称视角  
      if (Input.GetMouseButton(0))
      {
        float rotationX = Input.GetAxis("Mouse X") * sensitivityX;
        transform.Rotate(0, rotationX, 0);

        float rotationY = Input.GetAxis("Mouse Y") * sensitivityY;
        Playercamera.transform.Rotate(-rotationY, 0, 0);
      }

    }
    void FixedUpdate()
    {
      //控制移动
      float h = Input.GetAxis("Horizontal");
      float v = Input.GetAxis("Vertical");

      //朝一个方向移动 new Vector3(h, 0, v) * speed * Time.deltaTime是个向量
      transform.Translate(new Vector3(h, 0, v) * speed * Time.deltaTime);
      //移动到一个位置
      //rigidbody.MovePosition(transform.position + new Vector3(h, 0, v) * speed * Time.deltaTime);
    }

  • 相关阅读:
    POJ 1129 深搜&四色染图&模拟
    POJ 1011 很经典的树枝拼凑的深度搜索
    HDU 2564 词组缩写
    Java中的split函数的用法
    java中next和nextline的区别
    简探this和super
    再探Java中的继承加载顺序
    Java面向接口编程小例子 2
    Dos命令整理集(持续更新)
    VMware WorkStation9.0虚拟机如何运行WINPE
  • 原文地址:https://www.cnblogs.com/Study088/p/7306648.html
Copyright © 2011-2022 走看看