unity 第一人称相机的实现 您所在的位置:网站首页 unity第一视角灯光不跟着鼠标 unity 第一人称相机的实现

unity 第一人称相机的实现

2024-07-15 12:38| 来源: 网络整理| 查看: 265

前言

对于游戏开发而言,第一人称是很重要的一种游戏内容表达方式,相比于第三人称,其优点在于有很强的沉浸感,但是同时对于场景的质量要求也比较高,因为第一视角的情况下,玩家对于场景中的物体更加敏感

关于第一人称的游戏:

赛博朋克2077 Fps游戏都是基于第一人称来进行的 几种第一人称的实现方式

使用Character Controller组件

该组件是一个专门用于角色控制的物理组件,可以更加真实的模拟人物的物理效果,相比于Rigidbody来说,它是一个部分功能受限的刚体组件,使用的流程为:

1,首先创建一个人物,为人物添加角色控制器,可以在其中调节一些参数

在这里插入图片描述

2,创建一个相机,作为人物的子物体

3,为人物添加控制代码

3.1首先就是控制人物的行走代码:使用角色控制器中的Move方法来实现控制 float _horizontal = Input.GetAxis("Horizontal"); float _vertical = Input.GetAxis("Vertical"); if (player.isGrounded) { playerrun = new Vector3(_horizontal, 0, _vertical); if (Input.GetKeyDown(KeyCode.Space)) //跳跃 playerrun.y = height; } playerrun.y -= g * Time.deltaTime; //添加重力,使用角色控制体组件时,刚体组件重力会不起作用 player.Move(player.transform.TransformDirection(playerrun * Time.deltaTime * speed)); //Move是角色控制器一种控制移动的方法 3.2然后是控制相机旋转的代码: //使用鼠标来控制相机的视角的旋转 Cursor.lockState = CursorLockMode.Locked;//锁定指针到视图中心 Cursor.visible = false;//隐藏指针 x += Input.GetAxis("Mouse X"); y -= Input.GetAxis("Mouse Y"); this.transform.eulerAngles = new Vector3(0, x, 0); y = Mathf.Clamp(y, -45f, 45f);


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有