Unity人物移动的几种方法

news2024/9/25 11:22:38

Unity人物移动的几种方法

  • 方法一:transform.Translate
    • 世界坐标系移动
    • 自身移动的案例
  • 方法二:CharacterController.Move(vector dir)
    • 按照世界坐标轴移动
    • 按照自身坐标轴移动
  • 方法三:CharacterController.SimpleMove(vector dir)慎用
    • 按照世界坐标轴移动:
    • 按照自身坐标轴移动:

方法一:transform.Translate

再讲之前先知道Vector3.forward就是朝前也就是Z轴的方向,如果不明白的可以看一下图

在这里插入图片描述

世界坐标系移动

代码中写的是根据世界坐标轴的z轴方向移动,然后再看一下右上角的世界坐标轴发现是根据世界坐标轴的z轴移动是没有问题的,这里在观察一个问题就是这个物体的自身坐标轴的z轴是朝向左侧的,这个就是因为方法第二个参数的作用,Space.World为根据世界坐标轴方向移动,Space.Self则是根据自身的方向移动

	// Update is called once per frame
	void Update () {
        transform.Translate(Vector3.forward * Time.deltaTime * 10f, Space.World);
    }

在这里插入图片描述

自身移动的案例

下一行注释的一行就相当于上一行,这个方法默认有一个枚举是根据自身的坐标系来进行位移,也就是说这里写不写Space.self都一样。

	// Update is called once per frame
	void Update () {
        transform.Translate(Vector3.forward * Time.deltaTime * 10f,Space.Self); //1
        //transform.Translate(Vector3.forward * Time.deltaTime * 10f); //2
    }

看一下效果:
在这里插入图片描述

方法二:CharacterController.Move(vector dir)

CharacterController.Move这个方法没有明确的枚举告诉我们是世界坐标系还是自身坐标系,所以这里通常transform.XXX(forward)来代表自身坐标,用Vector.XXX(forward)来代表世界坐标。
如下图所示:

按照世界坐标轴移动

在这里插入图片描述
代码如下:

	// Update is called once per frame
	void Update () {
        chars.Move(Vector3.forward * Time.deltaTime * 10f);
    }

按照自身坐标轴移动

在这里插入图片描述
代码如下:

	// Update is called once per frame
	void Update () {
        chars.Move(transform.forward * Time.deltaTime * 10f);
    }

方法三:CharacterController.SimpleMove(vector dir)慎用

为什么说慎用这个方法是因为这个移动是需要有某种基础来可以移动的

  1. 首先需要一个地面去让移动的物体在上面,如果没有则是不起到任何作用的
  2. 这个方法是自带刚体的,当使用时附带刚体效果自由下落,如果不使用时则没有刚体的自由下落效果
  3. 这个方法跟我上面介绍的两种方法速度机制不一样,不需要 * Time.delatetime 即可使用

效果图放在下面:

按照世界坐标轴移动:

在这里插入图片描述

代码如下:

	void Update () {
        chars.SimpleMove(Vector3.forward);
    }

按照自身坐标轴移动:

在这里插入图片描述

