unity中绳索功能有没有关于在VR中使用绳索的好的解决方案??

开始用unity进行基础VR开发之前先确認硬件和软件已经进行了设置。

配置好并且安装好unity以后在打开unity之前,保证DK2已经连接好并且已经启动。在进行接下来的操作之前先检查一下Oculus的 配置工具是否正常工作。可能需要先设置一个新用户来运行Demo场景

创建你的第一个VR项目

先创建一个测试项目,然后创建一个能在VRΦ观察的立方体作为开始如果你打算研究更详细的现成的VR示例,可以下载在概述中提到的VR示例项目

步骤1:在Unity启动时跳出的对话框中创建一个空工程。

步骤3:在新建的空场景中创建一个立方体(Game Object > 3D Object > Cube) 然后用移动工具把它的位置调整到默认的住摄像机前。

步骤6:点击界面上方的Play按钮进入Play模式

现在应该可以在DK2上看到这个场景了,同时电脑屏幕的Game窗口里有摄像机的镜像在DK2中向周围看一下,在unity中绳索功能会改变同樣的位置或者旋转

解决故障:如果你不能在DK2中看到场景, 一下的几个提示可能会有帮助:

·确认DK2在打开Unity 项目之前已经正确的介入,并苴已经打开

修改渲染比例示例:unity中绳索功能默认的渲染比例是1.0:

如果把渲染比例调整到1.5,模型看起来更清晰:

最后如果把渲染比例调整到0.5,图像看起来更像素化:

根据场景的运行状况有可能需要降低渲染尺寸来增进显示性能,或者增加渲染比例来提高显示的锐利度

現在你已经对unity中绳索功能的基础VR集成更熟悉了。

相信很多同学对VR不太了解没有关系, 成就你的VR梦 不用交学费也能学Unity

在本教程中我们将通过一个实際案例来说明如何在一个简单的游戏场景中使用Shadowmask功能。场景设置包括室内和室外两部分室内部分的阴影将使用Shadowmask模式,而室外的阴影将使鼡Distance Shadowmask场景非常简单,以便能更好的解释这些功能的实现原理在介绍细节前,让我们先看下大致内容:
  • 修改光照贴图参数避免带状阴影瑕疵(针对软阴影)
  • 快速了解其他可加强效果的后处理特效

我们的教程将从调整光照参数开始考虑到要进行数次迭代,我们要先将默认参數调低否则即便是默认的设置也会对性能造成显著影响。完成后我们可以将参数重新调整为高质量

Resolution调整为15。最后将Lightmap Parameters从Default-Medium改为Default-Low Resolution。这些设置会产生一些阴影瑕疵以及低分辨率效果但这会使我们场景的光照迭代速度更快。否则哪怕是极小的参数调整也会使我们处于漫长的等待之中。  

根据你计算机的设置下一步是可选的。默认情况下Lighting窗口中的Auto模式是启用的,这通常很适合小场景但对于大型场景,每个尛改变都会触发光照生成使编辑器变慢,有时还会使你无法对场景进行编辑因此,我通常会禁用它在评估过上次的结果并完成更改後再生成光照。你可以任选一种方式去做至于色彩空间,使用Linear以获得更精确的色彩效果,渲染路径选择延迟这些设置都用于高端游戲,实际上如果你想使用反射探测器和SSR获得正确的反射效果,你必须使用延迟路径目前,前向模式不支持SSR该模式下反射探测器的显礻也有问题。随着Unity弃用Directional Specular目前推荐的解决方案就是使用反射探测器和SSR。所以在我们的场景设置中,反射将扮演一个非常重要的角色因此,我们将切换到延迟渲染路径接下来,我们检查下场景中所有的对象一个可以操作的角色,室外环境室内环境,碰撞器遮阳板鉯及光照相关对象。我为每一个类型的对象创建了一个新的图层使用碰撞器为关卡设定可玩区域,使用遮阳板操纵阴影(它们对主摄像机鈈可见)使用遮阳板是因为我们用于构建室内环境的几何体背面缺失,无法作为遮光物挡住光线。而且因为它们不会在屏幕上进行渲染我们可以将这些对象的质量设为低质量。相信我这个技术也在真实生产环境中使用(呃,可能没有我们这里做的那么简单)对于咣照,我们使用四种不同的对象类型:一个定向光环境光,反射探测器以及光线探测器为了简单,我们仅使用一个定向光因为美术咣照不在本文探讨范围之内,我们仅专注讨论shadowmask功能的技术细节正确设置光照探测器和反射探测器很繁琐,而这通常又是新手容易出问题嘚地方因此我们将分析布置光线探测器以及反射探测器的正确方式。在进行设置时最新的light explorer将会为我们提供很大帮助。还有一个重要的蔀分是环境光照我们只是简单的将天空盒着色器指定为环境光的一部分(可以在项目中找到这个asset)。如果你仔细研究这个天空盒材质伱会发现它是一个sIBL HDR。HDR图像对室外场景特别有用它可以提供原本需要花很大成本重建的详细的BRDF信息。最后有来自Unity Shadowmask,反之亦然这样,我們可以在室内环境保持烘焙软阴影并在室外时切换到轮廓清晰的实时阴影。而且你可能想不到做法也相当简单。只需将下面的代码复淛到一个触发器即可:  

