我是靠谱客的博主 坚强金针菇,这篇文章主要介绍unity3d让模型不受3dCamera FOV的影响,现在分享给大家,希望可以做个参考。

当3dCamera 调整fov 的时候,被查看的物体会产生位移,或者缩放的的效果,
比如我们在3dCamera 显示一个logo,是希望这个Quad 是不受到Camera的fov影响的
上代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class FovTest : MonoBehaviour { public GameObject go1;//这个是Quad public Camera cam;//这个是3dCamera public Vector3 locv3 = Vector3.zero;//保存转换后的屏幕坐标 public Vector3 locs = Vector3.zero;//保存初始大小 float dis = 0;//保存2个物体距离 // Use this for initialization void Start () { Vector3 v3 = cam.WorldToScreenPoint(go1.transform.position); locv3 = new Vector3(v3.x, v3.y, v3.z); locs = new Vector3(go1.transform.localScale.x, go1.transform.localScale.y, 1); dis = Vector3.Distance(go1.transform.position, transform.position); } // Update is called once per frame void Update () { go1.transform.localPosition = cam.ScreenToWorldPoint(locv3); float frustumHeight = 2.0f * dis * Mathf.Tan(cam.fieldOfView * 0.5f * Mathf.Deg2Rad); go1.transform.localScale = locs * (frustumHeight / 8f); } }

最后

以上就是坚强金针菇最近收集整理的关于unity3d让模型不受3dCamera FOV的影响的全部内容,更多相关unity3d让模型不受3dCamera内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部