我正在尝试向Unity3D WebGl应用发送消息.
我的GameObject"Player"的控制器看起来基本上是这样的:
public class color : MonoBehaviour {
void Start ()
{
gameObject.GetComponent<Renderer>().material.color = Color.red;
}
public void green(string s)
{
gameObject.GetComponent<Renderer>().material.color = Color.green;
}
}
Run Code Online (Sandbox Code Playgroud)
和我的Javascript方法如下:
function SaySomethingToUnity() {
SendMessage("Player", "green", "teeeext");
}
Run Code Online (Sandbox Code Playgroud)
但是,当我称之为没有任何反应时.我究竟做错了什么?
我可以在下载时没有标题“ Unity webGL”的情况下为没有web徽标的webgl创建游戏吗?。例
目前通过我的游戏打开链接会在相同的界面中打开链接。我希望它在新选项卡上打开。我尝试研究插件等,以便 .jslib 文件与 Unity 项目交互,但我也遇到了问题。我是这种交互的新手,所以我在查找插件检查器本身时也遇到了问题。
目前,我的代码是这样做的:
private void Update()
{
if (Input.GetKeyDown(KeyCode.Return))
{
Application.OpenURL("www.google.com");
}
}
Run Code Online (Sandbox Code Playgroud)
所以这会在同一浏览器上打开链接。我试图做到这一点,当用户点击返回键时,他们会在新浏览器上打开该链接。
任何帮助表示赞赏!
我正在尝试使用 webassembly 流功能,但它不起作用。
我确实遵循了 WebAssembly 流的服务器配置的统一文档说明。
https://docs.unity3d.com/2019.3/Documentation/Manual/Webgl-Server-configuration-for-WebAssembly-streaming.html
我正在使用 Unity 2019.2.20f1
在 Unity 播放器设置中,我将压缩格式设置为 gzip 并启用 WebAssembly 流。
我将 .htaccess 文件添加到 Build 文件夹中。
以下是 .htaccess 文件的内容
<IfModule mod_mime.c>
AddEncoding gzip .unityweb
AddType application/wasm .wasm
AddEncoding gzip .wasm
AddOutputFilterByType DEFLATE application/wasm
</IfModule>
Run Code Online (Sandbox Code Playgroud)
我还补充说
application/wasm wasm
Run Code Online (Sandbox Code Playgroud)
到 /etc/mime.type
但我收到此错误。
wasm streaming compile failed: CompileError: WebAssembly.instantiateStreaming(): expected magic word 00 61 73 6d, found 1f 8b 08 18 @+0
Run Code Online (Sandbox Code Playgroud)
设置所需的修改后,我确实重新启动了服务。
我的 webgl 构建在没有 webassembly 流功能的情况下完美运行。
有没有人知道这个问题以及我做错了什么?