Unity 基础 - Vector3

作者: hrscy | 来源:发表于2016-05-19 23:54 被阅读681次

Vector 是向量,矢量的意思,向量既有大小,又有方向,Verctor3 就是三维向量,一个三维向量会有三个分量,分别是 x,y,z,在 Unity 中每一个游戏对象都至少会有一个组件叫 Transform,Transform 主要用来控制游戏对象的位置,旋转和缩放。
新建一个 Cube 物体,然后给这个 Cube 物体新建一个脚本。
Vector3 其实就是一个类

using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour {

    // Use this for initialization

    void Start () {
        Vector3 v = new Vector3 ();
        
        float x = v.x;
        float y = v.y;
        float z = v.z;
        
        // 获取 V 的单位向量
        // V 的长度会变为 1 但方向不变
        v.Normalize ();
        // 返回 V 方向上的单位向量,但是 V本身不会发生变化
        v.normalized;
        // 获取 V 的长度
        float l = v.magnitude;      
        
        // x = 0,y = 1, z = 0
        Vector3.up;         //  表示世界坐标系中 Y 轴正方向上的单位向量
        // x = 0,y = -1, z = 0
        Vector3.down;       //  表示世界坐标系中 Y 轴负方向上的单位向量
        // x = -1,y = 0, z = 0
        Vector3.left;       //  表示世界坐标系中 X 轴负方向上的单位向量
        // x = 1,y = 0, z = 0
        Vector3.right;      //  表示世界坐标系中 X 轴正方向上的单位向量
        // x = 0,y = 0, z = 1
        Vector3.forward;    //  表示世界坐标系中 Z 轴正方向上的单位向量
        // x = 0,y = 0, z = -1
        Vector3.back;       //  表示世界坐标系中 Z 轴负方向上的单位向量
        
        Vector3.zero;       //  表示原点
        
        Vector3 v1 = new Vector3 (1.5f, 1.0f, 1.0f);
        Vector3 v2 = new Vector3 (1.0f, 1.5f, 1.5f);
        // 求两个向量的夹角
        float angle = Vector3.Angle (v1, v2);
        
        Vector3 pos1 = new Vector3 (4.0f, 2.0f, 1.0f);
        Vector3 pos2 = new Vector3 (2.0f, 4.0f, 1.0f);
        // 获取两个点的距离
        float distance = Vector3.Distance(pos1, pos2);
        // 向量的点乘
        float dd = Vector3.Dot (v1, v2);
        // 向量叉乘
        Vector3 vc = Vector3.Cross (v1, v2);    
    }
    // Update is called once per frame
    void Update () {
    
    }
}

相关文章

  • Unity 基础 - Vector3

    Vector 是向量,矢量的意思,向量既有大小,又有方向,Verctor3 就是三维向量,一个三维向量会有三个分量...

  • 18_Mesh

    Procedural Mesh02 Vector3[] vertices, 告诉unity点在哪 int[] Tr...

  • Unity3D数学基础(Vector3)

    【向量(Vector3),解释】https://blog.csdn.net/bobo553443/article/...

  • unity vector3 dot 使用

    Vector3 dir = (target.transform.position - transform.posi...

  • unity的常用Vector3

    Vector3.Angle() :向量之间的夹角,返回两个向量之间较小的角度(在旋转计算中常常用到) Vector...

  • 点乘与叉乘

    public static Vector3 Cross(Vector3 lhs, Vector3 rhs);叉乘的...

  • json序列化失败

    问题: json 序列化时不支持结构体,比如Unity 中的Vector3类型不支持,所以我们要自己转型以下 使用...

  • 绕点旋转

    Transform.RotateAround (Vector3 point, Vector3 axis, floa...

  • Nullable相关

    可空: Nullable position = null; 与Vector3? position...

  • Sprite转Mesh

    直接上代码 Vector3[] vertices = new Vector3[sprite.vertices.L...

网友评论

    本文标题:Unity 基础 - Vector3

    本文链接:https://www.haomeiwen.com/subject/vrrgrttx.html