1.Babylon.js实战元宇宙/WebXR
2.XR VR AR monado oculus quest pico性能分析工具综述
3.VR虚拟现实技术分享
4.前微软Windows 10 Insider预览计划主管Gabe Aul加入Facebook Oculus部门会带来什么?
5.剖析虚幻渲染体系(15)- XR专题(02)
6.游戏开发工具哪个好
Babylon.js实战元宇宙/WebXR
从虚拟现实(VR)音频实验到在街机上创建虚拟现实休闲游戏,源码再到使用增强现实(AR)或虚拟现实创建更严肃的源码协作方式,本文将深入探讨今天在虚拟世界中能够实现的源码各种可能性。本文将分享作者使用Babylon.js构建沉浸式或增强现实WebXR体验的源码多个有趣实验,以及更严肃的源码业务场景。您将能够通过试验和阅读每个演示的源码药品订购系统 源码源代码来学习。如果您没有兼容的源码设备,本文将分享一些后备方案,源码并提供使用Valve Index、源码Oculus Quest 2或HoloLens 2的源码视频。
Babylon.js是源码一个免费的开源3D引擎,基于WebGL和WebGPU构建。源码它开箱即用地支持Web音频和WebXR,源码这意味着您可以专注于构建体验或游戏,源码而无需担心许多Web API的源码复杂性。
WebXR是一种支持虚拟现实和增强现实场景的Web API,作者期待它在构建网络元宇宙时成为主要构建块。要使用WebXR,您需要一个兼容的设备,如Valve Index、Oculus Quest 2、Windows Mixed Reality头戴式设备、HoloLens 2或任何与SteamVR兼容的VR头戴式设备,以及用于AR的Android智能手机或HoloLens 2。对于浏览器,您需要基于Chromium的浏览器,如Google Chrome、Microsoft Edge、Opera、Samsung Internet、Chrome for Android或Oculus浏览器。
Babylon.js提供了一行代码即可提供完整的VR体验,它将转换现有的场景VR兼容,提供远传(teleport)能力(您需要提供充当地板的网格的名称)并将显示当前使用的控制器的正确模型。例如,要沉浸在著名的《回到未来》序列中,请导航至特定URL并查看代码。由于这行代码,您会发现奇迹发生了:其中2个对象可以支持传送目标:“Road1”和“Herbe1”。如果您连接了兼容的浏览器和WebXR兼容设备,您会在右下角看到一个VR图标。
如果您没有兼容的设备,可以尝试安装名为“WebXR API Emulator”的Chrome扩展程序,它将模拟WebXR设备。打开开发者工具,您就可以模拟某人使用VR头戴式设备。下面的视频展示了在Windows 上使用Valve Index的完整体验。
在VR街机中,作者喜欢制作小型视频游戏,无心彩虹全套源码喜欢街机,也喜欢虚拟现实,因此将所有这些元素混合在一起。首先,您可以查看多年前移植的原始2D Canvas游戏。然后,作者简单地使用这个2D画布在Babylon.js的3D画布中的2D平面上渲染它。事实上,您必须在WebGL画布中渲染所有内容,以便在VR中查看元素并与之交互。经典HTML元素不会投影到VR中的3D画布中。Babylon.js通过动态纹理支持2D画布。然后,只需要将飞机放在街机模型的顶部。作者从Sketchfab下载了模型。如果需要帮助定位场景中的对象,强烈建议使用检查器工具。
虚拟 VR钢琴是另一个例子,作者喜欢作曲,也喜欢虚拟现实,因此将两者结合起来。您可以尝试使用平面2D屏幕,但要使其在VR中运行,只需取消第行和第行的注释。然后,相机将位于钢琴的中心。当然,WebXR不仅仅是为了娱乐和游戏体验。今天,它可能更多地用于“严肃”场景,尽管对于作者来说,游戏是一项严肃的业务。
WebXR及其AR功能对于电子商务场景非常有趣。作者鼓励您阅读Babylon.js博客上的一篇文章:WebXR、AR和电子商务:初学者指南。它包含一个演示,您可以在Android智能手机(或HoloLens 2)上试用。视频可以在这里观看。
作者最近还致力于构建一个“元宇宙”演示,在演示中,他们能够使用Azure通信服务(一种运行在WebRTC之上的CPaaS)从VR场景中使用Microsoft Teams呼叫某人。这个想法是为了试验一个概念,例如,您可以在Microsoft Teams连接的销售代表的帮助下参观房屋。下面是使用Valve Index设备的演示视频。
作者首先在Babylon.js Playground中构建了一个原型,您可以在其中导航到场景,按下“呼叫”按钮并体验一段假视频,动态壁纸源码下载还可以单击Oculus控制器的“A”按钮,将视频放在左侧控制器的顶部。然后,作者集成了ACS JavaScript SDK,以通过Microsoft Teams的ACS基础设施流式传输视频。您可以通过示例尝试并阅读作者GitHub仓库中的代码。在不到分钟的时间内部署一个Azure通信服务示例,以便与您的同事和朋友共享和测试。完整的设置说明可以在自述文件中找到。
XR VR AR monado oculus quest pico性能分析工具综述
本文综述XR、VR、AR领域的性能分析方法,重点介绍Monado、Oculus Quest、Pico等工具的性能分析技术。Monado性能分析工具包括Metrics源码库,其指标定义与写入功能通过环境变量`XRT_METRICS_FILE`实现运行。
Metrics源码库位于gitlab.freedesktop.org,提供指标数据读取和可视化功能。使用cmd.py脚本读取指标pb文件,可视化指标信息。
渲染分析工具RenderDoc通常通过hook现现函数捕获帧数据,以识别应用程序帧渲染过程。对于OpenXR应用程序,RenderDoc API允许捕获xrBeginFrame和xrEndFrame之间的应用程序帧,无需修改应用程序代码。
Monado提供了PerCetto和Tracy两种性能追踪后端。PerCetto是Monado性能追踪的基础,通过一个轻量级的C语言封装实现与Perfetto SDK的集成,用于应用特定的追踪。
Tracy工具则针对Linux和Windows系统,支持实时数据流查看,仅能同时跟踪一个应用。而Perfetto则支持Linux和安卓系统,同时执行多个进程和系统级跟踪。
Monado还提供了其他性能分析工具,如Compositor的FPS指标、Frame Times、Readback等功能,帮助优化OXR_DEBUG_GUI工作流程。此外,Monado支持使用Android GPU Inspector进行GPU性能分析。
此外,Oculus提供了OVR Metrics Tool,结合RenderDoc和Logcat VrApi日志,实现Oculus应用程序的性能监控。Snapdragon Profiler和ovrgpuprofiler提供GPU性能数据。OVR Metrics Tool提供报告模式和性能HUD模式,袋鼠投资源码支持高级性能指标显示。
Pico Metrics Tool是Pico设备上的性能监控工具,提供实时监控和指标更新功能。不同版本更新了性能监控和实时分析工具的特性与性能指标。
总结,这些工具通过跟踪、指标、日志分析等手段,为XR、VR、AR应用提供性能优化与分析支持。通过Perfetto、Tracy、RenderDoc等工具,开发者能够深入了解系统性能瓶颈,优化应用表现。Pico Metrics Tool等实时监控工具则帮助用户直观了解设备运行状况,提升用户体验。
VR虚拟现实技术分享
近年来,VR技术成为热门话题,各类VR设备层出不穷。本篇将从多个角度探讨VR技术。
首先,简要介绍VR技术及其与AR、MR的区别。VR指的是构建的纯虚拟世界,用户需佩戴眼罩以替代真实世界的三维环境。AR则允许用户在不完全遮挡视线的情况下看到叠加的虚拟信息,通常通过半透明玻璃眼罩实现。从技术实现角度看,两者都需要关注人与世界的交互,但VR关注的是构建全新的虚拟世界,而AR则需理解真实世界以在其中叠加虚拟元素。
接着,阐述了MR的概念,即高级版AR。初级AR仅在真实世界中添加标签或附属物,而高级AR则将真实世界的物体替换为虚拟世界中的物体,为用户提供全新的体验。从应用角度看,VR适用于娱乐体验,如游戏、**;AR则可用于标签实物、地图导航和工业设计;而MR在工程、辅助操作等领域具有广泛的应用前景。
关于VR内容,大体分为VR视频和纯虚拟世界两类。VR视频通常是口袋觉醒源码免费°全景拍摄,允许用户上下左右观看,但移动不会影响视觉效果。而纯虚拟世界则由实时渲染的三维图形构建,允许用户自由移动并观察视角变化带来的不同效果。此外,构建虚拟世界需要3D引擎和全景视频采集技术,摄像头作为眼睛,需要进行运动感应和空间定位。
VR设备分为基于手机的眼罩和独立VR设备两类。手机VR眼镜通过放大镜片实现成像,依赖手机进行交互和渲染,成本低、普及快,但性能有限。独立VR设备则具备强大硬件,如显示器、传感器和交互设计,提供沉浸式体验,代表产品包括Oculus Rift、HTC Vive和Sony PlayStation VR。
VR开发主要基于Unity和Unreal Engine等3D开发引擎。Unity配置简单、易于上手,资源丰富,但渲染效果不佳且不支持编辑材质,不开放源代码。而Unreal Engine则拥有优秀的渲染画质、材质编辑功能,但学习曲线较陡峭,文档不如Unity丰富。SteamVR SDK提供与VR硬件的交互接口,Vive Input Utility则允许访问Vive设备状态,如Vive Tracker。
Unity3D作为VR开发的首选平台,支持跨平台部署,资源为中心的开发模式。场景是虚拟世界的构建基础,基于组件的开发模式允许物体、属性、代码和材质等以组件形式存在。Inspector窗口显示对象的属性和组件。Material定义物体显示方式,Shader则控制渲染效果。Prefab提供预设的物体模板。代码通过MonoBehaviour组件编写,Mesh则表示三维模型的表面。
Camera作为视角载体,EventSystem负责事件处理,Mesh Renderer和Mesh Filter联合使用显示3D模型。编程语言方面,Unity3D支持C#和JavaScript,C#可通过Mono实现与C/C++/OC库的集成。
前微软Windows Insider预览计划主管Gabe Aul加入Facebook Oculus部门会带来什么?
前微软Windows Insider预览计划的关键人物Gabe Aul已加盟Facebook Oculus部门,担任副总裁。
Gabe在微软期间曾担任Windows工程系统团队的项目管理CVP,自年起,他引领团队完成了重大改革。他们成功将源代码控制系统从过时的Source Depot转换至Git,开发出适应大规模仓库的新技术。同时,Gabe推动了软件工程实践的现代化,包括引入持续集成、简化分支结构,以及将测试和质量验证融入开发流程,显著提升了工程系统在构建和验证方面的可靠性和扩展性。 作为Windows Insider计划的前任负责人,Gabe在位个月后由Dona Sarkar接替。在宣布加入Facebook的这一天,他表示对新的职业生涯充满期待,对支持他的Windows Insiders表示感谢。 值得注意的是,Gabe的职责将主要集中在Facebook的Oculus部门,这预示着Facebook与微软在混合现实领域的合作可能进一步深化。两家公司在新兴技术领域已建立合作关系,我们期待Gabe在Facebook的新篇章中带来积极的影响。 无论未来如何发展,我们都祝愿Gabe在Facebook的新征程中取得辉煌的成就,为混合现实领域带来更多的创新和精彩。剖析虚幻渲染体系()- XR专题()
虚幻引擎(UE)在渲染体系中对XR技术的支持,从UE3时代开始,就已通过节点图提供了VR渲染功能,支持不同的渲染管线组件配置,以实现特定VR技术效果。例如,配置材质编辑器(Material Editor)以支持红青色立体感,可扩展到其他立体编码,如用于偏振立体显示的隔行扫描图像。
截至今日,UE4.版本及以上已全面支持AR、VR、MR等技术,兼容Google、Apple、微软、Maigic Leap、Oculus、SteamVR、三星等XR平台,以及OpenXR标准接口。
在UE的移动端渲染分析中,UE的Multi-View功能可通过界面开启,由控制台变量vr.MobileMultiView控制,对于不同图形API,UE有相应的处理代码,并在Shader代码中添加MOBILE_MULTI_VIEW关键字以启用移动端多视图。
固定注视点渲染在UE的工程设置中可开启,控制台变量vr.VRS.HMDFixedFoveationLevel用于控制,对应Shader代码中实现该功能。
OpenXR插件作为UE内置插件,可在插件界面启用,UE涉及的重要类型和接口如FOpenXRARSystem、FOpenXRHMDPlugin等,它们的关联与UE主循环的集成在代码中实现。
对于Oculus VR,其XR插件源码在GitHub上提供,UE 4.版本内置了Oculus插件代码,插件内实现了UE的XR类型。
在VR优化方面,针对帧率优化、体验优化和性能检测,UE提供了多种策略。例如,控制VR帧率,禁用影响VR应用的一般项目设置;采用最佳实践限制不适感,避免使用问题渲染技术;通过内存桶配置优化纹理流送,调整纹理LOD组以适应不同设备;优化rhi.SyncSlackMS和r.GTSyncType以改善帧同步性能;以及使用第三方工具如Oculus HMD内置的性能分析工具进行性能监控。
UE的XR优化策略涉及多方面,旨在提高用户体验和性能,开发者需结合具体需求进行深入研究和调整。
游戏开发工具哪个好
你对一款酝酿多年的游戏有什么想法吗?即使没有任何游戏开发经验,如果你能将这个想法变为现实怎么办?如今,任何人都可以使用合适的软件和一些专业知识制作视频游戏。当然,这并不意味着游戏开发很容易。但是,由于免费的游戏开发软件工具,一个曾经花费一年时间制作的游戏现在可以在几个月或几天内制作 - 有时甚至没有任何代码!
这里有最好的免费游戏开发工具和软件,您可以用来开始制作今天的梦想游戏。
注意:此列表按从最简单到最复杂的顺序排序。更简单的免费游戏开发工具更容易上手,但有更多限制。当你在列表中,你将获得更多的灵活性,更便捷的学习曲线。
1.Construct 3
无需编程:如果您从未在生活中编写过一行代码,那么构造3是最佳选择。这个游戏开发工具完全由GUI驱动,这意味着一切都是拖放式的。游戏逻辑和变量使用应用程序本身提供的设计功能实现。
创建一次,随处发布:Construct 3的优点在于它可以导出到几十种不同的平台和格式,您无需在游戏中更改任何内容以适应这些不同的选项。游戏完成后,您可以导出到HTML5,Android,iOS,Windows,Mac,Linux,Xbox One,Microsoft Store等。
2. GameMaker Studio 2
拖放OR代码:与Construct 3一样,GameMaker Studio 2允许您使用其变量和游戏逻辑的拖放界面创建整个游戏。但与Construct 3不同,GameMaker Studio 2通过其Game Maker语言赋予更多功能,Game Maker语言是一种具有很大灵活性的类C语言脚本语言。
创建一次,随处发布:游戏完成后,您可以导出到任意数量的平台和格式,而无需调整代码:Windows,Mac,Linux,HTML5,Android,iOS,Nintendo Switch,PlayStation 4,Xbox One等。遗憾的是,免费版本不允许导出到任何平台。
悠久的历史:GameMaker Studio 2是Game Maker:Studio的重写版本,从年开始。今天,它是目前最流行和最活跃的免费游戏开发引擎之一。具有功能更新的新版本定期发布。
内置高级功能:GameMaker Studio 2非常棒,因为它支持开箱即用的许多有趣的生活质量功能,例如向游戏添加应用内购买的功能,用户如何玩游戏的实时分析,来源通过第三方扩展控制,多人网络和可扩展性。它还具有用于图像,动画和着色器的内置编辑器。
3.Unity
支持2D和3D:Unity最初是一个3D引擎,但最终在年增加了官方的2D支持。尽管它完全能够创建2D游戏,但是你可能遇到偶然的错误或故障,因为Unity的2D系统实际上已经加入其核心3D系统。这也意味着Unity给2D游戏增加了许多不必要的麻烦,这可能会影响性能。
基于组件的设计:Unity没有提出组件实体设计,但它在推广它方面有很大的作用。简而言之,游戏中的所有内容都是一个对象,您可以将各种组件附加到每个对象,其中每个组件控制对象行为和逻辑的某些方面。
广泛的使用和文档:要充分利用Unity,您需要使用C#。好消息是Unity在业余爱好者和资深游戏开发者中得到了广泛的应用,你可以在网上找到数以千计的教程来帮助你入门。Unity本身也为新手提供了许多深入的视频系列,所提供的文档非常出色。
创建一次,随处发布:Unity拥有所有游戏引擎最广泛的出口支持:Windows,Mac,Linux,Android,iOS,HTML5,Facebook,Oculus Rift和Steam VR等各种VR系统,以及PlayStation 4,Xbox One等多款游戏机, Nintendo Wii U和Nintendo Switch。
4.戈多引擎
支持2D和3D:与Unity一样,Godot支持创建2D和3D游戏。然而,与Unity不同,戈多的支持要好得多。引擎的2D方面从一开始就经过精心设计,这意味着更好的性能,更少的错误以及更整洁的整体工作流程。
基于场景的设计:戈多对游戏架构的态度是独一无二的,因为一切都被分为场景 - 而不是你想到的那种“场景”。在Godot中,场景是精灵,声音和/或脚本等元素的集合。然后,您可以将多个场景组合成一个更大的场景,然后将这些场景组合成更大的场景。这种分层设计方法使您可以随时轻松地组织和修改单个元素。
自定义脚本语言:Godot使用拖放系统来维护场景元素,但是这些元素中的每一个都可以通过内置脚本系统进行扩展,该系统使用一种名为GDScript的自定义类似Python的语言。它易学易用,即使您没有编码经验,也应该尝试一下。
创建一次,随处发布:Godot可以立即部署到多个平台,包括Windows,Mac,Linux,Android,iOS和HTML5。不需要额外购买或许可,但可能会有一些限制(例如需要在Mac系统上部署Mac二进制文件)。
内置高级功能:Godot以惊人的速度快速迭代游戏引擎。每年至少有一个主要版本,它解释了它如何拥有如此多的强大功能:物理,后处理,网络,各种内置编辑器,实时调试和热重载,源代码控制等。
5.虚幻引擎4
由行业大师开发:在此列表中的所有工具中,UE4是最专业的。它是由Unreal特许经营背后的天才创建的,他们知道顶级引擎需要什么,以及提供下一代功能需要什么。他们确切地知道他们在做什么。
先进的发动机功能:UE4的驱动原则之一是允许您尽可能快地进行迭代和开发,因此您可以获得诸如实时调试,热重新加载,简化的资产管道,即时游戏预览以及数百种包含的资产和系统(如人工智能,**)等功能工具,后处理效果等。
没有必要的代码:UE4的独特卖点是它的Blueprint系统,它可以让你在不触及任何代码的情况下创建游戏逻辑。它足够先进,您可以创建整个游戏,甚至是复杂的游戏,而无需打开源编辑器。但是如果你想编写自己的蓝图代码,你也可以这样做。