unity3d数学 - CSDN
精华内容
参与话题
  • Unity3D数学

    2018-06-18 18:07:02
        3D数学:研究在3D几何世界中的数学问题。被广泛的应用于使用计算机来模拟3D世界的领域,比如图形学,游戏,虚拟现实和动画等。     为什么要学习3D数学:掌握了3D数学的知识之后,将来学习图形学、游戏...

        3D数学:研究在3D几何世界中的数学问题。被广泛的应用于使用计算机来模拟3D世界的领域,比如图形学,游戏,虚拟现实和动画等。
        为什么要学习3D数学:掌握了3D数学的知识之后,将来学习图形学、游戏制作都有很大的帮助。

    1D

        3D:three dimensions,立体空间。

        1D:关于计数和度量的数学。
        数学上,数轴是个一维的图,整数作为特殊的点均匀地分布在一条线上。数轴是一条规定了原点、方向和单位长度的直线。


    这里写图片描述

    2D

        2D:关于平面的数学。
        数学上,相交的两条直线可以确定一个唯一的平面。相交于原点的两条数轴,构成了平面放射坐标系。
        如果两条数轴上的度量单位相等,则称此放射坐标系为笛卡尔坐标系。
        数轴互相垂直的笛卡尔坐标系,称为笛卡尔直角坐标系。


    这里写图片描述

        否则称为笛卡尔斜角坐标系。


    这里写图片描述

        在2D笛卡尔坐标系中,我们用(x,y)来表示一个点。称之为坐标。
        坐标的每个分量都表明了该点与原点之间的距离和方位。每个分量都是到相应轴的有符号距离。


    这里写图片描述

    3D

        3D:关于3D空间的数学。
        从2D扩展到3D:相对于2D笛卡尔坐标系,我们需要3个轴来表示三维坐标系,一般叫做空间直角坐标系。
        第3个轴一般被称为z轴。一般情况下,3个轴互相垂直。


    这里写图片描述
        任意2个轴可以组成一个平面,我们一般称为XY平面,XZ平面,YZ平面,每个平面又与另一个轴相垂直。我们可以认为这3个平面是3个2D笛卡尔空间。
        在3D中,我们用(x,y,z)来表示一个点。坐标的每个分量分别代表了该点到yz,xz,xy平面的有符号距离。

    这里写图片描述

    左手坐标系与右手坐标系

        z轴方向的确定有2种方式:左手坐标系与右手坐标系。
        左手坐标系:伸开左手,大拇指指向X轴正方向,食指指向Y轴正方向,其他三个手指指向Z轴正方向。
        右手坐标系:伸开右手,大拇指指向X轴正方向,食指指向Y轴正方向,其他三个手指指向Z轴正方向。


    这里写图片描述

    这里写图片描述

    展开全文
  • unity3d math 常用的数学

    千次阅读 2014-08-22 11:26:38
    1.计算游戏中敌人被击退的方向:

    1.计算游戏中敌人被击退的方向:类似

       Vector3 lhs = (Vector3) (this.parentChara.MoveDirection * this.parentChara.MoveSpeed);
                Vector3 rhs = component.parentChara.myTransform.position - this.parentChara.myTransform.position;
                rhs.y = 0f;
                float num = Vector3.Dot(lhs, rhs);
                if (num > 0f)
                {
                    component.parentChara.PushVelocity += (Vector3) ((rhs.normalized * num) * 0.5f);
                }

    2.Vector.dot

    Vector3.Dot也叫点积,它返回1个-1.0~1.0之间的一个值。网上确实也这么说。但是这个值表示什么呢?恩,表示返回进行Dot计算的两个向量之间的夹角余弦值(Cos弧度角).要注意的是能进行Dot计算的前提是两个向量首先要变成单位向量!

    public class DotTest : MonoBehaviour {

     

    public Vector3 v1;

    public Vector3 v2;

    public float dot;

    public float cos;

    // Use this for initialization

    void Start () {

    v1 = new Vector3(2,2,0);

    v2 = new Vector3(100);

    }

     

    // Update is called once per frame

    void Update () {

     

    dot = Vector3.Dot(v1.normalized, v2.normalized);

    cos = Mathf.Cos(Mathf.PI/4);

     

    }

    }


    一、点积(又称“数量积”、“内积”)

        1、理论知识

       在数学中,点积的定义为a·b=|a|·|b|cos<a,b> 【注:粗体小写字母表示向量,<a,b>表示向量a,b的夹角,取值范围为[0,π]】。从定义上,我们知道向量的点积得到的是一个数值。而不是向量(这点大家要注意了!要与叉积进行区别)。另外点积中的夹角<a,b>没有顺序可言,即<a,b>=<b,a>(或a·b=b·a)。所以我们可以通过点积得到两个向量之间的夹角。<a,b>= arccos(a·b / (|a|·|b|))。并且通过点积的正负值,我们可以判断两个向量的方向关系。如果为正,即>0,他们夹角为(0,π/2)。如果为负,夹角为(π/2,π)。

       2、Unity3D中应用

       在Unity中,点积表示为Vector3.Dot(Vector3,Vector3):float——参数为2个向量,返回值为浮点型。





























    using UnityEngine;
    using System.Collections;
     
    public class Vector3_Dot : MonoBehaviour {
         
        //向量a
        Vector3 a;
        //向量b
        Vector3 b;
         
        void Start()
        {
            //向量的初始化
            a = new Vector3(3, 0, 0);//x轴方向,长度为3
            b = new Vector3(Mathf.Sqrt(2), Mathf.Sqrt(2), 0);//(根号2,根号2,0)
        }
     
        void OnGUI()
        {
            //点积的返回值
            float c=Vector3.Dot(a,b);
            //向量a,b的夹角,得到的值为弧度,我们将其转换为角度,便于查看!
            float angle=Mathf.Acos( Vector3.Dot(a.normalized,b.normalized))*Mathf.Rad2Deg;
            GUILayout.Label("向量a,b的点积为:" + c);
            GUILayout.Label("向量a,b的夹角为:" + angle);
        }
         
    }

    a.normalized表示该方向的单位向量,即方向与向量a相同,长度为1的向量。Mathf.Acos()即数学中的arccos()函数。Mathf.Rad2Deg表示将弧度转化为角度。

    结果如下图:


    二、叉积(又称“向量积”、“外积”)

       1、理论知识

       数学上的定义:c=axb【注:粗体小写字母表示向量】其中a,b,c均为向量。即两个向量的叉积得到的还是向量!

       性质1:c⊥a,c⊥b,即向量c垂直与向量a,b所在的平面。

       性质2:模长|c|=|a||b|sin<a,b>

       性质3:满足右手法则。从这点我们有axb ≠ bxa,而axb = - bxa。所以我们可以使用叉积的正负值来判断向量a,b的相对位置,即向量b是处于向量a的顺时针方向还是逆时针方向。

       2、Unity中应用

       在Unity中,叉积表示为Vector3.Cross(Vector3,Vector3):Vector3——参数为2个向量,返回值也为向量。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    using UnityEngine;
    using System.Collections;
     
    public class Vector3_Cross : MonoBehaviour {
     
        //向量a
        Vector3 a;
        //向量b
        Vector3 b;
     
        void Start()
        {
            //向量的初始化
            a = new Vector3(3, 0, 0);//x轴方向,长度为3
            b = new Vector3(0, 4, 0);//y轴方向,长度为4
        }
     
        void OnGUI()
        {
            //叉积的返回值
            Vector3 c = Vector3.Cross(a, b);
            Vector3 d = Vector3.Cross(b, a);
            //向量a,b的夹角,得到的值为弧度,我们将其转换为角度,便于查看!
            float angle = Mathf.Asin(Vector3.Distance(Vector3.zero, Vector3.Cross(a.normalized, b.normalized))) * Mathf.Rad2Deg;
            GUILayout.Label("向量axb为:" + c);
            GUILayout.Label("向量bxa为:" + d);
            GUILayout.Label("向量a,b的夹角为:" + angle);
        }
    }

    Vector3.Distance()用于计算2个Vector3的距离,在这里我们可以得到叉积向量的模长。

    结果如下图:



    展开全文
  • UNITY3D中涉及的一些数学知识 3D中的法线是什么意思啊~ 在空间垂直于一个平面的直线;或者在一个平面里面,垂直于一条直线的直线.法线也可以指的某个方向.对于圆弧来讲,指的是它与圆心相连的直线(方向)....

    UNITY3D中涉及的一些数学知识

    3D中的法线是什么意思啊~

    在空间垂直于一个平面的直线;或者在一个平面里面,垂直于一条直线的直线.法线也可以指的某个方向.对于圆弧来讲,指的是它与圆心相连的直线(方向).
    法线:英语叫Normal Line.

     

    就是一条垂直线,我们可以这样联想着记:

    法 = 法律,法规,正直 = 垂直

     

     

    学习quaternion的一点点笔记

     

    http://blog.csdn.net/soilwork/article/details/1447346

     

     

            3D程序中,通常用quaternion来计算3D物体的旋转角度,与Matrix相比,quaternion更加高效,占用的储存空间更小,此外也更便于插值。在数学上,quaternion表示复数w+xi+yj+zk,其中i,j,k都是虚数单位:

     

     

     

    i*i = j*j = k*k= -1

     

    i*j = k, j*i = -k

     

     

     

    可以把quaternion看做一个标量和一个3D向量的组合。实部w表示标量,虚部表示向量标记为V,或三个单独的分量(x,y,z)。所以quaternion可以记为[ w, V][ w,(x,y,x]。对quaternion最大的误解在于认为w表示旋转角度,V表示旋转轴。正确的理解应该是w与旋转角度有关,v与旋转轴有关。例如,要表示以向量N为轴,轴旋α度,相对的quaternion应该是:

     

     

     

     

     

    q = [ cos(α/ 2) , sin(α/ 2) N]

     

      =[ cos(α/ 2) , ( sina(α/ 2) Nx, sin(α/ 2)Ny, sin(α/ 2)Nz ) ]

     

     

     

     

     

    为了计算方便,一般要求N为单位矢量。对quaternion来说使用四个值就能记录旋转,而不是Matrix所需的十六个值。为什么用quaternion来计算旋转很方便呢?先说过quaternion是一个复数,如果你还记得一点点复数的知识,那么应该知道复数乘法(叉乘)的几何意义实际上就是对复数进行旋转。对最简单的复数p= x + yi来说,和另一个复数q = ( conα,sinα)相乘,则表示把p沿逆时针方向旋转α:

     

     

     

     

     

    p’ = pq

     

     

     

     

     

     

     

     

     

    当然,x+yi的形式只能表示2D变换,对3D变换来说就需要使用 quaternion了,而且计算也要复杂一点。为了对3D空间中的一个点px,y,z)进行旋转,需要先把它转换为quaternion形式p = [0, ( x, y, z)],接下来前面讨论的内容,定义q = cos(α/ 2) , sin(α/ 2) N为旋转quaternion,这里N为单位矢量长度的旋转轴,α为旋转角度。那么旋转之后的点p’则为:

     

     

     

     

     

          p’ = qpq-1

     

     

     

    ps:粗体字母表示矢量 

     

    posted on 2016-09-22 13:40 jiahuafu 阅读(...) 评论(...) 编辑 收藏

    展开全文
  • 好资料,希望大家需有所成。高清版本,没有套路,数学不学好,游戏玩不了
  • Unity3D_向量(Vector3)数学基础

    万次阅读 2019-04-02 12:29:32
    在虚拟的游戏世界中,3D数学决定了游戏,如何计算和模拟出开发者以及玩家看到的每一帧画面。学习基础的3D数学知识可以帮主用户对游戏引擎产生更深刻的了解。向量定义:既有大小又有方向的量叫做向量。在空间中,向量...

    向量(Vector3)

    在虚拟的游戏世界中,3D数学决定了游戏,如何计算和模拟出开发者以及玩家看到的每一帧画面。学习基础的3D数学知识可以帮主用户对游戏引擎产生更深刻的了解。 
    向量定义:既有大小又有方向的量叫做向量。在空间中,向量用一段有方向的线段来表示。应用十分广泛,可用于描述具有大小和方向两个属性的物理量,例如物体运动的速度、加速度、摄像机观察方向、刚体受到的力等都是向量。因此向量是物理、动画、三维图形的基础。 
    与向量相对的量成为标量:即只有大小没有方向的量。例如物体移动中的平均速率、路程。 
    :向量的长度标准化(Normalizing):保持方向不变,将向量的长度变为1. 
    单位向量:长度为1的向量。 
    零向量:各分量均为0的向量 
    向量运算——加减:向量的加法(减法)为各个分量分别相加(相减)。在物理上可以用来计算两个里的合力,或者几个速度份量的叠加。 
    这里写图片描述 
    向量运算——数乘向量一个标量相乘称为数乘。数乘可以对向量的长度进行缩放,如果标量大于0,那么向量的方向不变,若标量小于0,则向量的方向会变为反方向。 
    向量运算——点乘两个向量点乘得到一个标量数值等于两个向量长度相乘再乘以两者夹角的余弦值。如果两个向量a,b均为单位向量,那么a.b等于向量b在向量a方向上的投影的长度(或者说向量a在向量b方向上的投影)。 

    把词语拆成字逐个分析。
    “弦”代表长,也就是斜边,从“勾三股四弦五”中迁移过来。
    “正”就是正对,表示直角三角形中角的对边。
    “余”代表相邻,表示直角三角形中与角相邻的直角边。
    “切”有垂直之意,在圆的切线中有体现。
    这样一来,正弦就是对边比斜边,余弦就是邻边比斜边,正切就是对边比(与对边垂直的)邻边。
    我们常说切割,在数学里,切和割是相差很远的,比如切线和割线。所以在三角函数里,切割相反。

     

    这里写图片描述

    叉乘两个向量的叉乘得到一个新的向量新向量垂直与原来的两个向量并且长度等于原来向量长度相乘后夹角的正弦值

    叉乘不满足交换律 即a×b 不等于 b×a。 

    这里写图片描述

    • 属性

      forward Vector3(0, 0, 1)的简码,也就是向z轴。 
      right Vector3(1, 0, 0)的简码,也就是向x轴。 
      up Vector3(0, 1, 0)的简码,也就是向y轴。 
      zero Vector3(0, 0, 0)的简码。 
      one 是 Vector3(1, 1, 1)的简码。 
      Vector3.sqrMagnitude 长度平方(只读的) 
      【注】计算长度的平方而不是magnitude是非常快的。如果你是比较两个向量的长度差,你可以比较他们的平方长度。 
      向量的长度是用勾股定理计算出来,计算机计算两次方和开根的运算量比加减法要费时的多。所以如果是想比较两个向量的长度,用sqrMagnitude可以快出很多。

    • 向量运算

      向量加法 
      向量加法就是两个向量对应的x,y,z轴坐标进行加法运算 
      例如以下的代码

    Vector3 v1 = new Vector3(1, 2, 3);
    Vector3 v2 = new Vector3(4, 2, 1);
    Vector3 v3 = v1 + v2;  //v3的结果 (5.0, 4.0, 4.0)
    Debug.Log(v3);
    • 如果v1和v2都表示一个点的话,那么v3的方向是从v1开始指向v2的一个带有箭头的射线 此时v3就是一个向量 

    如果v1和v2都表示一个向量的话,那么v3是一个从v1的尾部指向v2的头部的一个带有方向箭头的一条射线 
    这里写图片描述 
    向量减法 
    向量加法就是两个向量对应的x,y,z轴坐标进行减法运算 
    例如以下的代码

    Vector3 v1 = new Vector3(1, 2, 3);
            Vector3 v2 = new Vector3(4, 2, 1);
            Vector3 v3 = v2 - v1;  //v3的结果 (3.0, 0.0, -2.0)
            Debug.Log(v3);
    • 其实就是从向量b头部指向向量a头部的一个向量 

    向量减法图片 
    向量数乘 
    实数和向量相乘的过程就是数乘 
    如果实数大于0 那么数乘后的向量的方向和原始向量的方向一致,如果实数小于0 那么数乘后的向量的方向和原始向量的方向相反  
    数乘的几何意义就是沿着原始变量的方向或者变量的相反方向放大或者缩小

    • 方法

      Vector3.Dot 点乘 (又称”点积”,”数量积”,”内积”)(Dot Product, 用*) 
      定义a·b=|a|·|b|cos< a,b> 【注:粗体小写字母表示向量,< a,b>表示向量a,b的夹角,取值范围为[0,180]】 
      几何意义是一条边向另一条边的投影乘以另一条边的长度. 
      v1和v2向量的点乘运算:相应元素的乘积的和:v1( x1, y1,z1) v2(x2, y2,z2) = x1x2 + y1y2+z1z2; 
      注意 : 结果不是一个向量,而是一个标量。 
      性质1 ab = |a||b|Cos(θ) ,θ是向量a 和向量 b之间的夹角。 
      性质2 ab = b*a 满足乘法交换律 
      Unity项目应用: 
      1.根据点乘计算两个向量的夹角。< a,b>= arccos(a·b / (|a|·|b|)) 
      2.根据点乘的正负值,得到夹角大小范围,【大于>0,则夹角(0,90)】【 小于<0,则夹角(90,180)】,可以利用这点判断一个多边形是面向摄像机还是背向摄像机。 
      3.根据点乘的大小,得到向量的投影长度,反应了向量的长度关系。 
      4.在生产生活中,点积同样应用广泛。利用点积可判断一个多边形是否面向摄像机还是背向摄像机。向量的点积与它们夹角的余弦成正比,因此在聚光灯的效果计算中,可以根据点积来得到光照效果,如果点积越大,说明夹角越小,则物理离光照的轴线越近,光照越强。物理中,点积可以用来计算合力和功。若b为单位矢量,则点积即为a在方向b的投影,即给出了力在这个方向上的分解。功即是力和位移的点积。计算机图形学常用来进行方向性判断,如两矢量点积大于0,则它们的方向朝向相近;如果小于0,则方向相反。矢量内积是人工智能领域中的神经网络技术的数学基础之一,此方法还被用于动画渲染(Animation-Rendering)。

      Vector3.Cross 叉乘 (又称”叉积”,”向量积”,”外积”)(cross product,用x) 
      定义
      c = a x b,其中a b c均为向量 
      几何意义是得到一个与这两个向量都垂直的向量,这个向量的模是以两个向量为边的平行四边形的面积 
      v1和v2向量的叉乘运算:相应元素的乘积的和:v1( x1, y1,z1) x v2(x2, y2, z2) = (y1z2 - y2z1)i+(x2z1 - x1z2)j+(x1y2-x2y1)k; 
      利用三阶行列式计算 
      |i j k| 
      |x1 y1 z1| 
      |x2 y2 z2| 
      性质1c⊥a,c⊥b,即向量c与向量a,b所在平面垂直 
      性质2模长|c| = |a||b| sin< a,b> 
      性质3(数学上)满足右手法则, a x b = -b x a,所以我们可以使用叉乘的正负值来判断

      Unity当中叉乘的左手法则 
      Unity项目应用: 
      1.根据叉乘得到a,b向量的相对位置,和顺时针或逆时针方位。 
      简单的说: 点乘判断角度,叉乘判断方向。 
      形象的说: 当一个敌人在你身后的时候,叉乘可以判断你是往左转还是往右转更好的转向敌人,点乘得到你当前的面朝向的方向和你到敌人的方向的所成的角度大小。 
      2.得到a,b夹角的正弦值,计算向量的夹角(0,90),可以配合点乘和Angle方法计算出含正负的方向。 
      3.根据叉乘大小,得到a,b向量所形成的平行四边形的面积大小,根据面积大小得到向量的相对大小。

      Vector3.Distance 距离

      void Test()
      {
         Vector3 v1 = new Vector3(0, 0, 2);
         Vector3 v2 = new Vector3(2, 0, 0);
         //求两个点之间的距离
         Debug.Log(Vector3.Distance(v1,v2));
      
      }
      • Vector3.Lerp 插值 

      obj1的位置是上一帧的位置加上(目标位置-上一帧的位置)*0.1

    obj1.transform.position = Vector3.Lerp(obj1.transform.position, obj2.transform.position, 0.1f);
    • 1

    Vector3.Normalize 规范化 
    使向量编程长度为1的单位向量 
    - Vector2和Vector4

    Vector2 二维向量 
    这个结构用于在一些地方表示2D的位置和向量(例如:网格中的纹理坐标,或者材质中的纹理偏移)。在其他情况下大多数使用Vector3。其操作基本可Vector3差不多 
    静态变量 
    one 
    Vector2(1, 1)的简写。 
    right 
    Vector2(1, 0)的简写。 
    up 
    Vector2(0, 1)的简写。 
    zero 
    Vector2(0, 0)的简写。

    Vector4 二维向量 
    表示四维向量。 
    这个结构在一些地方用来表示四维向量(例如:网格切线,着色器的参数)。在其他情况下大多数使用Vector3。 
    其他操作和Vector3雷同



    参考代码

    点乘

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Vector3Test : MonoBehaviour {
    
        // Use this for initialization
        void Start () {
            Vector3 v1 = new Vector3(1, 0, 0);
            Vector3 v2 = new Vector3(1, 0, 1);
            TestDot(v1, v2);
        }
    
        // Update is called once per frame
        void Update () {
    
        }
    
        private void TestDot(Vector3 a,Vector3 b)
        {
            //计算两个向量点乘的结果 得到的是一个数值
            //求得的是向量b在向量a方向上的投影
            float result = Vector3.Dot(a,b);
            Debug.Log("Result = "+result);
            //计算两个向量的夹角,该方法得到的是一个角度  计算出来的夹角的范围是0-180度
            float angle = Vector3.Angle(a,b);
            Debug.Log("angle = " + angle);
            //向量b方向上的单位向量在向量a方向单位向量的投影
            //计算 a、b 单位向量的点积,得到夹角余弦值,|a.normalized|*|b.normalized|=1;  
            result = Vector3.Dot(a.normalized,b.normalized);
            Debug.Log("result = " + result);
            // 通过反余弦函数获取 向量 a、b 夹角(默认为 弧度)  
            float radians = Mathf.Acos(result);
            angle = radians * Mathf.Rad2Deg;
            Debug.Log(angle);
        }
    
    }
    
    • 叉乘

     

    展开全文
  • 在看了很多文章和书籍直后发现Unity中的数学知识是很重要的,想要做到游戏的高真实度和高流畅度,数学是必不可少的,今天就来记录一下基础的3D数学Unity中开发时的运用,若文章中所写有不足,欢迎指出留言,互相...
  • Unity3D中的数学基础知识---向量

    千次阅读 2019-04-02 14:47:01
    1、向量的数学定义 向量就是一个数字列表,对于程序员来说一个向量就是一个数组。 向量的维度就是向量包含的“数”的数目,向量可以有任意正数维,标量可以被认为是一维向量。 书写向量时,用方括号将一列数括...
  • 学习方式: 1.了解基本的数学概念 2.了解Unity内的相关内容,加强理解。...•为什么要学习3D数学:掌握了3D数学的知识之后,对我们将来学习图形学、游戏制作都有很大的帮助。 2.1D(数轴) •3D:three dim...
  • 1.数学(点乘/叉乘)/unity3d数学辅助类 2.坐标系统(本地/世界/屏幕) 3.Unity3d执行流程 4.计算角色和目标点的夹角。旋转角色朝向目标点,然后移动角色(样例) 5.Gizmos/inspector/地图编辑 ...
  • unity 3d 数学基础

    2020-06-30 00:30:13
    向量的 点乘 a·b=|a|*|b|*cosα a点乘b 可以看做,b向量投影到a向量的上投影值 在乘以a的模长 ,如果a为单位向量,通过点乘值直接获取投影值 a·b 如果单看正负,可得,如果α>90 值为负数,a<...
  • 今天东京在下雨不想出门,趁此时间来整理一点unity学习中的数学问题。昨天上完了VR课程的第二堂课,感觉有50%没有听懂...  制作一个VR应用很简单,但是真正要深入去理解的话比较困难。比如在佩戴VR设备的时候大多会...
  • unity3d 数学基础与数学辅助类

    千次阅读 2013-04-15 15:58:43
    1. 数学(点乘/叉乘)/unity3d数学辅助类   2. 坐标系统(本地/世界/屏幕)   3. Unity3d运行流程   4. 计算角色和目标点的夹角,旋转角色朝向目标点,然后移动角色(例子)   5. Gizmos/inspector/...
  • [Unity3D学习]3D数学基础之坐标系

    千次阅读 2015-10-22 09:22:15
    [Unity3D学习]3D数学基础之坐标系 以前都是做2D游戏,基本不关注数学方面的知识。现在学习unity了,很多概念都不懂。学生时代的东西,早还给老师了。当然我学习不好 = =!所以现在来补补。毕竟现在要做3D了。基础...
  • Unity 3D 数学之三角函数

    千次阅读 2019-10-17 11:16:22
    首先讲下:角的度量方式 角度与弧度的换算 三角函数
  • Unity3D数学——向量

    2018-06-14 09:50:38
        在数学中,向量(也称为矢量),是指具有大小和方向的量。     向量的大小就是向量的长度,也叫做模。向量的方向描述了空间中向量的指向。 ![这里写图片描述]...
  • Unity使用的是笛卡尔左手坐标系,X水平方向,Y垂直方向,Z深度。 2.屏幕坐标系 建立在屏幕上的二维坐标系,用来描述像素在屏幕上的位置。 Transform组件的 Transform.TransformPoint方法将坐标点从局部坐标系...
  • Unity学习:3D数学基础知识

    千次阅读 2017-06-15 11:14:50
    一、3D坐标系 笛卡尔坐标系。分为 左手坐标系和右手坐标系。 按照X,Y,Z的顺序表示坐标。 1.全局坐标系(世界坐标系) 坐标原点(0,0,0),例(1,2,1) 2.局部坐标系(模型坐标系,物体坐标系) ...
  • Unity 3D 数学之向量

    2019-10-24 10:34:59
    进入Vector3类,operator定义这个数据类型(Vector3)都能使用哪些运算符 什么是向量 计算向量模长的三种方法 this.transform.position是世界坐标,vector.zero是世界原点 获取向量的方向 ......
  • Unity3D数学之路——Vector3类(一)

    千次阅读 2017-12-03 11:18:27
    因为一直在补数学方面的姿势(初中高中都因为老师的原因没去学数学[其实是懒)  特别来把Vector3里的经常方法拆解一次 只把运算过程撸出来 理论嘛 这里不多说 直接Google或者wiki就好了 Vector3.Distance(Vectro3 a,...
  • Unity 3D数学之欧拉角

    2019-10-17 20:04:29
    什么是欧拉角 ...Unity引擎限制沿x轴旋转范围如下: 用欧拉角做旋转代码如下; public Vector3 eluer; private void OnGUI() { eluer = this.transform.eulerAngles; if (GUILayout.Repe...
1 2 3 4 5 ... 20
收藏数 4,860
精华内容 1,944
热门标签
关键字:

unity3d数学