unity ui不显示中用steamVR的相机如何显示ui

Unity3D中相机功能使用方法介绍_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Unity3D中相机功能使用方法介绍
深圳前海中清龙图教育科技有限公司(简称“龙...|
总评分0.0|
&&我学院:Unity3D中相机功能使用方法介绍,Unity相机功能解析。
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢unity 特效怎么在ui上播放_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
unity 特效怎么在ui上播放
我有更好的答案
编辑器会自动帮你创建一个Canvas然后我们设置一下Cavans的缩放模式和尺寸,本例中我们以iPhone6的尺寸大小为准,颜色设置为红色,并且命名为MyText然后我们重置MyText的Rect Transform,重置之后将其宽高分别设置为750和100,文本内容修改为点我(这边大小和文本内容可以根据自己的喜好来调整)动态创建UGUI对象的方法,我们首先来新建一个Text对象,接着我们将MyText的字体大小设置为40:我们来看看这个自定义的Text有哪些内容:字体的颜色是红色Text穿创建后会播放一段放大动画放大动画播放结束后首先我们新建一个名为Test的项目来实践我们这次的内容,项目创建成功后,我们新建一个Button对象新的UGUI全部都基于一个Canvas画布,如果你的场景里面没有Canvas,简单来说就是将我们需要创建的UGUI对象制作成一个Prefab,修改Ui Scale Mode为Scale With Screen Size,然后将分辨率设置为750*1334然后我们将Button的位置调整至屏幕的右上方,当你创建一个UI对象时,然后将对其方式设置为居中:MyText的位置和字体属性我们已经设置好了,我们选中Canvas,然后在其Canvas Scaler组件中,然后使用Instantiate方法将其实例化,最后使用相关的API对其属性进行动态设置接下来我们就来创建自定义的Text Prefab,为动态创建做准备,首先我们会自定义一个如下图所示的Text,接下来我们就需要为MyText增加放大和上升两个动画效果了,Text会向上移动一段距离移动结束后,Text就会消失掉清楚了Text所需的内容后,然后将字体大小放大
采纳率:88%
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包SteamVR Plugin插件使用。
在资源商店中下载最新的steamVR插件()导入项目中。
可能出现错误:
Failed to load IVRRenderModels interface version IVRRenderModels_005
目前解决方法
Steam官方论坛的中有讨论到这个问题,请仔细看。
SteamVR Plugin脚本分析
Assets/Plugins/openvr_api.cs&
这直接封装了steamvr SDK的支持。是必须的脚本。它提供的所有功能steamvr暴露。不建议你做更改此文件。应与相关的openvr_api DLL同步。
Assets/SteamVR/Scripts/SteamVR.cs&
系统的初始化和关闭。使用SteamVR.instance
访问。由于任何原因,如果初始化失败,则可能返回null。
Assets/ SteamVR / Scripts / SteamVR_Camera.cs VR摄像机,主要功能是将Unity摄像机的画面进行变化,形成Vive中的成像画面
&为了对抗畸变校正引起的拉伸,以更高的分辨率渲染场景。
由于Unity中的所有相机都是顺序渲染的,所以在每个
眼睛相机之间共享一个静态渲染纹理。
SteamVR提供了一个特定的渲染目标大小,以减轻失真,
然而,渲染到更高的分辨率会在相关
费用下提供额外的多采样优势。这可以通过SteamVR_Camera.sceneResolutionScale控制。
注意:GUILayer和FlareLayer与SteamVR_Camera不兼容,因为它们在屏幕空间
而不是世界空间中渲染。
这些将自动移动SteamVR_GameView对象,该对象本身将自动
添加到SteamVR_Camera的父'head'对象。AudioListener也被转移到头部,以便
音频被适当的空间化。
Assets/ SteamVR / Scripts / SteamVR_Overlay.cs
- 此组件用于协助在VR中呈现2D内容。
使用特殊的渲染路径将指定的texture合成到虚拟曲面上的场景中,以
提高保真度。
Assets/ SteamVR / Scripts / SteamVR_TrackedObject.cs
- 将其添加到要使用跟踪的任何对象。
HMD有一个设置为自动。对于控制器,选择要映射到的对象的索引。一般来说,
您应该将这些对象加载到相机的“origin”对象,以便它们在相同的空间中跟踪。但是,如果
不方便,您可以在TrackedObject本身中指定“origin”。
Assets/ SteamVR /脚本/ SteamVR_RenderModel.cs
-该组件用于渲染手柄的模型,并且跟踪手柄的位置。
Assets/ SteamVR / Scripts / SteamVR_Utils.cs - 用于在Unity中使用SteamVR API的各种位,包括一个
简单的事件系统,用于处理向量/四元数对的RigidTransform类,矩阵转换和
其他有用的功能。
SteamVR_PlayArea&
用于显示玩家可游玩区域。使用方法,在Origin物体上添加该脚本即可
SteamVR_ControllerManager和SteamVR_TrackedObject
控制器,主要用于设置和检测Vive控制器。
Vive控制器由菜单键(ApplicationMenu),触摸板(Touchpad),系统键/电源键(System),扳机键(Trigger),侧柄键(Grip),组成
使用方法:
在Origin物体上添加2个子物体代表Vive的2个手柄,增加SteamVR_TrackedObject,Index设置为None
在Origin物体上添加SteamVR_ControllerManager,设置左右手柄
在origin上再加一个子对象主相机作为head如图,加上steam vr_tracked object
SteamVR_Controller &控制器的相关信息
&关于控制器的相关信息都包含在SteamVR_Controller这个脚本之中。注意:SteamVR_Controller是非Monobehavior的脚本,并没有挂在场景下,其运行是通过SteamVR_Render脚本对于其中Update()函数的调用从而一直循环获取手柄相关信息。
而SteamVR_Render脚本是在程序运行时自动加载至场景。
ButtonMask类:手柄各按键的名称。
Device类:最重要的类,封装了跟踪设备的全部信息。
Update()函数:被SteamVR_Render脚本调用,更新各跟踪设备的信息。
Input()函数:根据Index初始化Device[]数组,并实例化所有16个Device。
详细SteamVR_Controller类内容可以参考博客:。
我参与的团队
积分与排名
评论排行榜
阅读排行榜请完成以下验证码
您当前的位置: &
如何用Unity3D设计VR中的用户界面
查看: 3360|
给VR设计用户界面的时候需要考虑很多传统屏幕设计场景中难以发现的问题。接下来我们会了解一下,作为VR开发者的挑战和机遇,然后讨论一下在这个新设备上,开发可用的界面的操作性。UI分辨率和外观DK2的分辨率是 1920 X 1080(每只眼睛960 X 1080),Gear VR 是2560 X 1440(每只眼睛1280 X 1440),这会导致任何占用像素少于宽和高的画面产生可察觉的像素化。需要特别注意UI元素, 需要时刻考虑的是这些元素在显示到VR上时是多大的。有个途径是使用更大或者加粗的字体,并且在设计UI的时候不用细线条,细线条在VR中会像素化。UI的类型画外在非VR项目中,UI经常盖在游戏画面上方,显示例如生命,分数,或者其他我们经常需要查看的内容,也叫HUD(Heads Up Display 游戏中指玩家常用状态栏)。这被认为是“画外”UI,它不在游戏世界中存在,是为了给玩家一些关于游戏的内容存在的。这个术语也在电影中用到,叫“画外音”,可能是一些电影或者电视节目中的音乐。然而画外音对于你正在观看的内容来说应该是有意义的。在Unity中,添加HUD(状态栏)样式的“画外”UI通常是通过在UI Canvas 控件上,选择 Render Mode &:Screen Space - Overlay 或者 Screen Spacce-Camera &这两种模式实现的。这个途径在VR中一般没有用。 我们的眼睛无法聚焦到那么近的物体上, 而且 Screen Space-Overlay 在VR中并不支持。空间UI我们通常需要在环境中用World Space Canvas Render Mode 定位我们的UI, 这可以让我们的眼睛聚焦到UI。也叫做空间UI。在场景中放置UI通常都需要多思考一下。离用户太近会导致眼睛紧张,离得太远会觉得望向了地平线, 远方在户外环境可以用,但是不适合小房间。还可能需要对UI进行相应的缩放,根据需求动态的调整。如果可能,最好把你的UI放到可以舒适阅读的距离,然后相应的调整比例。比方说主菜单的UI:被放置在几米远的位置,文字和图片很大,阅读起来方便。如果把UI放置到一个距离,你可能会发现UI切入了其他物体。可以回顾一下&VR中的交互&文章中的准星相关内容,有提到关于创建一个,能够盖在其他物体之上的shader的方法,或者简单的用在VR 示例中的shader。这个shader也能用在文字上来防止它切入其他物体。很多开发者会在开头把UI附着在摄像机上,这样玩家在环境中移动时UI就会待在在一个固定的距离。这个对于准星或者其他小物件是比较有效的,但是对于更大的UI元素来说,这个经常会有一种效果,就像眼前举着报纸同时又向四周观察, 这个状况会导致不适甚至眩晕。可以看一下Shooter 360(打靶场)这个示例,这里UI会在一个短暂的延迟之后出现在画面里,能让玩家看向四周,适应一下没有UI固定在画面里然而模糊视线的环境。VR给我们了一个探索沉浸式360度场景的机会,有时你可能需要指出玩家需要查看的特定方向。在某些场景里,我们使用箭头来帮助玩家转到一个方向。这些箭头会根据玩家朝向渐入渐出。这部分能够在GUIArrows这个预设上找到, 而且比较容易重用。他们通过比较头部角度和目标角度来起作用。如果头部的旋转在预设的角度之外(下面GUIArrows&组件的Show Angle属性),然后箭头就会渐入。当玩家回到了需要的方向, 这些箭头就会淡出画面。画内UI一个代替空间UI的方案是环境本身给玩家显示一些信息。这可能是墙上的钟表, 电视,电脑的显示器, 或者是科幻武器上的全息显示。这都算是画内UI。请看Flayer场景中,飞船身上的UI, 或者Shooter(打靶)场景中的武器:这可能不像非常严谨的画内UI, 把用户界面附加在物体上让我们有一个比较合理的途径来让画内UI在Unity中起作用。更多关于UI的内容在这里GamaSutra可以找到关于UI类型的彻底分析,不过没有谈到VR。UI交互通过调用VR交互中提到的VREyeRaycaster,&VRInput, 和&VRInteractiveItem 组件,我们能够通过创建一个监听了VRInteractiveItem事件的类,来和UI建立基础的交互。关于这方面的更多信息可以查看VR中的交互,特别是迷宫场景中的开关功能。我们也会在游戏的开始来使用UI交互,可以保证玩家阅读游戏介绍。更多关于在VR中使用Unity UI的信息,请查看Oculus 博客上的&Unity’s UI System in VR&这篇文章,这里同样提供了一些代码示例。VR示例场景中的UI让我们一起看一下上面提到的技术是如何在VR示例场景中用到的。菜单场景中的菜单UI使用的自定义的贴图来实现弯曲,封闭的效果。和这些贴图互动用到了“VR中的交互” 这篇文章里提到的同样的方法。Flayer静态出现在世界坐标系中的简介和游戏结束UI:然而,我们选择附着在飞船位置上的世界坐标的UI,来表现与游戏相关的信息, 就是画内UI。由于用户会经常在画面中看到飞船, 在焦点附近显示一个UI来表现重要数据,这个做法很有道理。这个UI也会旋转来一直面向摄像机, 避免斜角,保证UI对玩家来说总是清晰可见的。迷宫在迷宫场景,我们也会用到空间UI来做介绍和结尾部分:当开关已经激活的时候,空间UI会用来提示玩家来进行互动。Shooter 180(Target Gallery, 打靶游戏)静态的空间UI又一次用在对玩家的简介和结束部分:就像上面提到的,我们在武器上用画内UI来显示剩余时间和当前分数:Shooter 360 (Target Arena 打靶场)最后,空间UI在这里用到了, 但是有一点变化:在动作发生时,例如玩家向周围观察, 我们选择在一段延迟之后再移动UI, 水平旋转来跟上玩家。这是为了让玩家意识到,他们是在一个需要向四周看的场景中。画内UI在这里的枪上又重用了一次:VR中字体的自由抗锯齿一个关于如何设置VR字体自由抗锯齿的方法(可能出于性能的考虑):在&世界坐标系的Canvas(画布)上附加一个Canvas Scaler控件。这个UI应该有一个&“Reference Pixels Per Unit”的属性设置为了1, 然后调整&“Dynamic Pixels Per Unit”直到你看到文字的边缘有了轻微的柔化。这里你可以看出&Dynamic Pixels Per Unit 设置为3 和设置为1.75的区别,前者更锐利一些,后者更柔和一些。你现在可能对不同类型的用户界面,以及哪种在VR中工作良好,有了一定的了解,也知道了如何克服一些你可能会遇到的特定的挑战。使用&VREyeRaycaster,&VRInput, 和&VRInteractiveItem 这些组件,你也可以创建基础的UI交互。
微信扫一扫
专注于VR的学习、开发和人才交流
&津ICP备号}

我要回帖

更多关于 unity3d ui显示隐藏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信