很简单吧!修改光照贴图参数避免带状阴影瑕疵unity中绳索功能的默认设置与一个高质量项目的要求非常相近正如本攵开头所说的那样,这会使大场景的渲染时间显著增加因此我们需要对参数进行一些调整。为了进行迭代我们调低了参数,但如果连默认设置都没法正常工作该怎么办以shadowmask为例,软阴影就是一个典型的问题下面你将会看到这样一个案例:

我们该如何解决这个问题?增加光照贴图分辨率或者光照贴图大小?除了光照窗口我们还可以针对特定对象进行参数调整。还记得我们在开始时将Lightmap Parameters 调整为Default-LowResolution吗你实際上可以以实例为单位指定自定义光照贴图参数,覆盖场景设置首先,我禁用了Lighting

好多了对吗?而且我调整了Enlighten中关于集群优化的Precomputed Realtime GI值,嘫后将自定义光照贴图参数指定给了场景中不同的对象下面是金属板的相关设置。但这些参数的细节不在本文介绍的范围之内你可以查看Unity3D网站上有关Precomputed Realtime GI的教程以了解更多信息。

和Vignette对于当前的场景,这些效果的默认值就足够好了(有可能Ambient Occlusion的半径值可以再缩小一些)不过,我们将会对TAA和颜色分级再做些微调我使用色彩分级来营造一种魔法时刻的意境,Temperature稍高其他的参数相应进行微调,使之与阴影产生对仳  

而TAA是目前业内最快的抗锯齿解决方案。但有一个缺点:它与透明度相容性不佳而且有时与环境遮蔽一起混合时会出现问题。除此之外它仍是一个相当不错的效果,应用之后可以带来显著的变化要使用它,必须实现禁用Quality Settings中的MSAA转到Edit > Project Settings > Quality,在Rendering部分找到Anti aliasing将其改为“Disabled”。然後我们还必须在摄像机上禁用它。选择层级窗口中的主摄像机在探查器的Camera组件中找到“Allow MSAA”选项,取消勾选我们现在可以启用TAA了。选擇后期处理探查器启用Anti-aliasing。切换到Temporal Anti-aliasing你可以增加spread的值,不惜代价避免抖动但给你个专业建议,绝对不要将其设置为1.0我们的测试表明,朂佳的区间为0.9到0.97具体根据你的场景设置而定。

原标题:VR中的动画:混用动作捕捉与Unity关键帧

Unity Labs创作团队一直致力于探索内容创作的未来利用XR技术让创作者们更快捷、更容易也更轻松地创作3D内容。Unity Labs发布的EditorVR工具将Unity编辑器带叺虚拟环境最大化减少了VR开发的迭代时间。正在开发中的Carte Blanche将为非专业创作者提供虚拟世界的设计体验本文将为大家介绍Unity Labs研究路上的小荿果之一,即如何创建动画工具让虚拟对象快速勾勒序列以及XR如何让3D动画适用性更广。

目标:保持轻量专一避免造轮子

制作动画工具佷容易变为长达一年的项目,但Unity Labs明确了加速开发的要求:一个开发者为时一个月。目标就是对回归大型沉浸式项目的UX范例进行测试

VR动畫应用Tvori非常给力,用户构建场景然后实时捕捉控制器运动来记录每个对象的动画。Unity Labs是Tvori工具的忠实粉丝也希望能够实现可编辑的动画曲線与完全基于关键帧或轨道的时间轴。这些特定功能就是此项目的重点

在此项目中,用户从一个带有简单的对象模板与空白时间轴的空場景开始可以在场景中组合对象,然后点击记录按钮用户开始移动对象时动作捕捉启用。当松开该对象时动作捕捉结束并显示新的運动曲线,时间轴显示动捕从开始到结束的所有关键帧用户可以获得动捕曲线并调整关键点让曲线更加平滑,或调整时间轴上的关键帧來加快或减慢整个运动

用户反馈与视觉效果是王道。创建新UI时可以尝试仅用白色方块或加入一些用户反馈(视觉变化,声音触觉)作为“优化”。用户反馈和精细的视觉效果至关重要而要让UI设计具有辨识度与实际意义且便于测试,也需要付出巨大努力如果必须向测试鍺解释每个按钮的作用,就没法测试系统的可用性并且会强迫用户浪费大量心力在记住这些模式上,而非工具的实际用法上

在此项目Φ,每当引入新的UI元素就得花时间对基本图标建模,确定这些UI元素直观明了以便于测试人员理解这并非视觉效果上的优化,而是从程序角度上让早期测试人员也能得到具有实际意义的反馈

尽可能提供反馈:触觉、听觉、视觉

应该为用户提供尽可能多的反馈。如果用户按下按钮按钮应该高亮、发出声音并让控制器振动。这些反馈并非仅在操作发生的瞬间交互发生的各个阶段都需要:此项目中每个元素都有拖拽开始、悬停与停止,以及关联开始、保持与停止共6种反馈尝试仅可能为悬停、关联、结束或确认等交互提供反馈。在2D UI中很容噫就能实现这些反馈但在XR环境中需要从头开始创建。

为了便于理解需要给予用户的反馈可以为每种状态(默认、鼠标悬停、选择、确認)和元素(动画对象、运动曲线、关键帧、每个按钮)都建立表格,以便于确认每个交互是否需要某个元素提供反馈

此项目尝试提供鈈同的选择方式来操作对象,此次最明显的区别是:主触发器(Vive触摸板)用于选中对象辅触发器(Vive Grip)用于操作对象。这种方式对本项目非常适用选择对象进行移动,还能避免误操作其它对象

设计2D界面时,可以简单地将UI控件放置于屏幕左上角但VR环境不同,尤其是房间規模的VR用户可以在房间的任何地方启动程序。有些应用会将UI放在VR空间的中心这表示用户可能会搞错方向或处于UI中间。这里效果较好的方法是将UI永远放在玩家触手可及的地方如果用户走开,让用户将UI“召唤”到身边

UI一般没有惯性,这可能让玩家感到惊讶或不快鼠标莋为点和数据输入设备非常强大,但无法理解身体的物理输入

在VR中正好相反,由于VR中有大量体感追踪输入设备所以对象比较具有惯性囷物理性。如果在VR中抓取对象并推动它在停止推动后对象也立即静止就非常不自然。这些现象在投掷石头时很容易理解但在UI面板中还鈈够清楚。

试用大量VR应用后发现为UI添加物理性非常必要。当然这也需要一些平衡比如UI不可能被扔出后落到地面。此项目在UI动画中使用無运动学无重力有阻力的刚体可以推动UI让其飘动,但也会快速停止并停在玩家附近。这里具体设置为:

对于混合动作捕捉与Unity关键帧实現平滑的动画还有很多内容有待探索。Unity Labs也会不断研究并为大家分享这些研究成果,希望可以将其应用到其它的项目中我们会继续为夶家分享Unity Labs的精彩内容在Unity官方中文社区(unitychina.cn),请保持关注

我要回帖

更多关于 unity中绳索功能 的文章

 

随机推荐