unity3d 获取相机视口四个角的坐标
功能:如标题所示,主要考虑用来做3d Plane的自适应屏幕
/// <summary>
/// 获取指定距离下相机视口四个角的坐标
/// </summary>
/// <param name="cam"></param>
/// <param name="distance">相对于相机的距离</param>
/// <returns></returns>
public static Vector3[] GetCameraFovPositionByDistance(this Camera cam, float distance)
{
Vector3[] corners = new Vector3[]; float halfFOV = (cam.fieldOfView * 0.5f) * Mathf.Deg2Rad;
float aspect = cam.aspect; float height = distance * Mathf.Tan(halfFOV);
float width = height * aspect; Transform tx = cam.transform; // 左上角
corners[] = tx.position - (tx.right * width);
corners[] += tx.up * height;
corners[] += tx.forward * distance; // 右上角
corners[] = tx.position + (tx.right * width);
corners[] += tx.up * height;
corners[] += tx.forward * distance; // 左下角
corners[] = tx.position - (tx.right * width);
corners[] -= tx.up * height;
corners[] += tx.forward * distance; // 右下角
corners[] = tx.position + (tx.right * width);
corners[] -= tx.up * height;
corners[] += tx.forward * distance; return corners;
}
unity3d 获取相机视口四个角的坐标的更多相关文章
- GMap获取可视范围内四个角的坐标
原理: 先获取控件的四个顶点,逐一将其转换成经纬度坐标. private void GetBonds() { //左上↖ PointLatLng pLeftTop = map1.FromLocalTo ...
- Android 二维码扫描框 加四个角及中间横线自动下滑
红色为加四个角 黄色为扫描线自动下滑 /* * Copyright (C) 2008 ZXing authors * * Licensed under the Apache License, Ver ...
- [转]JAVA 根据经纬度算出附近的正方形的四个角的经纬度
csv文件转化为geojson文件中,涉及到路测图的打点生成,打点是由一个个正方形组成,而正方形是由四个点组成的,这四个点根据经纬度和范围生成,具体的实现代码是从网上找来的: /** * * @par ...
- Bootstrap3基础 img-rounded 图片的四个角改成圆角
内容 参数 OS Windows 10 x64 browser Firefox 65.0.2 framework Bootstrap 3.3.7 editor ...
- CF 429B B.Working out 四个角递推
B. Working outtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutpu ...
- HTTP获取信息的四种方式
HTTP 从网络获取信息的四种方式 GET GET指代你在浏览器中输入网址,浏览网站时做的事.例如,我们使用 http://www.baidu.com 的时候,可以将GET想象成他说:"hi ...
- HTML和JS完成页面点击四个角弹出管理页面
实现方法1: HTML代码: <div class="top-left-corner"></div> <div class="top-rig ...
- android学习8——获取view在屏幕上的绝对坐标
获取view在屏幕上的绝对坐标在调试时候非常有用. 看如下代码 public class AbsolutePosActivity extends Activity { @Override public ...
- 【淡墨Unity3D Shader计划】四 热带雨林的文章: 排除、深度测试、Alpha测试和基本雾编译
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://hpw123.net/a/C__/kongzhitaichengxu/2014/1222/163.html 作者:毛星云 ...
随机推荐
- Welcome
唔.你好! 这里是 Evensgn 的笔记本. 我是 SD 省的一名高中 OIer,从初中就接触了 OI ,然而水平一直是弱弱哒. Evensgn 是我常用的 ID. 不忘初心,方能始终. E-mai ...
- [转载]C#图片格式(JPG,BMP,PNG,GIF)等转换为ICO图标
using System; using System.Drawing; using System.Windows.Forms; using System.IO; namespace ICOTest { ...
- Weex详解:灵活的移动端高性能动态化方案
原文地址:http://www.infoq.com/cn/articles/introducing-weex 在2016年4月份的QCon上,阿里巴巴资深总监,淘宝移动平台及新业务事业部.阿里百川负责 ...
- IBM
http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1306mongodb2/
- DHTMLX 前端框架 建立你的一个应用程序 教程(八)-- 添加表单Form
添加表单Form 我们下一步是在页面中添加一个表单,表格中的选中字段将会显示在表单中.提供一个提交按钮 可以对显示的数据进行修改提交. 添加表单到布局单元格中 1.在右侧布局中使用attachForm ...
- 安装Ubuntu服务器
安装edX首先需要一台linux或Mac系统的电脑/服务器. 这里以常见的Ubuntu作为服务器系统. Ubuntu的官方网站为http://www.ubuntu.com,中文网站为http://ht ...
- 对QT的产品,以及QT的一些综合评论 good
QT你不能说他不流行吧, WPS, Wirshark, KDE, dropbox, skype, virtualbox都和qt有关吧, 你想写个跨平台的C++程序, QT是个不错的选择, 普通PC应用 ...
- HDU 4288 Coder 【线段树+离线处理+离散化】
题意略. 离线处理,离散化.然后就是简单的线段树了.需要根据mod 5的值来维护.具体看代码了. /* 线段树+离散化+离线处理 */ #include <cstdio> #include ...
- bzoj3611
会构建虚树之后就是noip提高组的题目了稍微难一点的是求代价和,只要注意按一个方向避免重复计算贡献即可 ; type node=record po,next:longint; end; ..] of ...
- Sharepoint数据库存储过程
转:http://dugan.bokee.com/630497.html Databases Table Stored Procedures(数据库表存储过程) Globals Table Store ...