Unity3D模仿CS等第一人称游戏控制视角和位置

11 篇文章 1 订阅

我们在玩第一人称游戏通常需要控制人物视角和位置,如WSAD控制前后左右,鼠标控制视角,我们只需要创建一个脚本挂载到主摄像机下面即可,话不多说,直接上代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraController : MonoBehaviour 
{
    public float speed;
    private Camera camera;

    // Use this for initialization
    void Start() 
    {
        camera = GetComponentInChildren<Camera>();
    }

    // Update is called once per frame
    void Update() 
    {
        // 得到鼠标当前位置
        float mouseX = Input.GetAxis ("Mouse X") * speed;
        float mouseY = Input.GetAxis ("Mouse Y") * speed;
        // 设置照相机和Player的旋转角度,X,Y值需要更具情况变化位置
        camera.transform.localRotation = camera.transform.localRotation * Quaternion.Euler (-mouseY, 0, 0);
        transform.localRotation = transform.localRotation * Quaternion.Euler (0, mouseX, 0);

        float x = Input.GetAxis("Horizontal") * Time.deltaTime * speed;//左右移动
     float z = Input.GetAxis("Vertical") * Time.deltaTime * speed;//前后移动
     transform.Translate(x, 0, z);//相机的移动
    }
}

挂载后设置速度:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值