首页  |  网络数码 |  编程技术 |  科技杂谈 |  基本常识 |  软件下载 |  视频素材 |  软件教程
Unity中Vector3中一些常量
  2022/6/30 1:51:00
关键词:Vector3 forward unity u3d 
  Vector2向量在Unity中代表一个二维方向或一个二维坐标,而Vector3向量在Unity中代表一个三维方向或一个三维坐标,在开发中transform下的position、scale、rotation等都可以通过设置Vector3的值来改变相应的位置、大小等。它本身具备一些基本常量和算法:

常量,这些常量中的2、4、6是U3d中最常用的:
1、Vector3.back=(0,0,-1)
2、Vector3.forward=(0,0,1)
3、Vector3.left=(-1,0,0)
4、Vector3.right=(1,0,0)
5、Vector3.down=(0,-1,0)
6、Vector3.up=(0,1,0)
7、Vector3.zero=(0,0,0)
8、Vector3.one=(1,1,1)
比如向着z方向前进 是世界坐标
transform.position+=(Vector3.forward/10);
巡航导弹.rigidbody.AddForce(1, ForceMode.Impulse);
//等同transform.position += new Vector3(0,0,s);及transform.Translate(0,0,s);
//等同transform.Translate(Vector3.forward * Time.deltaTime * 10);
//this.rigidbody.AddForce(new Vector3(0,0,s));//对刚体加力直到刚体碰撞
//this.rigidbody.volecity=transform.forward*1.1f;//刚体前行
//Rigidbody.velocity这个方法是瞬间给物体一个恒定的速度,将物体提升至该速度。
//Rigidbody.addForce这个方法瞬间给物体一个规定好的力

自己的坐标系旋转
t.eulerAngles+= (t.forward / 10);
下面这个是世界坐标的旋转
t.Rotate(Vector3.forward * Time.deltaTime * 100, Space.World);

算法:
Vector3.Angle(a,b) :a,b两个Vector3向量之间的夹角,返回两个向量之间较小的角度(在旋转计算中常常用到)
Vector3.Cross(a,b) :a,b两个Vector3向量的叉积,返回垂直于a,b,两个向量所在平面的另一个向量,长度|c|=|a||b|sin
Vector3.Dot(a,b) :a,b两个Vector3向量的点积,a·b=|a|·|b|cos(是一个标量,只有大小,没有方向)
Vector3.Distance(a,b) :a,b两个坐标或两点之间的距离,(范围判断中使用)
Vector3.Lerp(a,b,w):a,b两个Vector3向量之间基于数字w的插值运算,一般用于平滑处理,比如摄像机的缓慢移动、导弹的追踪等
Vector3.MoveTowards(a,b,v):沿着目标移动,transform.position =Vector3.MoveTowards(transform.position, TargetPosition, speed * Time.deltaTime);
Vector3.Normalize(a):向量单位化,方向一致,大小为单位1,例如Debug.Log (Vector3.Normalize (new Vector3(6,3,2)));
Vector3.Project(a,Vector3.up)返回一个向量在指定轴上的投影:向量投影,求一个向量在另一个向量方向上的投影
Vector3.Slerp(a,b,w):a,b两个Vector3向量之间基于数字w的球形插值


 [1] [2]

相关文章(向右看)..

·相关
Unity3d鼠标缩放拖动固定步/图
unity连续平滑粒子应用技巧/图
Unity中Vector3中一些
Unity C#的五种方法调用其
ngrok本地网站穿透与反向代理
unity:如何导入顶点变形动画
SDK Manager很大哪些必
虚拟世界U3d和虚幻谁主沉浮?/图
U3d屏蔽物体的两种方法
Unity:物体没有影子问题必解

·热点