我是靠谱客的博主 认真毛豆,最近开发中收集的这篇文章主要介绍【unity基础_Day04】 四元数、欧拉角、物理系统,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一.常用API

1.变量作用域:全局变量,局部变量

2.Vector.MoveTowards:移动方法

3.四元数  Quaternion 

实质是一个复数(x,y,z,w)  虚部x,y,z  实部w   

Quaternion.AngleAxis()  只能设置一个轴按照给定角度旋转

Quaternion.Slerp()  球形插值,缓动到目标物体的rotation旋转角度,f=[0,1]

欧拉角 

Quaternion.Euler()  可以多个轴按照给定角度旋转

缺点:x轴 +-90万向节死锁

四元数比欧拉角更为精确

4.世界坐标,自身坐标常用API

坐标系的转换,世界原点为unity中心,自身坐标为自身中心。

5.父子物体关系

transform.SetParent(Object  / null)   设置父物体 / 解除父物体

6.向量的运算   

向量的减法  方向指向被减

点+向量 得到的是点 ;没有点+点 这种情况

点乘 Vector3.Dot 获得的float类型为弧度,然后在转化为角度   

点乘求角度,叉乘求方向
比如敌人再附近,点乘可以求出玩家面朝方向和敌人方向的夹角,叉乘可以得出左转还是右转更好的转向敌人

详细讲解:

【Unity 24】Unity中的向量点乘和叉乘的应用_不积跬步,无以至千里-CSDN博客_unity 叉乘

向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读_牧野的博客-CSDN博客_向量点乘

叉乘 Vector.Cross   正值顺时针转   负值逆时针转

Unity中的叉乘 使用左手定则 确认结果向量方向

 Vector3.Cross(tmpA, tmpB)		叉乘结果是一个向量

向量的标准化  :原向量/向量模的长  normalized

向量的模  magnitude 

7.LookAt

transform.LookAt(f)   参数f应该是参照物体的transform信息
Quaternion.LookRotation(v)  参数v应该是一个方向

二.物理系统

1.刚体RigidBody 

Ft=mv  动量守恒        

2.力的四种模式  ForceMode        

三.碰撞器

静态碰撞器:static collier   只有碰撞器没有刚体现象:保持静止或者轻微移动 如:平面、树木

刚体碰撞器:Rigidbody collider  具有刚体和碰撞器的物体  现象:完全受到物理引擎的影响

运动学刚体碰撞器:带刚体 且勾选Is Kinematic 此碰撞器不能添加力 切只能通过transform移动

物理材质

碰撞三个阶段 

OnCollisionEnter(Collision collison)   碰撞进入  Collision 可以获取被碰撞物体的组件信息

OnCollisionStay()  碰撞等待

OnCollisionExit()   碰撞离开

最后

以上就是认真毛豆为你收集整理的【unity基础_Day04】 四元数、欧拉角、物理系统的全部内容,希望文章能够帮你解决【unity基础_Day04】 四元数、欧拉角、物理系统所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部