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、效果如下图

posted @   Aaron丶Han  阅读(1181)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示