Unity四部曲(基础)

这篇博客详细介绍了Unity中向量和四元数的基础知识,包括Mathf函数、向量的模长、归一化、点乘、叉乘、插值运算,以及四元数的单位四元数、插值运算、LookRotation方法。还涵盖了资源加载、场景异步加载、范围检测和射线检测等内容,适合Unity初学者深入理解。
摘要由CSDN通过智能技术生成

目录

Mathf

练习题

三角函数

坐标系

向量

基础api

模长就只有大小,没有方向

归一化则没有大小,只有方向

向量的加减乘除

 向量点乘

公式推导

向量叉乘

 调试画线

练习题

向量插值运算

四元数

​编辑​编辑​编辑Quaternion

四元数中的方法

单位四元数

​编辑

​编辑​编辑

2.插值运算

LookRotation

四元数计算

习题

习题2

延迟函数

协同程序

API

协程的本质

习题   

特殊文件夹

Resources资源加载

资源同步加载

资源异步加载

资源卸载

场景异步加载

唐老师的单例模式

LineRenderer

​编辑​编辑

这是一个组件

其他设置(标红的比较重要)

组件第一个功能(编辑模式)

代码相关

练习题

范围检测

盒状范围检测

获取层级

返回值 Collider【】

另一个API

其他范围检测

射线检测

射线对象

碰撞检测函数

获取碰到的单个物体信息

相关推理



Mathf

其实这种写法也是向下取整             ceil floor round'

4的二次方

可能需要手动设置它到目标值,因为它不会插值到目标值。  lerp返回一个浮点数,不是方法

练习题

b物体现在的位置,开始位置

因为直接lerp是不会直接到达位置,所以会一直插值。而匀速插值是能达到位置,所以会停止。

思路是,一直从开始位置的初始数据计算,因为开始位置本身一直在变动,但它的副本不会,让插值系数每次都增加固定值,就等于是在匀速插值。

三角函数

Mathf.Deg2Rad就是0.01745这个数

 就是sin30°的值

反过来通过值得到弧度。输出角度

坐标系

向量

基础api

模长就只有大小,没有方向

如果c是一个点,那模长就是相对于原点

 计算两点间的距离和得到ab的模结果是一样的

归一化则没有大小,只有方向

这就是单位向量

向量的加减乘除

没有位置加位置这种东西,无意义。向量加向量=首尾相连,得到新向量

位置+向量=新位置

位置-位置=新向量     

向量-向量还是新向量。位置+向量=新位置。反向位移

向量乘向量属于点乘的概念

摄像机相关运动写在lateUpdate里,因为它最后执行。且以目标位置为基准。

 向量点乘

记住结果是相加得出来的一个数

一般判断它>=0就是在我们前方

用V3.Dot算出自己的前方和目标与自己的连线的点乘(目标减自己就是两者间的距离向量)

公式推导

结论:夹角=Acos(向量a*向量b‘)

推导过程↓

前面一样,后面用推导出的公式,计算出对应的弧度(untiy只能返回弧度),然后将弧度转换成角度。    Acos(a*b),而向量a*b的值就是它们的点乘嘛

两者效果完全相同。能更好的理解点乘的效果。

向量叉乘

 调试画线

 Debug.DrawLine(transform.position,hit.point,Color.yellow)       起始点、碰撞点和颜色              

Debug.DrawRay(transform.position,transform.forward*10,Color.yellow)  
和上面不同的是,该方法需要一个初始点和一个具有方向和长度的向量,就得到了一条射线。
 并不影响真正的射线,只是显示出来方便开发者进行调试。   注意开启显示图标

x坐标则x不参与计算,其他同理

在unity中你不用手写公式

配合这张图可以更好的理解。y大于0说明b在a右边

c.Y

之前点乘虽然可以得到角度,但并不能判断左右,叉乘就可以判断左右。

练习题

性能优化,不用每次都去计算出一个新变量

向量插值运算

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值