unity 获取水平FOV
unity中Camera的Field of View是指的垂直FOV,水平FOV可以经过计算得到。
创建脚本如下,把脚本挂载到摄像机上即可得到水平FOV:
public class GetHorizontalFov : MonoBehaviour {
Camera myCamera;
float distance = 10 - 0.015f;
void Start () {
myCamera = gameObject.GetComponent<Camera>();
float cameraHeight = 2.0f * distance * Mathf.Tan(myCamera.fieldOfView * 0.5f * Mathf.Deg2Rad);//视锥体高度
var cameraWidth = cameraHeight * myCamera.aspect;//视锥体宽度
var horizontalfov = 2 * Mathf.Atan(cameraWidth * 0.5f / distance) * Mathf.Rad2Deg;//水平FOV
Debug.LogError("horizontalfov: " + horizontalfov);
}
}
unity 获取水平FOV的更多相关文章
- unity基础开发----Unity获取PC,Ios系统的mac地址等信息
在软件开发中可以会用到mac地址作为,设备的唯一标示,我们也可以通过unity获取,经测试pc,ios都可以但是安卓没有获取到. 代码如下: using UnityEngine; using Syst ...
- Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast,获取已安装apk,调用第三方应用,强制自动重启本应用
一个完整的游戏项目上线需要不断的完善优化,但是到了后期的开发不再仅仅是游戏了,它的复杂度远远大于纯粹的应用开发.首先必须要考虑的就是集成第三方SDK,支付这块渠道商已经帮你我们做好了,只需要按照文档对 ...
- unity, 获取mesh名称
正确的获取mesh名称的方法: MeshFilter meshFilter=node.GetComponent<MeshFilter>(); string meshName=mesh ...
- Unity获取游戏对象详解
我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我.我看很多人喜欢在类里面去保存GameObject对象.解决G ...
- Unity获取脚本的CustomEditor(自定义编辑)数据
在此之前,粗略的介绍下 CustomEditor(自定义编辑). Unity对于我们创建的Mono脚本提供了属性面板的展示和修改.默认情况下,Inspector面板中会显示当前脚本类的公开字段(pub ...
- Unity获取方法的参数和方法名称
public IMethodReturn Invoke(IMethodInvocation input, GetNextHandlerDelegate getNext) { Console.Write ...
- Unity 获取服务器时间 HTTP请求方式
在写每日签到的时候,我居然使用的是本地时间...被项目经理笑哭了...., 如果你在写单机游戏,没有游戏服务器,但又不想使用本地时间,就可以采用下面方法. 方法总结: 1. 使用HTTP请求获取服务器 ...
- Unity 获取指定资源目录下的所有文件
string path="Assets";//Assets/Scenes if(Directory.Exists(path)){ var dirctory=new Director ...
- Unity获取插件所在目录的巧妙方法
编写插件时,Unity没有提供当前被放置目录的功能.比如资源商店的一些插件需要放在Assets根目录下. 但通过脚本可以反求出所在目录,对于自己写的插件,就避免了类似问题: var scriptObj ...
随机推荐
- Hadoop框架之HDFS的shell操作
既然HDFS是存取数据的分布式文件系统,那么对HDFS的操作,就是文件系统的基本操作,比如文件的创建.修改.删除.修改权限等,文件夹的创建.删除.重命名等.对HDFS的操作命令类似于Linux的she ...
- 匿名类、包、权限修饰符_DAY10
1:内部类(理解) (1)把类定义在一个类的内部. (2)特点: A:内部类可以直接使用外部类的成员,包括私有. B:外部类要使用内部类成员,必须创建对象使用. 例子: public c ...
- 继承extends、super、this、方法重写overiding、final、代码块_DAY08
1:Math类的随机数(掌握) 类名调用静态方法. 包:java.lang 类:Math 方法:public static double random(): Java.lang包下的类是不用导包就可 ...
- Python中Gradient Boosting Machine(GBM)调参方法详解
原文地址:Complete Guide to Parameter Tuning in Gradient Boosting (GBM) in Python by Aarshay Jain 原文翻译与校对 ...
- lucene-01-简介
1, 介绍 hadoop作者开发的 hdfs最开始作为netch的文件存储来使用的 2, 存储结构 lucene快的原因, 是因为添加数据的时候会对数据进行分词, 将分词后的词建立索引, 存储到索引库 ...
- springboot-28-security(一)用户角色控制
spring security 使用众多的拦截器实现权限控制的, 其核心有2个重要的概念: 认证(Authentication) 和授权 (Authorization)), 认证就是确认用户可以访问当 ...
- 常用的Maven 插件
Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成. 例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应了一个插 ...
- 第一个 smarty 程序
原来使用普通的 PHP 代码,只需要一个文件,就可以完成功能. 而使用了 smarty后,会分成两个文件来完成,一个是模板文件,用于显示内容,一般后缀名为 *.tpl (但实际上任何后缀名都可以,建议 ...
- ActiveMQ P2P版的HelloWorld
1.2 JMS应用程序接口 ConnectionFactory: 用户用来创建到JMS提供者的连接的被管对象.JMS客户通过可移植的接口访问连接,这样当下层的实现改变时,代码不需要进行修改. 管理员 ...
- Quartz2D截屏
#import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...