unity通过脚本实现漫游功能 wasd控制玩家移动,空格跳跃,鼠标控制视野旋转,滑轮控制镜头伸缩

这篇具有很好参考价值的文章主要介绍了unity通过脚本实现漫游功能 wasd控制玩家移动,空格跳跃,鼠标控制视野旋转,滑轮控制镜头伸缩。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

将场景中的摄像机删除,在玩家的控制面板中添加Camera组件,和rigibody组件

 

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

public class move : MonoBehaviour
{
    public float speed;
    Rigidbody rigid;
    void Start()
    {
       
        rigid = GetComponent<Rigidbody>();
    }
    void Update()
    {
         moveAction();
    }
    private void moveAction()
    {
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");
        transform.Translate(h * speed * Time.deltaTime, 0, v * speed * Time.deltaTime);
        rigid.constraints = RigidbodyConstraints.FreezeRotation;
        if ((Input.GetKeyDown(KeyCode.Space)) && (rigid.velocity.y == 0))
        {
            rigid.AddForce(new Vector3(0, 150, 0));
        }
        float qx = Input.GetAxis("Mouse X");
         float qy = -Input.GetAxis("Mouse Y");
         Quaternion xoff = Quaternion.Euler(0, qx, 0);
         Quaternion yoff = Quaternion.Euler(qy, 0, 0);
        if (Input.GetAxis("Mouse ScrollWheel") > 0)
        {
            GetComponent<Camera>().fieldOfView--;
        }

        if (Input.GetAxis("Mouse ScrollWheel") < 0)
        {
            GetComponent<Camera>().fieldOfView++;
        }
 
       transform.rotation = xoff * transform.rotation;
        transform.rotation = transform.rotation * yoff;
        float angle = transform.eulerAngles.x;
        if (angle > 180)
            angle -= 360;
        if (angle < -180)
            angle += 360;
        if (angle > 15)
            transform.rotation = Quaternion.Euler(15, transform.eulerAngles.y, 0);
        if (angle < -15)
            transform.rotation = Quaternion.Euler(-15, transform.eulerAngles.y, 0);
    }
}文章来源地址https://www.toymoban.com/news/detail-494853.html

到了这里,关于unity通过脚本实现漫游功能 wasd控制玩家移动,空格跳跃,鼠标控制视野旋转,滑轮控制镜头伸缩的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Unity - Stencil Test 开关,无法通过脚本或是 shader lab 开关来控制

    Unity - Stencil Test 开关,无法通过脚本或是 shader lab 开关来控制

    查看过 shader lab 文档: ShaderLab command: Stencil,没有看到 stencil test 关闭的功能,我真的无语。。。 只能开,不能关,意思一个 shader lab 一旦编写了 stencil { } 的内容,就必须开启。。。 好 low 的设计 在网上同样搜索到对应的 unity 论坛贴图: how to disable the Stencil block via shader pr

    2024年02月16日
    浏览(17)
  • Unity 3D通过脚本控制音频音量、继续、暂停、停止播放;判断当前音乐是否播放;切换音乐;

    演示 在HideInInspector中将三首音乐拖到音乐组中,自定义音乐数量也可以,需要修改代码中切换音乐函数中的部分内容。调用脚本中的函数即可实现对应功能。 重复播放音乐代码如下

    2024年02月12日
    浏览(9)
  • 【Unity】第一人称实现键盘移动WASD

    背景:开发影院场景 环境:Unity2021.3 功能:WASD键实现移动、鼠标左右平滑实现转向 代码:挂载在相机的父物体上(好像是因为相机本身不支持移动?如有误望指正)

    2024年02月12日
    浏览(10)
  • Unity 第三人称 玩家控制器+相机控制器

    Unity 第三人称 玩家控制器+相机控制器

    今天给大家分享一个简单的Unity第三人称视角下玩家控制器和相机控制器的脚本编写方法。   效果如下: 主要分三部分实现:人物旋转、人物移动、相机旋转。 1.人物移动: 首先获取到人物水平和垂直移动的参数: 因为人物移动的方向跟摄像头一致,所以需要根据摄像头的

    2024年02月06日
    浏览(50)
  • unity控制摄像机跟随玩家三种办法

    unity控制摄像机跟随玩家三种办法

    将相机拖到人物的游戏对象上,也就是让相机成为角色的子物体,这样相机就会跟随角色移动 但是这样会存在问题 1.相机会随着人物的翻转而翻转 2.相机跟随人物没有缓冲效果,移动比较僵硬 代码方式控制相机跟随人物移动,利用Lerp函数控制相机 1.在Unity中创建一个脚本F

    2024年02月16日
    浏览(26)
  • 通过Appium Desktop实现录制功能并导出自动化脚本

    通过Appium Desktop实现录制功能并导出自动化脚本

    1、我们进入下面这个界面  图中红色标记1为 “ top by coordinates ” 按钮, 这是一种通过坐标定位元素的方式。  图中红色标记2为 “ Start Recording ” 按钮, 选中表示处理录制状态。   2、点击“top by coordinates” 按钮,再点击 “Start Recording” 按钮,我们就可以在左则的 App 界

    2024年02月08日
    浏览(15)
  • Unity 游戏开发、01 基础知识大全、简单功能脚本实现

    Unity默认窗口布局 Hierarchy 层级窗口 Scene 场景窗口,3D视图窗口 Game 游戏播放窗口 Inspector 检查器窗口,属性窗口 Project 项目窗口 Console 控制台窗口 恢复默认布局 Window | Layouts | Default 调大页面字体 Preference | UI Scaling 新项目默认创建了 SampleScene 场景 {摄像机,平行光} SampleScen

    2024年02月09日
    浏览(36)
  • Unity 游戏开发、01 基础篇 | 知识大全、简单功能脚本实现

    Unity默认窗口布局 Hierarchy 层级窗口 Scene 场景窗口,3D视图窗口 Game 游戏播放窗口 Inspector 检查器窗口,属性窗口 Project 项目窗口 Console 控制台窗口 恢复默认布局 Window | Layouts | Default 调大页面字体 Preference | UI Scaling 新项目默认创建了 SampleScene 场景 {摄像机,平行光} SampleScen

    2024年02月09日
    浏览(18)
  • 【Unity】简单案例脚本实现 | 鼠标观察/键盘控制移动飞行/行走/碰撞检测

    【Unity】简单案例脚本实现 | 鼠标观察/键盘控制移动飞行/行走/碰撞检测

    《Unity5实战-使用C#和Unity开发多平台游戏》第二章-构建一个让你置身3D空间的演示 鼠标观察/键盘控制移动飞行/行走/碰撞检测 Unity版本:2019.4.23f1c1 注意脚本名称和组件添加,不在文章中一一强调 场景模型都是在资源商店选择的免费下载(选择Sort by Price(Low to High)排序)搜索

    2024年02月04日
    浏览(12)
  • Unity C# 脚本来实现Cube旋转并渐变材质的功能

    Unity C# 脚本来实现Cube旋转并渐变材质的功能

    第一步:创建脚本 创建一个 C# 脚本,可以通过以下步骤完成: 打开 Unity,并在项目文件夹中创建一个新的 C# 脚本。命名为 MultipleCubeRotateMonitor 。 在脚本中引入需要的命名空间: 在脚本中定义一个类 MultipleCubeRotateMonitor 并继承自 MonoBehaviour 。这个类将管理多个立方体的旋转

    2024年02月03日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包