Unity 射线碰撞检测
项目起因:
前段时间自己在做的一个项目中需要实现一个类似AR的相机实现。举例来说就是App中打开照相机,然后屏幕中显示相机背景然后再显示一个模型,但是模型的世界坐标是不会变化的,不会随着手机的转动而跟着转动、
1.相机实现原理:
- 获取手机的姿态(陀螺仪)
- 实例化3D模型且固定
- 根据陀螺仪修改场景内相机的位置,姿态
2.ARCamera的结构:
;
3.代码实现:
ARCamera上的Cs脚本:
Quad上的Cs脚本。
4.关键语句(部分伪代码):
设置相机为陀螺仪姿态:
画布旋转到摄像机的正的位置:
判断是否翻转:
计算视域
4.总结:
代码都在上面,有了注释就不在进行分析了。相机的使用这块爬了不少的坑,主要就是在旋转上,对其旋转之类的坐标不是很了解,所以花了挺多时间。