摄像机

Unity学习笔记:相机属性

送分小仙女□ 提交于 2019-12-12 14:26:29
clera Flag清除标记 skybox 具备天空盒,清除前面绘制的图形。 solid Color 具备背景图效果,清除前面绘制的图形。 Depth only没有背景和天空盒,不清除前面绘制的图形,清除图像的深度。(图像覆盖) Dont Clear没有背景和天空盒,不清除前面绘制的图形,也不清除图形深度。 清除标记,deepth,剔除遮挡 三个因素共同影响最后摄像机的成像。 优先渲染方法:设置副摄像机,将其clera Flag设置为Depth only然后将渲染的层级Culling Mask设置需要被优先渲染的物体的层级,然后将其优先级Depth设置→大于←主摄像机 代码设置层级: gameObjuct.Camera.cullingMask = LayerMask.GetMask(复数string);根据传入的参数来激活所有与参数名字相同的层级。 gameObjuct.Camera.cullingMask = int;根据传入的数字转换成二进制激活层级。激活第一层为1,一二层为3,一二三层为7,第四层为8,第n层就是2的n-1次方。 Projection切换透视模式和正交模式,正交模式将摄像机矩形投射出去,多用于观察地图。 size(正交)矩阵的大小,值为高度的一般,长度的黄金比例(雾) gameObjuct.Camera.fieldfview返回透视相机广角的角度。

一.摄像机模型

陌路散爱 提交于 2019-12-06 08:05:29
小孔模型 相机的成像过程如图所示,跟物理中学过的小孔成像差不多,我想大家应该在中学物理可能做过蜡烛小孔成像的实验,那时候你看到的不就是一副倒立的火焰吗?那么我们来看看相机的这个过程吧。在景物平面P点的坐标是(x 0 ,y 0 ,z 0 ), 在等效成像平面P1点的坐标是(x 1 ,y 1 ,z 1 ), 在相机成像平面P2点的坐标是(x 2 ,y 2 ,z 2 ),f为理想的针孔相机焦距,z是相机到物体的距离,在实际中景物点P通过光孔中心在成像平面呈现翻转倒立的图像P2。为了方便研究,我们通常将相机的成像平面等效为光孔左侧的等效成像平面,这样目标图像不再是倒立的。在数学上等价且形式更加简单,容易理解。这样就形成了等效的对应关系:(式中f= z 1 = z 2 ;z= z 0 )。 景物平面与相机平面关系:\[\left( {\begin{array}{*{20}{c}} {{a_{11}}}&{{a_{12}}}&{{a_{13}}}\\ {{a_{21}}}&{{a_{22}}}&{{a_{23}}}\\ {{a_{31}}}&{{a_{32}}}&{{a_{33}}} \end{array}} \right)\] 来源: https://www.cnblogs.com/fuzhuoxin/p/11967793.html

Unity制作出《超级马里奥》的2D和3D混合效果

99封情书 提交于 2019-12-05 19:34:05
现在来做点别的东西。Nintendo Switch上刚推出的《超级马里奥》中,有一些关卡混合了2D和3D的画面,这种效果十分让人印象深刻。如何在Unity中实现这个效果呢? 正常情况下,摄像机会直接渲染到你的屏幕。我们如何能让摄像机看到内容并显示在另一个对象上呢?你可能注意到摄像机有一个属性,叫目标纹理(Target Texture)。 我们要在Asset文件夹里新建一个渲染纹理(Render Texture),添加到摄像机上。你可以在项目窗口依次点击Create -> Render Texture来新建渲染纹理。创建好后,你可以将它拖到摄像机上的Target Texture属性中。摄像机这时会将所有对象都渲染到这个纹理上。如果现在进入运行模式,游戏画面将呈现为一片漆黑,因为目前没有激活的摄像机渲染到屏幕上。 现在,我们要加入一个新摄像机到场景中,摄像机的Projection属性为Perspective。在摄像机前添加一个新的3D对象,本例中,我们添加的是圆柱体。然后创建新材质,其Shader属性设为Unlit/Texture,再将刚刚创建的渲染纹理拖到这个材质上的Main Texture部分。 得到的效果如下图。 这样一来,我们就实现了类似《超级马里奥》中的2D和3D混合效果,是不是很简单! 资源下载 项目《超级马里奥》下载地址: https://github.com

cocos creator 3D | 拇指射箭

