Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(61评价)
价格: 2208.00元

枚举:效率高

bool锁:只赋值一次

[展开全文]
乾cun · 2019-04-26 · 0

mainmanager入口管理器:管理多个入口

[展开全文]
乾cun · 2019-04-26 · 0

http://www.fonts.net.cn/

[展开全文]
huiyue · 2019-04-23 · 0

RemoteAssetFac

[展开全文]
z下划线z · 2019-04-22 · 0

EnemyAttackState

EnemyChaseState

EnemyFSMSystem

IEnemyState

[展开全文]
z下划线z · 2019-04-19 · 0

SoldierAttackState
SoldierChaseState

SoldierIdleState

 

[展开全文]
z下划线z · 2019-04-19 · 0

依赖倒转原则(针对接口编程)

1.细节依赖于抽象

2.底层依赖于高层

3.实现与高层交互

[展开全文]
ks.无趣 · 2019-04-19 · 0

1.游戏脚本和游戏对象组件分离开发

 

[展开全文]
ks.无趣 · 2019-04-18 · 0

1.里氏替换原则和单一职责原则

[展开全文]
ks.无趣 · 2019-04-18 · 0

win键+R->mstsc 接入远程主机。

[展开全文]
青烟 · 2019-04-18 · 1

三种玩法(悔棋、更换先手)

1. 本机对战

2. 人机对战

    (1)入门

    (2)进阶

    (3)高手

3. 联网

    (1)局域网

    (2)因特网 多人匹配系统

    ()

[展开全文]
IMPG · 2019-04-15 · 0

Rookie

Sergeant

[展开全文]
z下划线z · 2019-04-14 · 0

CampInfoUI

GamePause

GameStateInfoUI

SoldierInforUI

[展开全文]
z下划线z · 2019-04-14 · 0

续矩阵知识总结-变换总结

--------------------------

行列式性质

1. 行列式与它的转制的值相等 D^T = D

2. 互换行列式两行(列),行列式变号

3. 行列式某一行(列)中所有元素都乘以同一数k,等于用k乘此行列式

4. 如果行列式中如果有两行(列)元素成比例,行列式D = 0 

5. 若行列式中某一行(列)的元素都是两数之和,可以把行列式分开写

6. 把行列式某一行(列)的各元素乘以同一数后加到另一行(列)对应元素上,行列不变

==========================================================

代数余子式

A = (-1)^(i+j) M_(ij)

一个n阶行列式,如果其中第i行所有元素除(i,j)元以外都是0,则这个行列式等于 a_(ij) 与它代数余子式的乘积。

D = a_(ij) A_(ij)

行列式等于它的任意一行(列)的各个元素与其对应的代数余子式乘积之和。

D = a_(i1) A_(i1) + a_(i2) A_(i2) + ... + a_(in) A_(in)     (i = 1,2, ... , n)

D = a_(1j) A_(1j) + a_(2j) A_(2j) + ... + a_(nj) A_(nj)     (j = 1,2, ... , n)

==========================================================

逆矩阵

M(M^(-1)) = M^(-1) M = I

逆矩阵计算公式

M^(-1) = ( adjM )/ ( |M| )

      note:adj M 表示 M的伴随矩阵

逆矩阵特性

      1) 如果M是非奇异矩阵,则该矩阵的逆的逆等于原矩阵:(M^(-1))^(-1) = M;

      2) 单位矩阵的逆是它本身:I^(-1) = I;

      3) 矩阵转置的逆等于它的逆的转置:(M^T)^(-1) = ( M^(-1) )^T;

      4) 矩阵乘积的逆等于矩阵的逆的相反顺序的乘积:(AB)^(-1) = B^(-1) A^(-1);

      5) 根据4) 可拓展到多个矩阵的情况:(M_1 M_2 ... M_n)^(-1) = (M_n)^(-1) (M_(n-1))^(-1) ... (M_1)^(-1);

==========================================================

正交矩阵

M 正交 <=> M M^T = I

M 正交 <=> M^T = M^(-1)

 

r_1 · r_1  =  1    r_1 · r_2  =  0    r_1 · r_3  =  0    

r_2 · r_1  =  0    r_2 · r_2  =  1    r_2 · r_3  =  0    

r_3 · r_1  =  0    r_3 · r_2  =  0    r_3 · r_3  =  1    

 

正交矩阵满足条件:

      1) 矩阵的每一行都是单位向量

      2) 矩阵的所有行相互垂直

正交基:

      如果一组向量互相垂直,这组向量就被称作正交基。

标准正交基:

      如果一组向量互相垂直并且所有向量都是单位向量,则称为标准正交基。

==========================================================

