问题标签 [playcanvas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 有没有办法在应用程序中切换前后摄像头
我正在尝试开发一种 web-ar 体验,允许用户在整个体验中在前后摄像头之间切换,同时在使用后置摄像头时使用 SLAM/6dof。理想情况下,我想使用 PlayCanvas,但无法让前置摄像头工作。我在框架中实现了这一点取得了一些轻微的成功,但很多事情都在打破。
我找不到任何有关启用前置摄像头和使用 XR.stop() 的 PlayCanvas 特定文档,然后是 XR.run({canvas: document.getElementById('camerafeed'), cameraConfig: {direction: XR.XrConfig. camera().FRONT}}) 没有任何效果。
在一个框架内,我正在执行类似的事件序列,但我看到了一些结果。前置摄像头被激活,但日志中有错误,3D 对象不渲染(当我们在前置摄像头模式下启动时它们渲染),并且尝试再次切换摄像头显示“糟糕,出了点问题!” 屏幕。
至于切换 SLAM/6dof,我不断收到一个错误,即在 XR.run 执行后我无法更改 disableWorldTracking。即使我已经运行了 XR.stop 函数并监听了 stopxr 事件。
应该切换到前置摄像头的 A 帧功能(只是重要的部分):
在场景运行时更改 disableWorldTracking 参数的正确方法是什么?场景运行时在前后摄像头之间切换的正确方法是什么?
javascript - 画布、iframe 和 HTML 页面之间的 Javascript 函数
我目前正在开发一个 PlayCanvas 项目,该项目将嵌入到幻灯片中的 iFrame 中(Articulate Storyline)。幻灯片应用程序允许我通过以下方式使用 Javascript:
player.SetVar("Result",score);
玩家在哪里:
parent.getPlayer();
该结构最终成为,每个都是前者的孩子:
- 主 html 文件(幻灯片)
- iFrame(与同一域上的源)
- 帆布
- PlayCanvas 应用程序中的 JS 脚本
我的主要问题是我无法在不访问 iFrame 的情况下调用 getPlayer(),但 parent.document.getElementById('') 返回 null。我觉得我忽略了一些非常明显的东西,但我无法让它发挥作用。
提前致谢,如果我的格式/问题不正确,请告诉我,以便我更新帖子!
google-chrome - net::ERR_HTTP2_PROTOCOL_ERROR 用于限制/慢速连接的大型 png 文件
当连接不良时,我在为 playcanvas 应用程序加载大 png 纹理文件时遇到问题。由于某种原因,铬浏览器说请求因 net::ERR_HTTP2_PROTOCOL_ERROR 而失败。我已经使用 Google Chrome(版本 92.0.4515.131)和 Microsoft Edge(版本 92.0.902.67)对此进行了测试。Firefox 没有这个问题并且可以正确加载文件。
我已经搜索了很长一段时间的解决方案,但找不到任何东西。在我看来,这实际上是铬的正常行为。
以下是网络分析选项卡的摘录:
编辑:
经过进一步调查,chrome://net-export
我得到了这个错误:
编辑 2:我为这个错误创建了一个铬问题:https ://bugs.chromium.org/p/chromium/issues/detail?id=1237907
javascript - Firebase 错误帮助(firebase.database 未定义)
我正在使用 playcanvas 引擎制作我的游戏,我想添加登录和拥有的功能,但由于某些奇怪的原因我无法使用实时数据库。我似乎也找不到我正在使用的教程。这是我的代码以及我的参考资料的链接(并非所有参考资料都在主题上。)。
参考1:https ://cdnjs.cloudflare.com/ajax/libs/socket.io/3.1.1/socket.io.min.js
参考 2:https ://www.gstatic.com/firebasejs/8.6.8/firebase-app.js
参考 3:https ://www.gstatic.com/firebasejs/8.6.8/firebase-analytics.js
参考 4:https ://www.gstatic.com/firebasejs/7.2.3/firebase-database.js
webrtc - WebRTC 数据通道类型不匹配
我正在尝试在 playCanvas 中实现 WebRTC 通信,但在建立 Peers 之间的连接时遇到了麻烦。
从本地环境开始,我使用的是 Brave Browser 和 Ubuntu OS,连接已建立,我可以在对等点之间发送消息。以下是使用正确的协议 RTP 创建的正确报价。
这是有效的报价,在本地 PC 上,我可以在对等方之间连接和发送消息。但这仅适用于 Brave 浏览器,如果我打开 Chrome 或另一台带有 Brave 浏览器的 PC,它将无法工作,而且如果我在 playcanvas 上实现 WebRTC,它也将无法工作。
以下是我从报价中获得的数据,我认为这是不工作的主要原因。因为它使用SCTP协议。
这是我在 playcanvas 上收到的错误。
下面是 playcanvas 内部的实现。
我将不胜感激。
javascript - 光标图像在不同分辨率屏幕中的画布位置
我正在尝试制作一个多人游戏,其中用户将在桌面屏幕上玩游戏,并且相同的游戏将显示在多个屏幕中。我已经给出了一个光标图像来显示光标在移动设备中的位置。
我遇到了匹配光标位置的问题,即将出现一个偏移量,在当前屏幕和其他屏幕中无法正确显示。任何帮助都可以让我的生活变得轻松。
这是代码:
提前致谢。