别等时光非礼了梦想. 提交于 2019-12-05 07:04:57
拇指射箭!你能射中靶心么? 效果预览 配置环境: cocos creator 3d v1.0.0 玩法介绍: 长按屏幕,拖动瞄准,放手发射。风向、重力和距离影响最终结果!越靠近中心得分越高!最高分10分! 实现原理 流程图: 镜头控制: 采用两个摄像机控制镜头显示。一个是发射视角的摄像机;另一个是绑定在箭节点的摄像机,会跟随箭一起移动。通过控制摄像机节点的 active 实现镜头切换。 弓箭控制: 通过触摸移动的距离乘以一个调控系数,控制弓箭的位置。 private onTouchMove(touch: Touch) { const delta = touch.getDelta(); this.NodePos_bows.x -= delta.x * CONST_TOUCH_FACTOR; this.NodePos_bows.y += delta.y * CONST_TOUCH_FACTOR; } 为所有需要控制位置的节点写了一个通用的组件脚本。只要为节点添加这个脚本,就可以通过设置 x,y,z 调整位置。 export class NodePos extends Component { private _curPos: Vec3 = cc.v3(); start() { this._curPos = this.node.position; } get x() { return

宇视摄像机RTSP地址格式规则

徘徊边缘 提交于 2019-12-04 21:17:09
宇视摄像机RTSP地址规则为:rtsp://{用户名}:{密码}@{ip}:{port}/video1/2/3,分别对应主/辅/三码流; 比如: rtsp://admin:admin@192.168.8.8:554/video1,就表示主码流; rtsp://admin:admin@192.168.8.8:554/video2,表示子码流; rtsp://admin:admin@192.168.8.8:554/video3,表示3码流; 二、通用摄像机RTSP取流URL地址规则 现在实际上现在已经不用再这么复杂地获取RTSP的取流地址了,因为大部分的IPC或者NVR都基本支持了Onvif协议,通过Onvif Device Test Tool或者EasyNVR这样的工具,可以直接发现到设备的RTSP流地址,不用再自己来拼接了,以EasyNVR为例: 更多流媒体音视频技术资源 EasyDarwin开源流媒体服务器: www.EasyDarwin.org EasyDSS高性能互联网直播服务: www.EasyDSS.com EasyNVR安防视频可视化服务: www.EasyNVR.com EasyNVS视频综合管理平台: www.EasyNVS.com EasyNTS云组网: www.EasyNTS.com EasyGBS国标GB/T28181服务器: www.EasyGBS.com

记录一下 接入大华ipc摄像机rtsp流的经历

久未见 提交于 2019-12-04 21:16:36
当时接入rtsp服务器时,我测过一些别的厂家的ipc,没有理会rtcp消息。 当对于大华的ipc 不理会rtcp不行啊,你必须建立rtcp的通讯 随便给它发点什么东西都可以,然后流就接通上来了。 不知道我这是不是个例,仅作为我这次经历的记录 来源: CSDN 作者: zhouxj0818 链接: https://blog.csdn.net/zhouxj0818/article/details/80452284

DVR和NVR的区别(深度好文)(转)

陌路散爱 提交于 2019-12-03 15:30:23
DVR接模拟摄像机,NVR是接IP camera的录像机. DVR的录像效果取决于摄像机与DVR本身的压缩算法与芯片处理能力,而NVR的录像效果则主要取决于IPcamera,因为IPcamera输出的就是数字压缩视频, 视频到达NVR时,不需要模数转换 ,也不需要压缩,只管存储,当要显示与回放才需要解压缩。   一、DVR说明   DVR即是Digital Video Recorder(也叫:Personal video recorder即PVR)——数字视频录像机或数字硬盘录像机,我们习惯上称为 硬盘录像机 。相对于传统的模拟视频录像机,采用硬盘录像,故常常被称为硬盘录像机,也被称为DVR。它是一套进行图像存储处理的计算机系统,具有对图像/语音进行长时间录像、录音、远程监视和控制的功能。   DVR集合了录像机、画面分割器、云台镜头控制、报警控制、网络传输等五种功能于一身,用一台设备就能取代模拟监控系统一大堆设备的功能,而且在价格上也逐渐占有优势。DVR采用的是数字记录技术,在图像处理、图像储存、检索、备份、以及网络传递、远程控制等方面也远远优于模拟监控设备.    DVR不可以支持IP摄像机 从普遍的定义来看,称之为DVR的产品一般不支持IP网络摄像机,数字DVR一般指把模拟相机拍摄到的视频资料转化为数字的录音,并不包括IP网络传输。根据定义来看,DVR智能支持模拟信号的输入

Unity 手机屏幕适配

夙愿已清 提交于 2019-12-03 06:34:46
////如有侵权 请联系我进行删除 email:YZFHKM@163.com 1、游戏屏幕适配 屏幕适配是为了让我们的项目能够跑在各种电子设备上(手机,平板,电脑) 那么了解是适配之前首先要了解两个知识点: 1-1、什么是像素? 单位面积中构成图像的点的个数。 特点:单位面积内的像素越多,分辨率越高,图像的效果就越好。 1-2、什么是分辨率? 分辨率可以从显示分辨率与图像分辨率两个方向来分类。 示分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所能显示的像素有多少.分辨率的单位有:(dpi点每英寸)、lpi(线每英寸)和ppi(像素每英寸)。 特点: 图像的分辨率越高,所包含的像素就越多,图像就越清晰,印刷的质量也就越好。 同时,它也会增加文件占用的存储空间。 1-3、移动设备分辨率 –以iphone 为例 Paste_Image.png 2、什么是适配? 什么是适配? 适应、兼容各种不同的情况 游戏开发中,适配的常见种类 ¤系统适配 针对不同版本的操作系统进行适配,例如Unity3D 5.4系统 ¤屏幕适配 针对不同大小的屏幕尺寸进行适配,例如Iphone5s,iphone7 iPhone的尺寸 3.5inch、4.0inch、4.7inch、5.5inch iPad的尺寸 7.9inch、9.7inch 屏幕方向 竖屏 横屏 3、Unity3D 中的屏幕分辨 3-1.

Multiple View Geometry(多视图几何)学习笔记(20)―摄像机模型之无穷远摄像机

匿名 (未验证) 提交于 2019-12-03 00:32:02
无穷远摄像机 是中心在无穷远平面上的摄像机。无穷远摄像机可以分为 仿射摄像机 和 非仿射摄像机 。 P P 的最后一行 P 3 T P 3 T 形如 ( 0 , 0 , 1 ) ( 0 , 0 , 1 ) 的摄像机。 P 0 = K P [ I | C ~ ] = K r 1 T r 2 T r 3 T r 1 T C ~ r 2 T C ~ r 3 T C ~ P 0 = K P [ I | C ~ ] = K ( r 1 T r 1 T C ~ r 2 T r 2 T C ~ r 3 T r 3 T C ~ ) r i T r i T 是旋转矩阵的第 i i 行。而数值的 d 0 = r 3 T C ~ d 0 = r 3 T C ~ 是世界原点到摄像机中心在主射线方向上的距离。 ( 3 , 4 ) ( 3 , 4 ) 元素用世界原点到摄像机中心的深度 d t d t 替代。 k = d t / d 0 k = d t / d 0 ,在时间 t t 所产生的摄像机矩阵是: P t = K d t / d 0 d t / d 0 1 r 1 T r 2 T r 3 T r 1 T C ~ r 2 T C ~ d t = d t d 0 K r 1 T r 2 T r 3 T d 0 / d t r 1 T C ~ r 2 T C ~ d 0 P t = K ( d t / d 0

Unity 镜头烟雾特效的笔记贴

匿名 (未验证) 提交于 2019-12-03 00:22:01
效果:烟雾缭绕 实现思路的探索: 最直接的思路就是用粒子模拟,粒子特效特效跟随摄像机,然后布拉布拉的往外喷。效果还可以接受,但是用默认shader实现的粒子特效,会跟墙体地面等场景物品产生明显的接缝。这个问题起始解决起来也比较方便,把默认的粒子shader复制一遍,然后关闭ZTest。 但是,虽然这个效果也可以接受,但是,为了压缩这一点点的性能开销,还是像尝试使用UV实现。 PS4上看到一款游戏《路弗兰的什么什么什么魔女旅团》,在进入迷宫以后,就会根据当前迷宫,产生不同的烟雾效果。但是它的实现方式很简单,直接在摄像机前贴了几张贴图,然后让UV滚起来。静止条件下效果还是可以,但是在摄像机转动和移动的过程中,这个贴图始终是跟随摄像机的。这就尴尬了,完全是白内障效果啊! 本人对效果要求是比较高的,虽然这种实现方式的性能开销完全可以忽略不计,但是本人还是要追求效果的。 首先,我们的要求是 1,烟雾是会变形的 2,烟雾是跟随场景的,而不是摄像机没擦干净的效果 烟雾的形变,用噪声图做扰动就好了。准备一张四方连续的噪声图,然后按照网上的代码,用时间_Time参与uv运算。 half2 offsetColor = tex2D(_NoiseTex, i.texcoord + _Time.zx * _NoiseSpeed).rg; i.texcoord.x += ((offsetColor.r +