3D UI 交互和 摄像机渲染控制
2018-02-28 23:00
295 查看
1 3D UI 交互
将 精灵直接拖入3D场景
Spriter render 2D ui 放入3D场景中自动系统自动添加该组件
BOX collider组件 射线检测
Button 组件 变色控制 点击事件
Event Trigger 组件 添加各种触发控制,鼠标进入….离开。等等
要显示的摄像头 Main Camera 添加PhysicsRaycaster 组件
之后鼠标就可以出发3D场景中的UI
2 如何让3D中的UI 标签总显示在模型的前面(无论位置如何调整)
1 为3D 标签添加标签层
设置标签层为BQ
2 添加俩个一样的摄像机设为父子关系
父相机设为 Depth Only
Culling Mask 只渲染标签
Depth 设为1
子相机根据需求设为Solid Color 或SKY box
Culling Mask 设为 Mixed 不渲染 BQ层
Depth 设为 0 设为5 就不渲染了(其实是看不见了) 必须小于1
注意: 标签层相机必须大于要优先渲染的物体 ,
且为 depth Only 其他模式会看不见其他相机的物体
当场景只有一个相机的时候
Depth OnlY 会移动物体时---出现影像残留 don’t Clare 也会
当场景有俩个相机的时候
Depth OnlY 将不会出现物体影像残留,一切正常 don’t Clare 也是一样
摄像机的四种模式和深度理解:
每个相机在渲染时会存储颜色和深度信息。屏幕的未绘制部分是空的,默认情况下会显示天空盒。当你使用多个相机时,每一个都将自己的颜色和深度信息存储在缓冲区中,还将积累大量的每个相机的渲染数据。当场景中的任何特定相机进行渲染时,你可以设定清除标记以清除缓冲区信息的不同集合。可以通过下面四个选项之一来完成:
摄像机Display的理解:
Display 1 -----窗空置显示这个Display1演示下的物体
Display 2 ------窗空置显示这个Display2演示下的物体
一个Game视图中只能显示一个Display
Game 视图中可以选择的去显示哪个 Display
可以选择右键Game 视图去 Add game 窗口 同时显示俩个Game 窗口
http://blog.csdn.net/Fenglele_Fans/article/details/77842546
将 精灵直接拖入3D场景
Spriter render 2D ui 放入3D场景中自动系统自动添加该组件
BOX collider组件 射线检测
Button 组件 变色控制 点击事件
Event Trigger 组件 添加各种触发控制,鼠标进入….离开。等等
要显示的摄像头 Main Camera 添加PhysicsRaycaster 组件
之后鼠标就可以出发3D场景中的UI
2 如何让3D中的UI 标签总显示在模型的前面(无论位置如何调整)
1 为3D 标签添加标签层
设置标签层为BQ
2 添加俩个一样的摄像机设为父子关系
父相机设为 Depth Only
Culling Mask 只渲染标签
Depth 设为1
子相机根据需求设为Solid Color 或SKY box
Culling Mask 设为 Mixed 不渲染 BQ层
Depth 设为 0 设为5 就不渲染了(其实是看不见了) 必须小于1
注意: 标签层相机必须大于要优先渲染的物体 ,
且为 depth Only 其他模式会看不见其他相机的物体
当场景只有一个相机的时候
Depth OnlY 会移动物体时---出现影像残留 don’t Clare 也会
当场景有俩个相机的时候
Depth OnlY 将不会出现物体影像残留,一切正常 don’t Clare 也是一样
摄像机的四种模式和深度理解:
每个相机在渲染时会存储颜色和深度信息。屏幕的未绘制部分是空的,默认情况下会显示天空盒。当你使用多个相机时,每一个都将自己的颜色和深度信息存储在缓冲区中,还将积累大量的每个相机的渲染数据。当场景中的任何特定相机进行渲染时,你可以设定清除标记以清除缓冲区信息的不同集合。可以通过下面四个选项之一来完成:
1.Skybox 天空盒
这是默认设置。在屏幕上空的部分将显示当前相机的天空盒。如果当前相机没有设置天空盒,它会默认使用渲染设置(在Edit->Render Settings里)中选择的天空盒。然后它将退回使用背景颜色。另外天空盒组件可以添加到相机上。如果你想创建一个新的天空盒,您可以使用本指南。2.Solid Color 纯色
屏幕上的任何空的部分将显示当前相机的背景颜色。3.Depth Only 仅深度
如果你想绘制一个玩家的枪而不让它在环境内部得到裁剪,你要设置一个深度为0的相机来绘制环境,还要另一个深度为1的相机单独绘制武器。该武器相机的清除标记应设置为仅深度。这将保持环境的图形显示在屏幕上,但会丢弃所有关于每个对象在三维空间中的位置的信息。当枪被绘制出来,不透明的部分将完全覆盖任何已绘制的事物,而不管枪到墙之间如何接近。(这部分看起来很费劲)---------------------也就是标签的设置4.Don’t Clear 不清除
该模式不清除任何颜色或深度缓存。其结果是,每帧绘制在下一帧之上,造成涂片效果。这不是用于游戏的典型方式,最好是与自定义着色器一起使用。Culling Mask 剔除遮罩
剔除遮罩使用层有选择地渲染一组对象。有关使用层的信息可以在这里找到。通常好的做法,是把用户界面放到不同的层,然后用一个独立相机单独渲染UI层。为了使UI显示在其他相机视角的顶部,你还需要设置清除标记为Depth only,并确保UI相机的深度比其他相机高。 同样的,如果是制作游戏,你可以创建一个界面摄像机,单独渲染界面,而别的摄像机将渲染场景。你只需要添加UI图层,将所有的界面物体的Layer设置为UI,UI摄像机的Culling Mask也只勾选UI层。Depth 深度
首先在Unity场景中创建两个摄像机,分别命名为camera1和camera2; 再在场景中创建一个cube和Sphere作为摄像机的拍摄物体;并让两摄像机都能够拍摄到两个物体。 接着设置camera1的Depth为0,camera2的Depth为1; 你会发现Game窗口将只显示camera2拍摄到的画面; 可见摄像机Depth属性设置相机绘图顺序,具有较大值的相机将被绘制在具有较小值的相机的上面,换言之,一个深度为1的相机将绘制在一个深度为0的相机之上。摄像机Display的理解:
Display 1 -----窗空置显示这个Display1演示下的物体
Display 2 ------窗空置显示这个Display2演示下的物体
一个Game视图中只能显示一个Display
Game 视图中可以选择的去显示哪个 Display
可以选择右键Game 视图去 Add game 窗口 同时显示俩个Game 窗口
http://blog.csdn.net/Fenglele_Fans/article/details/77842546
相关文章推荐
- 【Unity 3D学习】获取鼠标滑动方向(上下左右)-控制摄像机围绕物体旋转
- Unity 3D - Camera Play [摄像机渲染特效]
- 基于dragonboard 410c的智能魔镜设计(9)——UI交互控制逻辑实现
- ue4 3dui交互相关
- Unity滚轮控制UI和摄像机缩放冲突问题
- 3D物体建模和渲染的跟踪球交互设计和实现
- 项目使用3D检查UI布局渲染
- ui树形组建的渲染 tag菜单初始化展现控制 (树形)
- Unity 3D - UI摄像机、场景摄像机协同工作原理
- UGUI 之 制作敌人不在摄像机视口的UI方向提示(或检测物体在不在摄像机渲染范围内)(四)
- UGUI 之 制作敌人不在摄像机视口的UI方向提示(或检测物体在不在摄像机渲染范围内)(四)
- 虚幻4 添加变量控制UI的渲染,详细教程。
- 3D正式成为REDirectUI的渲染选项
- 3D正式成为REDirectUI的渲染选项
- C++(MFC)中WebBrowser去除3D边框的方法(实现IDocHostUIHandler接口)控制 WebBrowser 控件的外观和行为
- 回顾一幅3D渲染作品
- (素材源码)猫猫学iOS(四十一)UI之核心动画 两行代码搞定3D转场(做android的哭死)
- 原子级3D渲染技术(Unlimited Detail Technology )
- Android系统Surface机制的SurfaceFlinger服务渲染应用程序UI的过程分析(2)
- 【C#】AR unity 陀螺仪控制摄像机 真实方向