问题标签 [unity-webgl]
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.
c# - 在 UntyWebGl 中保存帧
我正在尝试保存我的 Unity 项目的框架以自动生成预览 Gif。我在我的脚本中调用该方法,如下所示:
如果我在 Unity 中这样做,它工作得很好。但是当我将我的项目构建为 WebGL 时,它不再这样做了。为什么?或者有人知道另一种保存框架的方法吗?
unity3d - Unity WebGL 多人网络
我正试图让我去年写的 c# 中的旧 Unity 游戏代码起死回生。它是一款多人游戏,使用 uLink、uLobby、uZone 作为网络部分。
我今天刚读到浏览器将不再支持 WebPlayer 的震惊,我必须移动我的所有代码才能使用 WebGL(直到今天我才听说过 WebGL)。
有没有像 uLink 这样的包我可以用于网络而不是自己编写所有的 WebGL 网络代码(服务器和客户端)?(似乎 uLink 正在消失)。
抱歉,自从我刚开始研究 WebGL 以来,我的问题不清楚,但是我找不到任何我现在可以使用的将 WebGL 与 Unity 结合使用的网络包,这样我就可以保留我所有的 RPC 代码等,或者我不知道是什么其他网络功能现在已经存在(我已经一年多没有编写统一代码了)。
如果我的问题不清楚或太模糊,请告诉我什么不清楚或模糊。
谢谢
c# - 在 Unity3d 中构建 WebGL 的 Https 客户端
我需要用于 WebGL 构建的 https 客户端。
万维网太可怕了。首先,它不支持keep-alive连接,加上它有https的问题。
UnityWebRequest不支持 keep-alive。
Unity 团队有一个WebSockets插件,但它最后一次更新是在一年前。
对于其他平台,我编写了基于原始套接字 (C# TcpClient
) 的自定义解决方案,但WebGL build 不支持UnityEngine.Network
命名空间。
有什么建议么?
javascript - 是否可以使用 Marshalling 将 JavaScript 回调方法设置为 C# 方法?
我正在使用 C# 在 Unity 中进行编码并为 WebGL 进行开发。我需要使用浏览器 JavaScript,因此编写了一个 .jslib,我使用 Marshalling 调用 C# 中的方法。
我是否可以将 JavaScript 回调设置为 C# Action、Func 或 Event Handler,如下所示:
我已经尝试了每一个,但似乎没有正确地做到这一点。我知道 C++ 可以调用 C# 函数,但是 JavaScript 必须以不同的方式进行通信。
尝试:
无论我尝试什么,我都会收到一个 TypeError 说明我传递给 JavaScript 的对象不是函数。我试过了:
- 使用动作和事件委托
- 使用 ref、IntPtr 和两者都不使用
任何人都知道这是否可能?就像我说的,我之前在 C++ .dll 中成功调用了 C# 方法,因此认为可以从 .jslib 中调用。
html - Unity WebGL - 防止
统一 5.4
构建一个 Unity WebGL 应用程序(不是游戏),在 Unity 方面处理所有 3D 内容,并且所有 UI 都是使用 HTML/CSS/JS 构建的。默认情况下,WebGLInput.captureAllKeyboardInput 设置为 true,这会导致任何需要键盘(文本)输入的输入字段被破坏,因为任何键盘控件都会自动被 Unity 吃掉,而不是进入输入字段。正在做
修复了输入字段的问题,但导致统一忽略所有键盘输入,即使在元素被聚焦之后,但是添加
对其进行了修复,以便 HTML 输入字段上的键盘输入在聚焦时可以工作,Unity WebGL 应用程序中的键盘控件在聚焦时也可以工作。(这是所有文档:https ://docs.unity3d.com/ScriptReference/WebGLInput-captureAllKeyboardInput.html )。所以这一切都很好。
但是,Unity WebGL 应用程序仍然会导致某些使用鼠标(而非键盘)控件的输入字段出现问题。也就是说,我在 input type="range" 字段(HTML5 滑块)和 input type="number 上注意到了它(使用键盘输入数字有效,但鼠标上下点击无效)。
有什么解决方法可以解决这个问题吗?我基本上需要防止 Unity WebGL 画布不会自动获取所有鼠标输入,除非首先单击/聚焦元素(就像键盘控件的工作方式一样)。在 Unity 方面有什么需要改变来解决这个问题吗?还是我需要编写一些自定义 JavaScript 来处理所有输入并确定它是用于 Unity 场景还是用于 HTML UI?
unity5 - 在运行时将外部 OGG 文件加载到 Unity WebGL 构建中
我正在尝试在运行时在 WebGL 构建中将一些 OGG 格式的声音加载到我的游戏中。我使用 WWW 类来获取扩展名为“.ogg”的文件,然后调用www.audioClip
以获取下载的文件。这适用于其他平台,但在 WebGL 中失败。
Unity 抛出此错误消息:“不支持此平台上的 'ogg' 流式传输”。奇怪,因为我没有尝试流式传输它,并且我尝试显式调用GetAudioClip(false, false, AudioType.OGGVORBIS)
并得到相同的结果。
我尝试将我的 OGG 文件转换为 AAC(带有 M4A 和 MP4 扩展名)并加载它www.audioClip
(错误,它无法从 URL 确定文件类型)和www.GetAudioClip(false, false, AudioType.MPEG)
(没有错误但也没有声音)。我在网上看到的最接近解决方案的方法是改用 MP3,但出于许可原因,我不想这样做。
Unity 中的 WebGL 是否仅限于应用程序中构建的音频资产?
unity3d - Unity WebGL Google Analytics 失败命中
我目前在使用 GA 和 Unity WebGL 时遇到了一些麻烦。每次我尝试提交和事件时,我都会在 JS 控制台中不断收到错误“Google Analytics hit request failed with error”,但没有消息,但正在记录第一个用户的事件。
当我查看实时提要时,它似乎也只注册了第一个用户。当我将游戏构建到 iOS 时,它似乎按预期工作。
提前致谢。