首页 > 代码库 > 【蓝鸥Unity开发基础三】课时9 Vector3

【蓝鸥Unity开发基础三】课时9 Vector3

【蓝鸥Unity开发基础三】课时9 Vector3

一、Vector3

技术分享

 

 

 

using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour {

    //Vector3就是一个类,表示向量,向量即有大小又有方向的量
    void Start () {
        Vector3 v = new Vector3 ();
        //xyz分别是三个方向上的分量
        float x = v.x;
        float y = v.y;
        float z = v.z;


        //成员方法
        //获取V的单位向量
        //V的长度会变为1,但方向不变
        v.Normalize();

        //返回V方向的单位向量,但是V本身不会发生变化
        Vector3 vn= v.normalized;

        //获取V的长度
        float L=v.magnitude;

        //类方法

        //x=0y=1z=0
        Vector3 u=Vector3.up;    //表示世界坐标系中Y轴正方向上的单位向量
        //x=0y=-1z=0
        Vector3.down;               //表示世界坐标系中Y轴负方向上的单位向量
        //x=1y=0z=0
        Vector3.right;                   //表示世界坐标系中X轴正方向上的单位向量
        //x=-1y=0z=0
        Vector3.left;                   //表示世界坐标系中X轴负方向上的单位向量
        //x=0y=0z=1
        Vector3.forward;           //表示世界坐标系中Z轴正方向上的单位向量
        //x=0y=0z=-1
        Vector3.back;              //表示世界坐标系中Z轴负方向上的单位向量    
        //x=0y=0z=0
        Vector3.zero;            //表示原点


        Vector3 v1=new Vector3(1.4f,6f,7.2f);
        Vector3 v2=new Vector3(2f,6.5f,12.3f);
        //求两个向量的夹角
        float angle=Vector3.Angle(v1,v2);


        Vector3 pos1=new Vector3(4f,2f,11f);
        Vector3 pos2=new Vector3(2f,13.6f,8f);
        //求两个点的距离
        float d = Vector3.Distance (pos1,pos2);

        //向量点乘
        float dd= Vector3.Dot(v1,v2);

        //向量差乘
        Vector3 vc=Vector3.Cross(v1,v2);


    }

    void Update () {
    
    }
}

 

推荐视频讲师博客:http://11165165.blog.51cto.com/

【蓝鸥Unity开发基础三】课时9 Vector3