Unity3D方向键控制人物移动的代码

2023-11-18

代码

var v = Input.GetAxis("Vertical");
var h = Input.GetAxis("Horizontal");
transform.Translate(transform.forward * Time.deltaTime * moveSpeed * v, Space.World);
transform.Rotate(transform.up * Time.deltaTime * rotateSpeed * h);

也可以换成

var v = Input.GetAxis("Vertical");
var h = Input.GetAxis("Horizontal");
transform.Translate(new Vector3(0, 0, 1) * Time.deltaTime * moveSpeed * v);
transform.Rotate(transform.up * Time.deltaTime * rotateSpeed * h);

注意点

Translate函数默认模式是Space.Self,此时移动方向需要为人物坐标系下的人物前进方向Vector3(0, 0, 1);如果模式指定为Space.World,移动方向应该为世界坐标系下的人物前进方向transform.forwardtransform.forward在人物转向过程中会改变。如果不注意这个问题,人物转向后前进动作会出问题,比如斜着前进或者横着走。

Rotate函数则没有这个问题,这是因为在人物转向过程,Rotate函数的旋转轴不会变化,所以transform.upVector3(0, 1, 0)可以和Space.WorldSpace.Self任意组合。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity3D方向键控制人物移动的代码 的相关文章

  • Unity3D C#数学系列之点积

    文章目录 1 定义 2 几何意义 3 向量a 向量b xaxb yayb zazb 4 应用案例 4 1 求两向量的夹角 4 2 判断两向量是否垂直 4 3 判断NPC是否在攻击范围内 4 4 已知入射光线和表面法线求反射光线 5 项目 1
  • Unity InputSystem 实现同一按键单击、双击、长按执行不同逻辑

    最近学习了一下Unity InputSystem 该系统可用于实现 管理复杂的操作逻辑 上限很高 但由于它有一定的学习成本 导致一些和我一样的小白一入门时不得要领 之前卡住我的一个需求就是通过InputSystem 实现同一按键单击 双击
  • unity3D期末作业捕鱼游戏,适合初学者学习使用,包含源程序所有文件

    虚拟现实期末作业捕鱼游戏 免积分下载 点我下载资源 有按钮 背景音乐 可以发射炮弹捕鱼 可以选择难度 可以调节音乐声音大小 有游戏加载进度条 详细情况请看如下动态图 点我下载资源
  • Unity3d中使用OnGUI()函数判断“键盘按下抬起”功能的新方法。

    private bool flagJudgeDownAllow true 开始值为true void OnGUI key Event current FunctionKeyCodeV1 key private void FunctionKe
  • Unity中的单元测试

    我知道的单元测试有两种方法 1 从Unity的AssetStore窗口下载UnityTestTools 已下架了 2 使用TestRuner 2018 2 5以上版本有 我用的是2018 2 7 TestRuner的用法 操作窗口 Wind
  • 服务器时间管理器

    时间戳管理器 using System using UnityEngine public class SyncTime Singleton
  • 《Unity Shader入门精要》彩图版免费分享~~~~~

    这书很多地方都要币或者要钱 这里就免费分享了 下面是网盘链接 顺手点个赞或者评论一波呗 下载链接 链接 https pan baidu com s 137Y1nkB6h8HIvKOfwFPnbQ 提取码 f8dw 顺手点个赞 蟹蟹蟹蟹
  • Unity3d提升效率的高级技巧(二)

    11 在层次视图中选中某个游戏对象 按快捷键 Cmd Ctrl D 即可复制该对象 对于检视面板中的数组字段也可已同样的方式来复制元素 12 检视面板中所有的颜色字段都是支持复制和粘贴的 只需右键点击颜色字段既可选择操作 13 如果觉得在场
  • Unity笔记:修改代码执行的默认打开方式

    使用 External Tools 偏好设置可设置用于编写脚本 处理图像和进行源代码控制的外部应用程序 External Script Editor 选择 Unity 应使用哪个应用程序来打开脚本文件 Unity 会自动将正确的参数传递给内
  • Unity编辑器扩展——进度条显示通用方法

    在我们使用Unity编辑器扩展做一些批处理的工具时 通常会需要显示一个进度条 这样不会让Unity一直卡住不动 使得使用者不知道当前的进展 那么如何显示进度条呢 涉及的相关API有 EditorUtility ClearProgressBa
  • JPush极光推送Unity插件iOS设备无法获取DeviceToken

    前言 最近在使用JPush进行极光推送 Unity插件GitHub地址https github com jpush jpush unity3d plugin 问题描述 但是发现了一个问题 按照官方文档操作 最终仍然无法获取DeviceTok
  • RAIN{INDIE} 自动寻路

    Unity游戏中有较多的自动寻路插件 看过几个 大同小异 而RAIN中的Behavior Tree感觉很好 听名字就知道很条理 下面 就用它做个简单的寻路小例子 首先 导入RAIN的包 结构如下 在使用的过程当中还会产生几个文件夹用来存放E
  • 【Unity-学习-021】异步实现HTTP请求

    对Http访问操作 Unity中一般使用协程操作 但是协程有一个比较要命的要求就是所在Mono必须在场景中是激活的 所以一些操作就会被限制 所以我们就找办法替代掉协程做一些异步的操作 那就用异步方法 首先扩展一下AsyncOperation
  • unity本地分数排行榜简单解决方案(Json)

    具体效果 大体方法 创建一个分数类Score和一个分数类的容器List
  • 【Unity灯光与渲染技术】Global Illumination全局光照

    本系列主要参考Unity灯光与渲染技术教程Unity Lighting And Rendering 同时会加上一点个人实践过程和理解 分割线 这篇文章主要讲全局光照 在看教程的时候就有一个点不是很理解 就是作者开启物体的static这个选项
  • Unity使用spine动画

    Unity使用spine动画 在 Unity 中 常常使用 Spine 来制作一些动画 引擎本身并不能直接播放 Spine 动画 需要额外导入一个 RunTime 插件库才能支持 官网插件导入 当然 也可以到 Spine 官网关于 Unit
  • Unity3d 插件 系列——DoTweenPro介绍(图文详细+案例)

    Unity3d 插件 系列 DoTweenPro介绍 图文详细 案例 前言 一 DoTweenPro简介 二 DoTweenPro安装 三 DoTweenPro主要组件 1 DoTweenAnimation 2 DoTweenPath 3
  • Unity中UI组件

    一 Canvers 画布组件 Canvers下面是添加Button和Image组件 Rect Transform 1 Position 坐标位置 2 Width Height 高宽尺寸 3 Anchors 锚点 4 Pivot中心点 即UI
  • Unity打包WebGL的优化常用操作?

    1 贴图部分优化 如果贴图格式时2048 在不影响画面效果的情况下 改成1024或者5 12 还可以缩小包体 2 压缩和解压缩问题 WebGL打包的时候分三种压缩情况 gzip 比Brotli文件打 但打包快 http和https都支持 B
  • Unity3d中脚本无法编译问题(Monodevelop)

    使用Monodevelop打开脚本 编译时报错 具体错误忘记了 原因是 net框架引起 升级到 net框架4 5后解决