4 x 4 阶平移矩阵

                     ┌  1       0      0     0 ┐

[ x  y  z  1 ]  =│  0      1      0     0 │  =  [ x+Δx   y+Δy   z+Δz  1]

                     │  0       1      0     0 │

                     └  Δx    Δy    Δz   1 ┘

 

                ┌  r_11   r_12  r_13     0 ┐ ┌  1       0      0     0 ┐    ┌  r_11   r_12  r_13     0 ┐

M = RT  =│  r_21   r_22  r_23      0 │ │  0      1      0     0 │ = │  r_21   r_22  r_23     0 │ 

                │  r_31   r_32  r_33     0 │ │  0       1      0     0 │    │  r_31   r_32  r_33     0 │

                └    0        0       0        1  ┘ └  Δx    Δy    Δz   1 ┘    └   Δx      Δy     Δz      1 ┘

==========================================================

仿射变换

=========================================================

透视投影

        ┌   x   ┐      ┌   -dx/z   ┐   

 p' = │   y   │  =  │   -dy/z   │

        └   z   ┘      └     -d      ┘

 

                     ┌  1       0      0     0  ┐

[ x  y  z  1 ]  =│  0      1      0     0  │  =  [ x   y   z  z/d]

                     │  0       1      0    1/d│

                     └  0       0      0     0  ┘

=========================================================

变换分类

=========================================================

空间变换

=========================================================

Unity 中透视投影矩阵

┌  n/r       0            0                  0         ┐

│  0         n/t          0                  0         │

│  0          1      -(f+n)/(f-n)   (-2fn)/(f-n) │

└  0          0          -1                   0        ┘

 

存在Zfighting问题:

通过上述转换,得到的z值不是线性的,所以为了更精确的表达,所以希望远平面与近平面尽量接近

 

投影的FOV表达式

 

=========================================================

Unity 中正交投影矩阵

      ┌  1/r       0            0                  0        ┐

      │  0         1/t          0                  0         │

O = │  0          1       -2/(f-n)       (f+n)/(f-n) │

      └  0          0          -1                   0        ┘

改变成Unity的形式

[展开全文]
百里奚 · 2019-04-14 · 0

逆矩阵计算及性质

--------------------------

特性

M 变化之后 可以用 M^(-1) 变化回去;

(M^(-1))^(-1) = M;

I^(-1) = I;

(M^T)^(-1) = ( M^(-1) )^T;

(AB)^(-1) = B^(-1) A^(-1);

(M_1 M_2 ... M_n)^(-1) = (M_n)^(-1) (M_(n-1))^(-1) ... (M_1)^(-1);

[展开全文]
百里奚 · 2019-04-14 · 0

矩阵知识总结

--------------------------

矩阵乘法特点:

      1) MI = IM = M       //矩阵乘以单位矩阵 等于 单位矩阵乘以矩阵

      2) AB ≠ BA           //矩阵不满足交换律

      3) (AB)C = A(BC)   //矩阵满足结合律

      4) (kA)B = k(AB) = A(kB) //矩阵满足线性运算律

      5) (vA)B = v(AB)     //满足向量运算的结合律

      6) (AB)^T = B^T A^T // 矩阵AB的转置 等于 矩阵B的转置乘以矩阵A的转置

      7) (M_1 M_2 ... M_n)^T = (M_n)^T (M_(n-1))^T ... (M_1)^T

==========================================================

向量与矩阵相乘

      1) 行向量只能左乘矩阵      //适用于DX

      2) 列向量只能右乘矩阵      //适用于OpenGL

==========================================================

矩阵旋转

      二维旋转矩阵

                       ┌ p' ┐  ┌ Cosθ   Sinθ  ┐

            R(θ) = └ q' ┘  └ -Sinθ   Cosθ ┘

      三维旋转矩阵

 

           X轴旋转

                            ┌ p' ┐  ┌  1            0           0   ┐

                 R(θ) = │ q' │  │  0       Cosθ     Sinθ  │

                            └ r'  ┘  └  0       -Sinθ     Cosθ ┘

 

           Y轴旋转

                            ┌ p' ┐  ┌ Cosθ     0      -Sinθ ┐

                 R(θ) = │ q' │  │   0          1            0 │

                            └ r'  ┘  └  Sinθ      0     Cosθ ┘

 

           Z轴旋转

                            ┌ p' ┐  ┌ Cosθ   Sinθ      0 ┐

                 R(θ) = │ q' │  │ -Sinθ   Cosθ     0 │

                            └ r'  ┘  └    0          0        1 ┘

 

           任意n轴旋转矩阵

                                ┌ p' ┐      ┌   (n_x)^2(1-Cosθ)+Cosθ        n_xn_y(1-Cosθ)-n_zSinθ      n_xn_z(1-Cosθ)+n_ySinθ ┐

                 R(n,θ) =  │ q' │  =  │ n_xn_y(1-Cosθ)+n_zSinθ     (n_y)^2(1-Cosθ)+Cosθ         n_yn_z(1-Cosθ)-n_xSinθ  │

                                └ r'  ┘      └  n_xn_z(1-Cosθ)-n_ySinθ      n_yn_z(1-Cosθ)+n_xSinθ      (n_z)^2(1-Cosθ)+Cosθ    ┘