代码如下:

	void Update () {
        chars.SimpleMove(transform.forward);
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1334717.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

年终盘点文生图的狂飙之路,2023年文生图卷到什么程度了?

目录 前言发展1月2月3月4月5月6月7月9月10月11月12月 思考与总结参考文献 前言 说到文生图,可能有些人不清楚,但要说AI绘画,就有很多人直呼: 2022可以说是AI绘图大爆发的元年。 AI绘画模型可以分为扩散模型(Diffusio…

ElasticSearch 使用映射定义索引结构

动态映射 dynamic 可选值解释true默认值,启用动态映射,新增的字段会添加到映射中runtime查询时动态添加到映射中false禁用动态映射,忽略未知字段strict发现未知字段,抛出异常 显示映射 创建映射 PUT user {"mappings&qu…

《钢结构设计标准》中抗震性能化设计的概念

文章目录 0. 背景1. 前言2. 什么是抗震性能化设计3. 我国规范是如何实现性能化设计的4. 从能量角度理解性能化设计05. 《钢结构设计标准》抗震性能化设计的思路06. 《钢结构设计标准》抗震性能化设计的步骤 0. 背景 关于抗震性能化设计,之前一直理解的很模糊&#…

售前工程师宝典:整理服务器最全知识点

如何保证服务器可以支持百万用户访问?服务器品牌有哪些?如何选购服务器?对于这些问题,今天我们就一起来看下关于服务器的相关知识。 假如你开发了一个网站或者一个app把他放到服务器上,之后你把它发布到了网上&#x…

Matlab/Simulink的一些功能用法笔记(3)

01--引言 最近加入到一个项目组,有一些测试需要去支持,通过了解原先团队的测试方法后,自己作了如下改善,大大提高了工作效率。这也许就是软件开发的意义吧,能够去除一些重复的机械的人工操作并且结果还非常不可靠。 …

一位年薪35W的全栈开发被开除,回怼的一番话,令人沉思

一位年薪35W开发工程师被开除回怼道:“反正我有技术,在哪不一样” 一技傍身,万事不愁,当我们掌握了一技之长后,在职场上说话就硬气了许多,不用担心被炒,反过来还可以炒了老板,这一点…

iOS苹果App应用程序上架后提示有三方登入是怎么回事?如何解决?

Hello大家好!我是咕噜铁蛋!现在越来越多的 App 都提供了三方登入功能,比如使用微信、QQ、微博等社交媒体账号登入。但是,有些开发者在将 App 上架到苹果应用商店时,会遇到提示“您的应用程序使用了第三方登录”的问题。…

BERT的学习

BERT 1.前言 self-supervised learning是一种无监督学习的特殊形式,算法从数据本身生成标签或者目标,然后利用这些生成的目标来进行学习。(也就是说数据集的标签是模型自动生成的,不是由人为提供的。)例如&#xff0…

<<USB2.0>>第2章:大局观

2.7、USB外设连接 Full-Speed Hubs High-Speed Hubs

智能监控平台/视频共享融合系统EasyCVR点击通道后页面分页不显示是什么原因?如何解决?

TSINGSEE青犀视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力&…

国产POE芯片-XS2184四通道,兼容 IEEE 802.3at/af,内建 N-MOSFET以太网供电 PSE 控制器

XS2184 是一个四通道、供电设备( PSE )电源控制器,内建 N 通道 MOSFET ,设计用于 IEEE 802.3at/af 兼容 PSE 。器件提供用电设备( PD )侦测、分级、限流以及负载断开检测。器件支持自动工作和软件编程。器…

Redis缓存常见问题之预热、雪崩、击穿、穿透

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理、分布式技术原理、数据库技术🔥如果感觉博主的文章还不错的…

如何使用Jellyfin结合内网穿透搭建私人影音平台远程可访问

作者简介: 懒大王敲代码,计算机专业应届生 今天给大家如何使用Jellyfin结合内网穿透搭建私人影音平台远程可访问,希望大家能觉得实用! 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 前言…

怎么制作挪车电话二维码?扫码直接拨号的快捷方法

怎么制作挪车电话二维码?现在遇到需要挪车情况是,经常会发现很多车主都将自己的联系方式做成二维码图片放在车上,其他车主只需要扫码就可以直接获取手机号拨打,无需自己手动输入手机号,更加的简单方便。那么想要将手机…

【算法】利用双指针法解决算法题(C++)

文章目录 1. 前言2. 双指针法引入283.移动零 3. 使用双指针法解决算法题1089.复写零202.快乐数11.盛最多水的容器[611.有效三角 形的个数](https://leetcode.cn/problems/valid-triangle-number/description/)LCR179.查找总价格为目标值的两个商品15.三数之和18.四数之和 1. 前…

Scala(一)基本类型

Scala语言快速入门(基本类型) 一、Linux和Windows环境安装 这部分跳过,直接使用IDEA进行搭建,和其他编程语言配置差不多 二、HelloWorld 1.object表示一个伴生对象(相当于一个对象)2.HelloWorld是对象的…

Java项目-瑞吉外卖项目优化Day2

读写分离Linux配置 如果只有一台数据库,会导致数据库压力过大,也可能出现磁盘损坏数据丢失的情况。所以考虑借助mysql数据库的主从复制解决以上两个问题。 mysql主从复制的原理 实现主从复制的操作 注意此处的master_log_file的值和master_log_pos的值要…

渗透测试——1.1初认识kali

一、kali的下载 官方地址:www.kali.org 下载后压缩就可用vmware打开即可(初始账号和密码都是kali) 二、三种网络配置 1、桥接模式:将虚拟机看成局域网中的独立主机 2、NAT模式:将物理机当做路由器(rout…

php一句话木马变形技巧

一、什么是一句话木马? 一句话木马就是只需要一行代码的木马,短短一行代码,就能做到和大马相当的功能。为了绕过waf的检测,一句话木马出现了无数中变形,但本质是不变的:木马的函数执行了我们发送的命令。 …

深度学习 | 基本循环神经网络

1、序列建模 1.1、序列数据 序列数据 —— 时间 不同时间上收集到的数据,描述现象随时间变化的情况。 序列数据 —— 文本 由一串有序的文本组成的序列,需要进行分词。 序列数据 —— 图像 有序图像组成的序列,后一帧图像可能会受前一帧的影响…