Unity脚本的基础语法(5)-向量

3D游戏开发中经常需要用到向量的运算,Unity中提供了完整的向量及向量操纵方法,分别为表示二维向量的Vector2类、表示三维向量的Vector3类与表示四维向量的Vector4类。这3种向量用法基本相同。

Vector一般与postion相互联动
或者作为一些API的变量

Vector3类可以在实例化时进行赋值

public class Vector : MonoBehaviour {

    public Vector3 position1 = new Vector3();
    public Vector3 position2 = new Vector3(1, 2, 2);

    void Start()
    {
        position1.x = 1;
        position1.y = 2;
        position1.z = 2;
    }
    void Update()
    {
        transform.position = position1;
    }
}

Vector3类中常量对应的值

常量
Vector3.zeroVector(0,0,0)
Vector3.forwardVector(0,0,1)
Vector3.rightVector(1,0,0)
Vector3.downVector(0,-1,0)
Vector3.oneVector(1,1,1)
Vector3.upVector(0,1,0)
Vector3.backVector(0,0,-1)
Vector3.leftVector(-1,0,0)

这些向量常量可以方便使用,不必一直实例化

Vector3类中有很多对向量进行操纵的方法
Vector3类中属性与方法的作用

属性/方法作用
magnitudea向量的长度
normalized向量归一化后的结果
sqrMagnitude向量的平方长度
Lerp两个向量之间的线性插值
Slerp在两个向量之间进行球形插值
OrthoNormalize使向量规范化并且彼此相互垂直
MoveTowards从当前的位置移向目标
RotateTowards从当前的向量移向目标
SmoothDamp随着时间的推移,逐渐改变一个向量朝向预期的目标
Scale两个矢量组件对应相乘
Cross两个向量的交叉乘积
Reflect沿着法线反射向量
Dot两个向量的点乘积
Project投影一个向量到另一个向量
Angle返回两个 向量的夹角
Distance返回两点之间的距离
Min返回两个向量中长度较小的向量
Max返回两个向量中长度较大的向量
operator+两个向量相加
operator+两个向量相减
operator*两个向量相乘
operator/两个向量相除
operator==两个向量是否相等
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值