Unity --- 三维数学 --- Vector类 --- 向量部分

这篇具有很好参考价值的文章主要介绍了Unity --- 三维数学 --- Vector类 --- 向量部分。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

unity vector,unity,unity,游戏引擎

 unity vector,unity,unity,游戏引擎

unity vector,unity,unity,游戏引擎 1.注意每一个数字都表示一段有向位移 --- 有方向的距离unity vector,unity,unity,游戏引擎

1.从尾到头那一段称为向量的模长 --- magnitude (direction对应的是向量的方向)

2.一个向量有大小 -- 模长(magnitude) , 有方向(direction)unity vector,unity,unity,游戏引擎

1.向量的模长等于各分量的平方和的平方根

2.由于在计算机中计算平方和要比计算平方根更快,更简单,所以我们常常用向量的模长的平方(求平方和)来表示向量的大小。 unity vector,unity,unity,游戏引擎

1.A向量的单位向量是在A向量的方向上模长为1的向量,用来表示A向量的方向 unity vector,unity,unity,游戏引擎

1.tranform类中的Position属性用来表示物体的位置,是一个Vector3类型的三维点变量unity vector,unity,unity,游戏引擎

在Unity中获取一个向量的方式有两种:

1.用公式来求

2.调用Vector3类中的 magnitude(模长)属性,直接获得模长 

3.每一个Vector3类对象都相当于一个向量,当我们给这个对象的Vector3数据是属于世界坐标系中的Position时,此时通过该对象计算的模长(magnitude)为从世界坐标系原点到该Position之间的长度

如果是localPositon的话,则是从父类坐标系原点到该localPositon的位置

4.Vector3中的静态属性zero中装的是一个点的坐标,这个点的坐标就是世界坐标系的原点unity vector,unity,unity,游戏引擎

 unity vector,unity,unity,游戏引擎

 1.获取单位向量的两种方法:公式法 --- 向量 / 模长  ---》得到的结果依然是一个向量(该向量的每一个分量的值等于 --- 原向量的每一个分量的值 / 模长),且该向量即为我们想求的单位向量

2.直接调用已有的属性 ---normalized来获取向量所对应的单位向量unity vector,unity,unity,游戏引擎

1.两向量点相减之后得到的新的向量的大小(模长)为两向量点之间的距离unity vector,unity,unity,游戏引擎

(a - b == a + (-b) --- -b  ==  b向量方向取反,大小不变)

2.如果是a向量点减去b向量点的话,则得到的新向量方向为b向量点指向a向量点,下面的那个同理

3.在unity中,一个Vector3类对象既可以表示一个三维空间点,也可以表示向量,当表示向量的时候,默认该向量的起点是世界坐标系原点 / 父物体坐标系原点 --- 如果向量点是用 position来表示的话就是世界坐标系为起点,并指向该向量点的positon位置,如果是localPositon的话则是父物体坐标系为原点,并指向该向量点的localPosition位置unity vector,unity,unity,游戏引擎

unity vector,unity,unity,游戏引擎

1.如果给Translate方法传一个Vector3类对象作为参数的话,则调用该方法的游戏物体会沿着该Vector3类对象的向量形态对应的方向前进,且前进的距离等于向量的大小

(PS:如果想要让以单位距离1沿着向量方向前进的话,我们可以将向量的单位向量(normalized)作为参数传给translate方法 --- 单位向量与原向量的方向相同,但是大小为1)

(PS:在Unity中,Vector3类所形成的向量都是相对于世界坐标系的 --- 即向量起点选的是世界坐标系原点) unity vector,unity,unity,游戏引擎

 1.Unity中物体移动的本质其实就是向量相加 --- a向量+b向量最终呈现的效果就是a向量的终点沿着b向量对应的方向移动,移动的距离等于b向量的大小。 --- 移动之后就能够得到一个新的向量了 unity vector,unity,unity,游戏引擎

1.向量与标量的乘除能够实现的就是向量长度的缩和放 --- 不会改变方向! 文章来源地址https://www.toymoban.com/news/detail-651684.html

