unity3d(2)中简单的数学知识

来源:互联网 发布:最具潜力的淘宝商品 编辑:程序博客网 时间:2024/06/04 17:57
Vector3 v = new Vector3();
    //x,y,z分别是三个方向上的向量
    float x = v.x;
    float y = v.y;
    float z = v.z;
    //获取v的单位向量
    //v的长度会变i但方向不变
    //Vector3 n= v.normalize();
    //返回v方向上的单位向量,但v本身不会发生变化


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


    //求两个向量的夹角
    Vector3 v1 = new Vector3(1.4f, 6f, 7.2f);
    Vector3 v2 = new Vector3(4f, 2f, 5.2f);
    float angle=Vector3.Angle(v1,v2);
    //获取两个点的距离
    Vector3 pos1 = new Vector3(4f, 3f, 8f);
    Vector3 pos2 = new Vector3(8f, 5f, 4f);
    float d1 = Vector3.Distance(pos1, pos2);


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


    //x=0,y=1,z=0;
    Vector3 u = Vector3.up;//表示世界坐标系中y轴正方向上的向量
    //x=0,y=-1,z=0;
    Vector3 a = Vector3.down;//y轴负方向的
    //x=1,y=0,z=0;
    Vector3 b =Vector3.right;//x轴正方向上的单位向量
    //x=-1,y=0,z=0;
    Vector3 c = Vector3.left;//x轴的负方向
    //x=0,y=0,z=1;
    Vector3 d =Vector3.forward;//z轴的正方向
    //x=0,y=0,z=-1;
    Vector3 e =Vector3.back;//z轴的负方向
    //表示原点

    Vector3 f= Vector3.zero;


 transform.Rotate(Vector3.up, Time.deltaTime * anglespeed);//让当前游戏对象每秒钟准确旋转30度

0 0
原创粉丝点击