Unity3D技术之相机使用技巧-从相机到给定距离的视锥体大小
来源:互联网 发布:听歌识曲哪个软件好 编辑:程序博客网 时间:2024/04/30 15:25
从相机到给定距离的视锥体大小
从相机到一定距离的视锥体横截面在世界空间中定义为一个矩形,将可视区域框在内。有时,这对计算给定距离下该矩形的大小、或找出给定矩形大小时的距离比较有用。例如,如果一台移动的相机需要始终完整拍摄到一个对象(如玩家),就不能靠得太近,否则物体的一部分拍不到。
在给定距离的视锥体高度(两者的单位都为世界单位)可通过下列公式得到:-
var frustumHeight = 2.0 * distance * Mathf.Tan(camera.fieldOfView * 0.5 * Mathf.Deg2Rad);
……该过程可颠倒,计算出获得指定视锥体高度的所需距离:-
var distance = frustumHeight * 0.5 / Mathf.Tan(camera.fieldOfView * 0.5 * Mathf.Deg2Rad);
已知高度和距离,计算 FOV 角度也是可行的:-
var camera.fieldOfView = 2 * Mathf.Atan(frustumHeight * 0.5 / distance) * Mathf.Rad2Deg;
每个计算式都包含视锥体高度,而这个值可通过宽度轻易获得(反之亦然):-
var frustumWidth = frustumHeight * camera.aspect;
var frustumHeight = frustumWidth / camera.aspect;
0 0
- Unity3D技术之相机使用技巧-从相机到给定距离的视锥体大小
- 软件光栅器四之从相机空间到视平面的坐标变换
- Unity3D -- 图形 -- 视锥体
- Unity3d学习 相机的跟随
- iOS开发技巧之:相机获取到的图片自动旋转90度解决办法
- Unity3D之NGUI相机与主相机同时显示
- Unity3D学习之(粒子系统以及相机的跟随)
- 关于相机的使用
- Camere相机的使用
- Android相机的使用
- 相机的使用
- 相机的使用
- 相机的使用
- Unity3D 相机绕对象旋转和调整距离
- 【unity3d学习笔记】RPG 中控制相机距离拉近拉远以及旋转相机视角
- 微信小程序从本地相册选择图片或使用相机拍照之我的理解
- 相机的3A技术
- android 从相机捕获照片到本地
- 黑马程序员----日期Date类,日历 Calendar类。Math类的一部分,大数据运算BigInteger,BigDecimal。
- Matlab中的基本语法
- 【转】MIT牛人解说数学体系
- VS编译的可执行默认以管理员身份运行
- Cursive - IntelliJ plugin for clojure
- Unity3D技术之相机使用技巧-从相机到给定距离的视锥体大小
- 通过HDFS的API访问文件系统的例子
- 二维数组传参的几种方法
- [leetcode]Set Matrix Zeroes
- 【菜鸟也疯狂UML系列】——概述
- 黑马程序员---集合体系的继承关系图。顶层接口Collection中的方法,迭代器Iterator使用和原理,List派系特点
- 学习笔记-XML、DTD与Schema
- HTML5学习笔记(二)
- C#异常处理初探