到了这里,关于Unity --- 三维数学 --- Vector类 --- 向量部分的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Unity之 Vector3 的详细介绍以及方法的介绍

    当涉及到Unity中的 Vector3 类时,以下是一些常用的方法和操作: magnitude 方法 :返回向量的长度。 sqrMagnitude 方法 :返回向量的平方长度,通常用于比较向量大小而无需进行开方运算,从而提高效率。 normalized 方法 :返回向量的单位向量,即长度为1但方向相同的向量。 Vect

    2024年02月11日
    浏览(38)
  • 【Unity】坐标系、Vector3基础和Transform位置

    在学习Vector3和Transform之前需要先了解一下Unity坐标系: 在Unity中有很多坐标系,诸如世界坐标系、局部坐标系、屏幕坐标系、视口坐标系等等,这些坐标系往往会给我带来很大的困扰,但又缺一不可。比如当你需要获取鼠标在世界坐标的位置时,你就需要明白什么是世界坐标

    2024年02月02日
    浏览(47)
  • 【Unity入门】20.三维向量

        大家好,我是Lampard~~     欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢    (1)什么是三维向量     为什么会有这么一篇博客呢?主要是三维向量在unity中扮演者重要的角色, 很多组件的参数用到的类型都是Vector3类型     如果各位看官们,此时正在读

    2024年02月05日
    浏览(28)
  • unity_Vector3.up 和 transform.up 的区别

    Vector3.up : 即 Vector3(0, 1, 0) Vector3.down : 即 Vector3(0, -1, 0) Vector3.forward : 即 Vector3(0, 0, 1) Vector3.back : 即 Vector3(0, 0, -1) Vector3.right : 即 Vector3(1,0, 0) Vector3.left : 即 Vector3(-1, 0, 0) 在 Scene 中画线(脚本挂给Cube)  结果 transform.up : 即 Vector3.up transform.forward : 即 Vector3.forward tra

    2023年04月14日
    浏览(29)
  • Unity 3D之 利用Vector3 计算移动方向,以及实现位移多少

    这段代码是一个在游戏开发中常见的示例,用于获取玩家的输入,并将输入值转换为一个三维向量,以表示移动方向。让我们逐步解释这段代码: float horizontalInput = Input.GetAxis(\\\"Horizontal\\\"); :这一行代码获取水平方向上的输入。它调用 Input.GetAxis(\\\"Horizontal\\\") 来获取水平轴的输入

    2024年02月11日
    浏览(41)
  • 关于 Unity 的 Transform.up 和 Vector3.Up 的测试

    Unity官方文档的 Transform.up 链接 测试方法:提取刚体,坐标系,Space模式为参数,使用上下左右表示物体移动和旋转,测试不同情况的位移和旋转,Console选择Collapse模式 测试脚本 TestScript 如下: 测试场景物体布局如下图: 刚体速度和Translate对比 相同点: 旋转的Space模式不会

    2024年02月03日
    浏览(48)
  • Unity - 导出的FBX模型,无法将 vector4 保存在 uv 中(使用 Unity Mesh 保存即可)

    备忘,便于日后自己索引 为了学习了解大厂项目的效果: 上周为了将 王者荣耀的 杨玉环 的某个皮肤的头发效果还原 所以我想直接抓模型,再还原 shader 我使用的还是以前的老方法: GPA + 夜神模拟器,具体可以查看以前的另一篇教程,具体参考:教你如何使用GPA导出模型,

    2024年02月05日
    浏览(45)
  • Unity3D 基础——使用 Vector3.Lerp 实现缓动效果

     让一个物体从当前位置移动到另一个位置   Vector3-Lerp - Unity 脚本 API https://docs.unity.cn/cn/current/ScriptReference/Vector3.Lerp.html 1.在场景中新建两个 Cube 立方体,在 Scene 视图中将两个 Cude的位置错开。  2.新建 C# 脚本 MoveToTarget.cs(写完记得保存) 3.将脚本绑定到 Cude 上,然后将其

    2024年02月06日
    浏览(46)
  • 向量vector与sort()

    运行代码: 读取文件:Item_file.txt Max 2 43.2 Jane 3 34.2 Tom 3 32.4 Mary 8 23.0 Peter 5 32.5 Max 2 43.2 Jane 3 34.2 Tom 3 32.4 Mary 8 23.0 Peter 5 32.5 运行结果:

    2024年02月15日
    浏览(33)
  • Unity计算2个物体之间距离 (2个三维向量之间)

        public float GetDistance(Vector3 startPoint, Vector3 endPoint)     {         float distance = (startPoint - endPoint). magnitude ;         return distance;     }     方法2     public double GetDistance(Vector3 startPoint, Vector3 endPoint)     {         double x = System.Math.Abs(endPoint.x - startPoint.x);         double y

    2024年02月08日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包