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街机中,作者喜欢制作小型视频游戏,php源码短网喜欢街机,也喜欢虚拟现实,因此将所有这些元素混合在一起。首先,您可以查看多年前移植的原始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视频通常是jemalloc 源码调试°全景拍摄,允许用户上下左右观看,但移动不会影响视觉效果。而纯虚拟世界则由实时渲染的三维图形构建,允许用户自由移动并观察视角变化带来的不同效果。此外,构建虚拟世界需要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系统,它可以让你在不触及任何代码的情况下创建游戏逻辑。它足够先进,您可以创建整个游戏,甚至是复杂的游戏,而无需打开源编辑器。但是如果你想编写自己的蓝图代码,你也可以这样做。