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的更多相关文章

  1. unity基础开发----Unity获取PC,Ios系统的mac地址等信息

    在软件开发中可以会用到mac地址作为,设备的唯一标示,我们也可以通过unity获取,经测试pc,ios都可以但是安卓没有获取到. 代码如下: using UnityEngine; using Syst ...

  2. Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast,获取已安装apk,调用第三方应用,强制自动重启本应用

    一个完整的游戏项目上线需要不断的完善优化,但是到了后期的开发不再仅仅是游戏了,它的复杂度远远大于纯粹的应用开发.首先必须要考虑的就是集成第三方SDK,支付这块渠道商已经帮你我们做好了,只需要按照文档对 ...

  3. unity, 获取mesh名称

    正确的获取mesh名称的方法: MeshFilter meshFilter=node.GetComponent<MeshFilter>();    string meshName=mesh ...

  4. Unity获取游戏对象详解

    我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我.我看很多人喜欢在类里面去保存GameObject对象.解决G ...

  5. Unity获取脚本的CustomEditor(自定义编辑)数据

    在此之前,粗略的介绍下 CustomEditor(自定义编辑). Unity对于我们创建的Mono脚本提供了属性面板的展示和修改.默认情况下,Inspector面板中会显示当前脚本类的公开字段(pub ...

  6. Unity获取方法的参数和方法名称

    public IMethodReturn Invoke(IMethodInvocation input, GetNextHandlerDelegate getNext) { Console.Write ...

  7. Unity 获取服务器时间 HTTP请求方式

    在写每日签到的时候,我居然使用的是本地时间...被项目经理笑哭了...., 如果你在写单机游戏,没有游戏服务器,但又不想使用本地时间,就可以采用下面方法. 方法总结: 1. 使用HTTP请求获取服务器 ...

  8. Unity 获取指定资源目录下的所有文件

    string path="Assets";//Assets/Scenes if(Directory.Exists(path)){ var dirctory=new Director ...

  9. Unity获取插件所在目录的巧妙方法

    编写插件时,Unity没有提供当前被放置目录的功能.比如资源商店的一些插件需要放在Assets根目录下. 但通过脚本可以反求出所在目录,对于自己写的插件,就避免了类似问题: var scriptObj ...

随机推荐

  1. (转)shlex — 解析 Shell 风格语法

    原文:https://pythoncaff.com/docs/pymotw/shlex-parse-shell-style-syntaxes/171 这是一篇协同翻译的文章,你可以点击『我来翻译』按钮 ...

  2. WebStorm project 打开多个项目的方法

    File ---> Setting ---> Project:xxx ---> Sirectories 点击右侧  + Add content root,选择目录后即可显示该项目. ...

  3. GitLab 修改主机名,更换 IP 配置,配置 SMTP

    # find / -name gitlab.yml /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml /var/opt/gitla ...

  4. gulp 使用入门

    什么是gulp? 用自动化构建工具增强你的工作流程! Gulp 是基于node.js的一个前端自动化构建工具,开发者可以使用它构建自动化工作流程(前端集成开发环境). 使用gulp你可以简化工作量,让 ...

  5. 全网最详细的Windows系统里PLSQL Developer 32bit的下载与安装过程(图文详解)

    不多说,直接上干货! 注意的是: 本地若没有安装Oracle服务端,Oracle server服务端32位,是远程连接,因此本地配置PLSQL Developer32位. PLSQL Develope ...

  6. Docker概念学习系列之Docker核心概念之仓库Repository

    不多说,直接上干货! Docker仓库 仓库(Repository)是集中存放镜像的地方,分公共仓库和私有仓库. 仓库是集中存放镜像文件的场所. 有时候会把仓库和仓库注册服务器(Registry)混为 ...

  7. 详解C#泛型(三)

    一.前面两篇文章分别介绍了定义泛型类型.泛型委托.泛型接口以及声明泛型方法: 详解C#泛型(一) 详解C#泛型(二) 首先回顾下如何构建泛型类: public class MyClass<T&g ...

  8. js便签笔记(6)——jQuery中的ready()事件为何需要那么多代码?

    前言: ready()事件的应用,是大家再熟悉不过的了,学jQuery的第一步,最最常见的代码: jQuery(document).ready(function () { }); jQuery(fun ...

  9. python3 get post请求Yunba RESTful API

    一:主要内容 获取云巴appkey和seckey 状态回复说明 get请求 post请求 二:获取云巴appkey和seckey 1. 注册云巴 在云巴官网,注册一个云巴账号,官网地址:https:/ ...

  10. MYSQL用户权限管理(Grant,Revoke)

    MySQL可以为不同的用户分配严格的.复杂的权限.这些操作大多都可以用SQL指令Grant(分配权限)和Revoke(回收权限)来实现. Grant可以把指定的权限分配给特定的用户,如果这个用户不存在 ...