Unity - 求反射向量 (2d)


求反射向量

https://www.cnblogs.com/graphics/archive/2013/02/21/2920627.html
上面是大佬的公式可以去看一下

借的大佬的圖

1、求入射向量 向量IO


入射向量就是圓球當前位置到四個柱子的位置的向量
代碼:

private Vector3 CurrentPos;//  記錄當前坐標
void Start()
{
    CurrentPos = transform.position //記住最開始坐標
}
//碰撞的時候   CurrentPos ->  自身  的向量就是入射向量
Vector3 IncidenceNm = (transform.position - CurrentPos).normalized;

2、求法向量 向量ON

//2d的法向量  ,由於空間內有無數個垂直於已知平面   因此一個平面有無數個法向量  
//所以 我用的是這兩個代表橫向和豎向 new Vector3(1, 0, 0)  new Vector3(0, 1, 0)

3、求反射向量 向量OR

//因為Unity中自帶的有API  //Vector3.Reflec(入射向量,法向量) 
//所以求反射向量的時候把上面的兩個向量傳入進來就可以求出反射向量了

4、效果如下圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM