2016-06-22 19:55:06 u012801940 阅读数 4304
  • 从这里开始虚幻4-Editor介绍 v4.18

    本课程系列取名英译系列,是录制人员参考国外英文原版经典教程,结合中国人的习惯录制而成。希望能够给大家以帮助。从这里开始虚幻4系列教程,是Unreal的官方发布的入门教学,非常经典,是学习Unreal的佳入口。

    2706 人正在学习 去看看 杨石兴

最近开始使用SteamVR(HTC Vive)+Unreal4做VR开发,平时有空的时候就把开发过程中一些心得写一下。

现在国内这两个开发方向的资料真心不多,自己想查些什么也是国外各种找博客论坛视频看文档,什么语言的都有,感觉很辛苦,记录这些希望能为后人提供帮助。


靠着老板的实力,硬件配置这边应该算是非常不错了。老板特意买了块1080显卡,再有i7 6700K加32G内存和全固态,真是非常享受。另外再就是好几台Vive设备了。


目前在做的东西,可能会需要用到多个手柄,所以N多台Vive设备也就有作用了~这次就记录下超过两个Vive手柄的识别注意事项。


正常来说,Vive只用两个手柄,SteamVR程序中默认只识别两个无线连接的手柄,如图


如果想在一台PC机上识别两个以上的手柄,现在来说只能使用usb线将另外的手柄连接到电脑上让SteamVR识别,这一点也询问过HTC官方了。而且在识别的时候需要注意配对的问题,也就是一次只能配对两个手柄,区分好左右手柄。具体连接时应该如下操作:

1.先不打开任何手柄,所有手柄都处于关闭状态,除手柄外其他设备就绪后,拿两个手柄通过无线连接,按下手柄按钮直接连接。(这两个手柄设备ID号到Unreal4中应该为0,且为默认的motion controller组件所识别,这个后面详细讨论)

2.再使用数据线将另外的两个连接到电脑,SteamVR会再识别这两个手柄,程序会再多出两个手柄图标。(设备ID号应该为1)

3.同样的再继续连接其他手柄,注意一定要两个两个连接,不要一次把所有的手柄都开启电源,让SteamVR识别,不然麻烦区分哪两个是配对的,而且会容易导致配对的时候出现:一次只能配对两个手柄的提示,这时候就可能需要重启SteamVR全部重新识别。


再来到Unreal4中,这里需要注意一点:必须先开启SteamVR,再打开Unreal4编辑器,否则SteamVR会打不开。而且在SteamVR退出的时候,Unreal4编辑器也会自动关闭,文件还不会保存,所以要注意保存操作的文件。

Unreal4中比较常用的方便的识别手柄的方法就是为Actor添加motion controller组件了,如图:


其属性详情里面特有的如下:


其中需要标识下左右手,另外其坐标位置完全在其父组件坐标系下由实际位置决定,所以在编辑器中调整坐标是没有用的,在一开始的时候就可以把头盔手柄什么的坐标位置都设置为0。

快速显示出手柄的效果操作如下:

1.为你的主角Actor,Pawn,Character添加两个MotionController组件,标识好left和right。

2.为了能够在游戏中显示出手柄位置,可以为MotionController组件添加一个StaticMesh渲染出其位置效果

3.点击在虚拟现实中预览就能看到手柄位置了,同时你也可以打印下其坐标位置或者按你的需求做其他功能了。


到这一步还是普通的使用两个手柄时的操作,如果要识别两个以上手柄,MotionController组件就不能识别其余的手柄了,其只能识别SteamVR中最先识别配对的两个手柄,所以之前在SteamVR中识别手柄的顺序很重要,两个无线的手柄最好最先被识别,其余的用线。

剩余的手柄就需要靠提供的接口来识别了,如图蓝图函数:




扩展的插件函数中的Get Hand Position and Orientation通过给的Controller Index也就是手柄索引号和hand也就是左右手标记来获取这个手柄的Positon和Orientation。Controller Index为之前在SteamVR中两两配对的手柄顺序号,两个配对的手柄为相同的Index,通过hand参数区分。


到此就能识别多个手柄并获取其基本的坐标和角度值,目前HTC Vive和Unreal4设计上还是只想支持两个手柄的功能,在识别多个手柄上,肯定还是有不少容易出错的地方,目前我遇到有SteamVR中,如果有手柄电源关了,再想重新识别配对的话,就得重启SteamVR了。还有在Unreal4中,多个手柄识别下,按手柄的一些按键会让编辑器崩溃等等。所以想一次使用两个以上手柄开发还是有许多先天不足的,希望Vive官方能够把LightHouse定位技术做出更多成熟的应用出来。

最后再推荐youtube上不错的VR开发教学视频,其在GitHub上还有不错的演示工程,可以学习下~

https://www.youtube.com/channel/UChvlNUgZKmEd-Gul_Tdv8Uw

2017-09-15 11:30:31 intel_news 阅读数 198
  • 从这里开始虚幻4-Editor介绍 v4.18

    本课程系列取名英译系列,是录制人员参考国外英文原版经典教程,结合中国人的习惯录制而成。希望能够给大家以帮助。从这里开始虚幻4系列教程,是Unreal的官方发布的入门教学,非常经典,是学习Unreal的佳入口。

    2706 人正在学习 去看看 杨石兴

虚拟现实(VR)能够带给用户前所未有的沉浸体验,但同时由于双目渲染、低延迟、高分辨率、强制垂直同步(vsync)等特性使VR对CPU渲染线程和逻辑线程,以及GPU的计算压力较大[1]。如何能有效分析VR应用的性能瓶颈,优化CPU线程提高工作的并行化程度,从而降低GPU等待时间提升利用率将成为VR应用是否流畅、会否眩晕、沉浸感是否足够的关键。Unreal* Engine 4 (UE4) 作为目前VR开发者主要使用的两大游戏引擎之一,了解UE4的CPU线程结构和相关优化工具能够帮助我们开发出更优质的VR应用。本文将集中介绍UE4的CPU性能分析和调试指令、线程结构、优化方法和工具、以及如何在UE4里发挥闲置CPU核心的计算资源来增强VR内容的表现,为不同配置的玩家提供相应的视听表现和内容,优化VR的沉浸感。

本文已发表于《程序员》杂志2017年08月期,如需转载,可与《程序员》联系。

为何要把PC VR游戏优化到90fps

Asynchronous Timewarp(ATW),Asynchronous Spacewarp(ASW)和Asynchronous Reprojection等VR runtime提供的技术可以在VR应用出现掉帧的时候,以插帧的方式生成一张合成帧,等效降低延时。然而,这些并不是完美的解决方案,分别存在不同的限制…查看全文

了解更多相关内容,请关注CSDN英特尔开发专区

Intel技术双周刊已全面开启:订阅请点击这里

2017-12-14 17:14:04 cover_se 阅读数 385
  • 从这里开始虚幻4-Editor介绍 v4.18

    本课程系列取名英译系列,是录制人员参考国外英文原版经典教程,结合中国人的习惯录制而成。希望能够给大家以帮助。从这里开始虚幻4系列教程,是Unreal的官方发布的入门教学,非常经典,是学习Unreal的佳入口。

    2706 人正在学习 去看看 杨石兴

作者:王文斓

虚拟现实(VR)能够带给用户前所未有的沉浸体验,但同时由于双目渲染、低延迟、高分辨率、强制垂直同步(vsync)等特性使VR对CPU渲染线程和逻辑线程,以及GPU的计算压力较大[1]。如何能有效分析VR应用的性能瓶颈,优化CPU线程提高工作的并行化程度,从而降低GPU等待时间提升利用率将成为VR应用是否流畅、会否眩晕、沉浸感是否足够的关键。Unreal* Engine 4 (UE4) 作为目前VR开发者主要使用的两大游戏引擎之一,了解UE4的CPU线程结构和相关优化工具能够帮助我们开发出更优质基于UE4的VR应用。本文将集中介绍UE4的CPU性能分析和调试指令、线程结构、优化方法和工具、以及如何在UE4里发挥闲置CPU核心的计算资源来增强VR内容的表现,为不同配置的玩家提供相应的视听表现和内容,优化VR的沉浸感。

UE4 VR应用的CPU差异化

上面介绍了几种VR应用的CPU优化技巧,然而优化只能保证VR应用做到不掉帧不眩晕,没法进一步提升体验。如果要提升VR体验,必须尽可能最大程度利用上硬件提供的计算能力,把这些计算资源转化成内容、特效及画面表现提供给最终用户,而这就需要根据计算能力对CPU提供相应的差异化内容。下面介绍其中五种CPU的差异化技巧。

布料模拟
UE4的布料仿真主要通过物理引擎分到工作线程进行计算,对逻辑线程影响较小。而且布料模拟是每帧都需要计算的,即使布料不在画面显示范围内,也需要进行计算来决定更新后会否显示到画面中,因此计算量比较稳定,可以根据CPU能力适配对应的布料模拟方案[17]。

可破坏物件

可破坏对象在UE4里也是通过物理引擎分到工作线程进行破坏模拟计算的,因此对于计算能力较高的CPU这部分可以加强,比如更多对象可以被破坏、破坏时出现更多碎片或者碎片在场景中的存在时间更长等。可破坏对象的存在会大大加强场景的表现以及沉浸感,设置过程可以参考[18]。

CPU粒子

CPU粒子是另一项比较容易扩展的模块,虽然从粒子数目来说CPU粒子较GPU粒子少,但采用CPU粒子能降低GPU的负担,较好地利用多核CPU的计算能力,而且CPU粒子具备下列独有的功能:

  1. 可发光
  2. 可设置粒子材质及参数(金属、透明材质等)
  3. 可受特定引力控制运动轨迹(可以受点、线或者其他粒子的吸引)
  4. 能产生阴影

开发过程中可以对不同CPU设置相应的CPU粒子效果。

3D音频 – Steam* Audio

对于VR应用来说,除了画面外制造沉浸感的另一个重要元素就是音频,具有方向性的3D音频能够增强VR体验的临场感,Oculus*曾经推出Oculus* Audio SDK[19]来模拟3D音频,但该SDK对环境音效的仿真比较简单,相对并不普及。Steam* Audio[20]是Valve*新推出的一套3D音频SDK,支持Unity* 5.2以上的版本及UE 4.16以上的版本,同时提供C语言接口。Steam* Audio具备下面几项特点:

  1. 提供基于真实物理模拟的3D音频效果,支持头部相关传输函数(Head-Related Transfer
    Function,HRTF)的方向音频滤波以及环境音效(包括声音遮挡、基于真实环境的音频传递、反射及混音等),另外也支持接入VR头显的惯性数据
  2. 能够对场景中每个对象设置音效反射的材质及参数(散射系数、对不同频率的吸收率等),环境音效的仿真可以根据CPU的计算能力采用实时或烘焙的方式处理
  3. 环境音效中很多设置或参数都可以根据质量或性能要求做调整。例如HRTF的插值方法、音频光线跟踪的数目和反射次数、混音的形式等
  4. 相对于Oculus* Audio SDK只提供鞋盒式的环境音效仿真(shoebox model)而且不支持声音遮挡,Steam*
    Audio的3D音频模拟更真实而且完整,可以提供更精细的质量控制
  5. 免费且不绑定VR头显或平台

Steam* Audio从UE4的逻辑线程收集音源及收听者的状态和信息,通过工作线程进行声音的光线跟踪及环境反射模拟,将计算出来的脉冲响应(impulse response)传送到音频渲染线程对音源进行相应的滤波和混音工作,再由OS的音频线程输出到耳机(例如Windows*的XAudio2)。整个处理过程都是由CPU的工作线程进行,在加入3D音频的同时并不会增加渲染线程和逻辑线程负载,对原来游戏的性能并不会造成影响,可以说是非常适合VR的一项体验优化。详细的设置过程可以参考Steam* Audio的说明文檔[21]。

可扩展性

UE4的可扩展性设置是一套通过参数调节控制画面表现的工具,能适配不同计算能力平台[22]。对CPU来说,可扩展性主要体现在下面几项参数设置上:

  • 可视距离(View Distance): 距离剔除缩放比例(r.ViewDistanceScale 0 – 1.0f)
  • 阴影(Shadows): 阴影质量(sg.ShadowQuality 0 - 3)
  • 植被(Foliage): 每次被渲染的植被数量(FoliageQuality 0 - 3)
  • 骨骼网格体LOD偏差(r.SkeletalMeshLODBias): 全局控制骨骼网格体的LOD等级偏差
  • 粒子LOD偏差(r.ParticleLODBias): 全局控制粒子LOD等级偏差
  • 静态网格体LOD距离缩放(r.StaticMeshLODDistanceScale): 全局控制静态网格体的LOD等级偏差

图6 - 8分别显示了腾讯*<<猎影计划>>这款VR游戏对不同CPU的植被、粒子和阴影差异化效果。

图片描述图 6.《猎影计划》中的植被差异化效果。
图片描述
..
查看原文


了解更多相关内容,请关注CSDN英特尔开发专区

2017-09-15 11:32:33 intel_news 阅读数 139
  • 从这里开始虚幻4-Editor介绍 v4.18

    本课程系列取名英译系列,是录制人员参考国外英文原版经典教程,结合中国人的习惯录制而成。希望能够给大家以帮助。从这里开始虚幻4系列教程,是Unreal的官方发布的入门教学,非常经典,是学习Unreal的佳入口。

    2706 人正在学习 去看看 杨石兴

虚拟现实(VR)能够带给用户前所未有的沉浸体验,但同时由于双目渲染、低延迟、高分辨率、强制垂直同步(vsync)等特性使VR对CPU渲染线程和逻辑线程,以及GPU的计算压力较大[1]。如何能有效分析VR应用的性能瓶颈,优化CPU线程提高工作的并行化程度,从而降低GPU等待时间提升利用率将成为VR应用是否流畅、会否眩晕、沉浸感是否足够的关键。Unreal* Engine 4 (UE4) 作为目前VR开发者主要使用的两大游戏引擎之一,了解UE4的CPU线程结构和相关优化工具能够帮助我们开发出更优质基于UE4的VR应用。本文将集中介绍UE4的CPU性能分析和调试指令、线程结构、优化方法和工具、以及如何在UE4里发挥闲置CPU核心的计算资源来增强VR内容的表现,为不同配置的玩家提供相应的视听表现和内容,优化VR的沉浸感。

UE4 VR应用的CPU优化技巧

当VR开发的过程中遇到CPU性能问题时,除了需要找出瓶颈所在,还要掌握UE4里能够帮助优化这些瓶颈的工具,熟知每个工具的用法、效果和差异才能选取最合适的优化策略,快速提高VR应用的性能。在这个章节我们会集中讲解和介绍UE4的这些优化工具…查看全文

了解更多相关内容,请关注CSDN英特尔开发专区

Intel技术双周刊已全面开启:订阅请点击这里

unreal4 源码引言

阅读数 291

没有更多推荐了,返回首页