==========================================================

矩阵缩放

      二维沿轴缩放矩阵

                                    ┌ k_x      0    ┐ 

              S(k_x, k_y) = └   0      k_y  ┘

 

      三维沿轴缩放矩阵

 

                                          ┌ k_x      0        0    ┐ 

            S(k_x, k_y, k_z) = │   0      k_y      0    │

                                          └   0        0      k_z  ┘

      二维沿任意方向缩放矩阵

                          ┌ p' ┐      ┌ 1 + (k-1)(n_x)^2     (k-1)n_xn_y     ┐

            S(n,k) = └ q' ┘  =  └    (k-1)n_xn_y      1 + (k-1)(n_y)^2 ┘

            note:缩放系数k,缩放轴n;

      三维沿任意方向缩放矩阵

                          ┌ p' ┐      ┌ 1 + (k-1)(n_x)^2     (k-1)n_xn_y          (k-1)n_xn_z    ┐

            S(n,k) = │ q' │  =  │    (k-1)n_xn_y      1 + (k-1)(n_y)^2     (k-1)n_yn_z     │

                          └ r' ┘      └     (k-1)n_xn_z        (k-1)n_zn_y      1 + (k-1)(n_z)^2  ┘

==========================================================

正交投影

      二维

            向X轴投影

                                                  ┌  1    0  ┐

                  p_x = S([ 0, 1 ], 0) =└  0    0  ┘

 

            向Y轴投影

                                                  ┌  0    0  ┐

                  p_y = S([ 1, 0 ], 0) =└  0    1  ┘

            

            向任意直线投影的2D矩阵

                                           ┌  1 - (n_x)^2    -n_x n_y  ┐

                  p(n) = S(n,0) = └   -n_x n_y      1 - (n_y)^2  ┘

      三维

            向XY平面投影

                                                      ┌  1    0    0  ┐

                  p_xy = S([0, 0, 1], 0) =│  0    1    0  │

                                                      └  0    0    0  ┘

            向XZ平面投影

                                                      ┌  1    0    0  ┐

                  p_xz = S([0, 1, 0], 0) =│  0    0    0  │

                                                      └  0    0    1  ┘

            向YZ平面投影

                                                      ┌  0    0    0  ┐

                  p_yz = S([1, 0, 0], 0) =│  0    1    0  │

                                                      └  0    0    1  ┘

            向任意平面投影的3D矩阵

                                           ┌  1 - (n_x)^2    -n_x n_y     -n_x n_z   ┐

                  p(n) = S(n,0) = │   -n_x n_y      1 - (n_y)^2    -n_y n_z  │

                                           └  -n_x n_z       -n_z n_y    1- (n_z)^2   ┘

==========================================================

切变

      2D切变矩阵

                           ┌  1    0  ┐ 

            H_x(s) = └  s    1  ┘

 

                           ┌  1    s  ┐ 

            H_y(s) = └  0    1  ┘

 

      3D切变矩阵

 

                                 ┌  1    0    0  ┐ 

            H_(xy)(s,t) = │  0    1    0  │

                                 └  s    t    1   ┘ 

 

                                 ┌  1    0    0  ┐ 

            H_(xz)(s,t) = │  s    1    t   │

                                 └  0    0    1  ┘ 

 

                                 ┌  1    s    t   ┐ 

            H_(yz)(s,t) = │  0    1    0  │

                                 └  0    0    1  ┘ 

 

==========================================================

行列式

      e.g.

                    |  m_11    m_12  | 

            |M| = |  m_21    m_22  |  =  m_11m_22 - m_12m_21

      e.g.2

                     |  m_11    m_12    m_13  | 

            |M| = |  m_21    m_22    m_23  | 

                     |  m_31    m_32    m_33  | 

       

            |M| = m_11m_22m33 +m_12m_23m_32 + m_13m_21m_32 - m_13m_22m_31 - m_32m_23m_11 - m_21m_12m_33 ;

 

[展开全文]
百里奚 · 2019-04-13 · 0