随机推荐

  • 给 MSYS2 添加中科大的源

    最近一段时间不知怎么的 使用默认的 MSYS2 源升级软件或是安装新软件的特别的慢 所以就翻了翻国内的几个开源软件的镜像库 发现中科大的库里就有 MSYS2 所以就研究了一下 给 MSYS2 添加了中科大的源 简单的说 msys64 etc
  • 领域驱动设计:DDD重构中台业务模型

    文章目录 如何避免重复造轮子 如何构建中台业务模型 如何避免重复造轮子 要避免重复建设 就要理解中台的理念和思想 中台是企业级能力复用平台 复用 用白话说就是重复使用 就是要避免重复造轮子的事情 中台的设计思想与 高内聚 低耦合 的设计原则
  • Oracle入门笔记(四)——Oracle表约束和表间关系

    Oracle表约束和表间关系 1 Oracle数据表要求 2 Oracle数据表约束 3表间关系 3 1一对一关系 3 1一对多关系 3 1多对多关系 1 Oracle数据表要求 1 必须以字母开头 2 长度不能超过30字符 3 避免使用关
  • 软件测试项目管理系统(STM)

    1 产品介绍 凯云软件测试项目管理系统 Software Testing Management System 简称 STM 是为企业软件测试部门以及第三方软件测试机构打造的统一工作平台 该系统提供规范的测试流程 支持被测件接收 测试需求分析
  • 若依RuoYi-Vue代码学习一---若依如何基于OncePerRequestFilter【Spring Security的过滤器】验证的token与用户信息

    文章目录 一 通过token获取用户信息 二 验证token过期 一 通过token获取用户信息 代码位置 com ruoyi framework security filter JwtAuthenticationTokenFilter 直
  • https://isux.tencent.com/svg-animate.html(svg动画)

    初学SVG的时候 感觉那一坨一坨的代码难读难懂 现在回过头仔细想想 是因为那时候看文档缺少一些具体的实例 导致学习起来很枯燥 如今SVG已经在前端各个领域都有所作为 无论是项目里的应用还是demo都所处可见 这里我就用一个实例的写法带新同学
  • Android 上传头像功能第三方框架Boxing与TakePhoto使用总结

    刚做了个人中心的上传头像功能 就来总结一下做的过程 一开始就直接去github上找一个第三方框架接入 省点事 先是听了朋友的推荐去看了一下bilibili开源的一款Boxing的框架 但是使用起来发现不太符合我的需求 最后还是使用TakeP
  • 【学习排序】 Learning to Rank 中Listwise关于ListNet算法讲解及实现

    前一篇文章 Learning to Rank中Pointwise关于PRank算法源码实现 讲述了基于点的学习排序PRank算法的实现 该篇文章主要讲述Listwise Approach和基于神经网络的ListNet算法及Java实现 包括
  • inno setup打包软件学习

    目录 一 打包结果 二 示例打包脚本 三 错误解决 3 1 另一个程序正在使用此文件 进程无法访问 3 2 桌面图标无法修改 四 参考资料 一 打包结果 测试程序来自 泽森科工 zenustech com 二 示例打包脚本 使用打包软件下载
  • SVN服务器权限设置

    1 authz文件内容 groups admin xiaoming team1 zhangsan admin rw admin具有svnRepos根目录下所有文件的读写权限 组别为team1的人员具有projectname目录下所有文件的读
  • Java并发编程学习1-并发简介

    Java并发编程学习系列 Java并发编程学习 简介 线程的优势 发挥多处理器的强大能力 建模的简单性 异步事件的简化处理 响应更灵敏的用户界面 线程的风险 安全性问题 活跃性问题 性能问题 结语 简介 在早期的计算机中不包含操作系统 它们
  • 钩子函数介绍和总结

    Author 快来救救我 ps 快乐废宅 文章目录 前言 一 钩子函数 Hook 是什么 理解 特点 举例 钩子类型 钩子程序组成部分 钩子操作流程 钩子函数的回调函数 最后 三 参考文章 前言 我看了其他博客有些对钩子函数讲述的篇幅要不太
  • IBM Worklight开发环境安装

    1 安装jdk1 6以上版本 2 下载安装mysql http ftp iij ad jp pub db mysql Downloads MySQL 5 1 mysql noinstall 5 1 62 win32 zip 3 下载mysq
  • 成为黑客第一步:从这五本书开始

    如果您想学习黑客并成为道德黑客 那么这些最好的黑客书籍将带你走上正轨 学习黑客 如果你是一个完整的初学者 并不是一件容易的事 虽然网上有很多资源 但是黑客资源往往很少 因此阅读书籍通常很有帮助 黑客可能会被不道德地使用 还可能对个人和公司造
  • 当HDF5需要重新创建大量group和dataset但是又提示原来的group已经存在怎么办

    描述 我在创建tff数据集的时候 程序里面有循环写到hdf5需要根据某类名字创建group dataset 但是我有的时候会发现这段代码有问题 我需要修改一下循环里面的某些东西然后再重新run 这个时候会提示创建的group或者datase
  • C++ 去掉字符串前后的空格

    基本思路 先去掉字符串头部的空格 再去掉字符串尾部的空格 实现方式一 include
  • ICLR 2023高分论文!ToMe:你的视觉Transformer可以更快!

    点击下方卡片 关注 CVer 公众号 AI CV重磅干货 第一时间送达 点击进入 gt CV微信技术交流群 转载自 极市平台 作者 科技猛兽 导读 这篇文章提出了一种无需训练即可加速 ViT 模型 提高吞吐量的方法 Token Mergin
  • C语言static和extern关键字

    1 static static修饰的变量 自始至终只有一块空间 当前文件才能使用 生命周期是从定义开始直到程序结束 全局变量的定义是在 c文件中 但是声明全局变量是在 h中 static 静态型 用它定义的变量自动初始化为0值或空值 常用于
  • Django开发过程中的一些bug及解决方法

    在使用django开发一个交易平台的过程中 遇到各种各样的问题 其中有比较复杂的问题也有疏忽导致的比较简单的bug 记录下来 希望有所帮助 错误 A model can t have more than one AutoField Asse
  • Unity3D方向键控制人物移动的代码

    代码 var v Input GetAxis Vertical var h Input GetAxis Horizontal transform Translate transform forward Time deltaTime move