我试图使用一些服务器的API函数,突然出现了这个错误.我将在代码示例后解释它:
public IEnumerator Post(Dictionary<string, string> data)
{
var request = UnityWebRequest.Post(Url, data);
request.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
yield return request.Send();
if (request.isError)
UpdateNetworkLog("Network error has occured: " + request.error);
else
// Some code after success
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,主要是我把它从Unity手动考虑POST请求这里.但是,有一个问题 - 请求从未正确完成,它总是有错误(使用UpdateNetworkLog函数显示):"通用/未知HTTP错误",而请求的响应代码为0.此外,我试图使用遗留本手册中的方法和WWW类获得相同的结果.
我认为,问题在于Unity如何获得响应:我通过Wireshark检查了数据包,我的POST请求和服务器的响应都非常好,没有错误或错误.
另一个重要的问题是我正在使用WebGL,并且编辑器中的所有内容都可以,程序得到正确的响应并正常工作; 只有在浏览器中构建并运行游戏(在Chrome和Safari中测试)后才会出现错误.此外,尝试使用Unity WebGL播放器启动它,但XAMPP:相同.
感谢所有未来的回复,因为Google对此一无所知.
有没有办法在 Unity WebGL 项目中使用实时数据库?
如果我理解正确,数据库统一 SDK 将工作,但不是 auth SDK,是吗?(为什么会这样,在不久的将来它可能会改变吗?)我能看到的替代方案是:
1) 使用 REST API 进行身份验证(我仅使用 WWW 类就可以统一工作),但是我看不到使用从 REST API 收到的身份验证令牌对数据库 SDK 进行身份验证的方法.
2) 编写一个使用 javascript SDK 的 WebGL 插件。这会起作用吗?这可能需要很多额外的工作,如果您还进行 iOS/Android 构建,则必须检查您使用的平台等。
我以 webGl 格式导出了 Unity 场景,但我不了解导出文件夹的体系结构以及某种类型的文件...包含 json 文件和 .unityweb 文件的“Build”文件夹。?“TemplateData”文件夹包含我理解的图像和样式。还有一个index.html 文件,好的。
我想将 webGl 格式的 Unity 场景集成到用 React Native 创建的移动应用程序中。为此,我想使用我用他们的示例成功测试过的react-native-webgl库。然而他们的例子是这样构成的(参见链接)。webGL 文件位于 src 文件中。只有 Java 脚本文件。Unity的导出文件夹中没有这种情况,没有JavaScript文件......
如何在 webGl JavaScript 中导出我的场景以用于库?
如果您有另一个想法将 3D 天文馆集成到 React-native 的移动应用程序中?我有兴趣
我认为它从 webGl html 导出,我想要 webGl Javascript .. :/ ??
(我的统一项目是制作一个 3D 天文馆:))
Unity 2017.3 - Android - 应用程序反应本机
javascript android unity-game-engine react-native unity-webgl
当 Unity WebGL 应用程序完成加载并准备好使用时,如何检查或接收消息?我想要的是在 WebGL 应用程序准备好后运行我的 Webinterface 的 JavaScript 函数。
我使用视频播放器播放视频,一切正常,但是当我构建它并在 Firefox 或任何其他浏览器上运行时,视频将无法播放。我尝试了不同的设置和不同的视频格式,但似乎没有任何效果。我没有收到任何错误。
我有一个带有相机和视频播放器的空场景,没有脚本。刚刚使用视频播放器并使用唤醒播放来播放视频。在播放模式下工作正常,但在 webgl 构建中不起作用。
我已经在 Unity 的论坛上发布了同样的问题,但没有任何答案,因此也将其发布在这里。
我一直在尝试在无头模式下运行 Unity WebGL构建(通过 puppeteer),同时保存游戏的“屏幕截图”,但相机渲染似乎不起作用。生成的图像都是黑色的。
当不处于无头模式(但仍然是 WebGL )时,它会按预期工作。它也可以通过-batchMode在独立构建(例如,windows、mac)中正常工作。
这是有问题的代码:
// Problem seems to be in the following 2 lines
RenderTexture.active = camera.targetTexture;
camera.Render();
// same dimensions, both in headless and not headless
Debug.Log("CAMERA TARGET TEXTURE WIDTH: " + camera.targetTexture.width);
Debug.Log("CAMERA TARGET TEXTURE HEIGHT: " + camera.targetTexture.height);
tempTexture2D = new Texture2D(camera.targetTexture.width, camera.targetTexture.height, TextureFormat.RGB24, false);
tempTexture2D.ReadPixels(new Rect(0, 0, camera.targetTexture.width, camera.targetTexture.height), 0, 0);
tempTexture2D.Apply();
// RGBA(0.000, …Run Code Online (Sandbox Code Playgroud) 我现在正在开发一个 webgl 项目,我正在尝试从plugin.jslib调用index.html中的javascript函数
我用谷歌搜索了一些方法,似乎它们不起作用。
有没有正确且简单的方法来做到这一点?
下面的代码是我尝试过的。
索引.html
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>%UNITY_WEB_NAME%</title>
<link rel="shortcut icon" href="TemplateData/favicon.ico">
<link rel="stylesheet" href="TemplateData/style.css">
<script src="TemplateData/UnityProgress.javascript"></script>
<script src="%UNITY_WEBGL_LOADER_URL%"></script>
<script type="text/javascript">
window.CheckLoad = function(){ window.alert('It is working!!'); };
</script>
<script>
var gameInstance = UnityLoader.instantiate("gameContainer", "%UNITY_WEBGL_BUILD_URL%", {onProgress: UnityProgress});
</script>
</head>
<body>
...
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
插件.jslib
mergeInto(LibraryManager.library {
Loaded: function()
{
window.CheckLoad();
},
});
Run Code Online (Sandbox Code Playgroud)
Unity C# 脚本
public class blablabla : MonoBehaviour
{
[DllImport("__Internal")]
private static extern void Loaded();
public static …Run Code Online (Sandbox Code Playgroud) 嘿,试图让我的 Unity WebGL 导出在我的 React JS 项目上工作,但由于某种原因不起作用,我正在使用以下React Unity WebGL版本(react-unity-webgl@7.x # For Unity 2018 和 2019(Active LTS)),我已经按照我使用的版本的说明进行操作,有人遇到了与我相同的问题,并在 GitHub 中提出了一个问题,我按照他们所说的进行操作,基本上是将 unity 文件夹公开文件夹,但仍然无法正常工作。任何人都知道如何解决这个问题?
这就是我的文件夹结构:
这是我尝试过的两个代码(它们基本上是相同的):
代码A:
import React from 'react'
import Unity, { UnityContent } from "react-unity-webgl";
let unityContent = new UnityContent(
"Megaman/Build/Megaman.json",
"Megaman/Build/UnityLoader.js"
);
function MegamanGame() {
return (
<div>
<h1>Is not working</h1>
<Unity unityContent={unityContent} />
</div>
)
}
export default MegamanGame
Run Code Online (Sandbox Code Playgroud)
代码B:
import Unity, { UnityContent } from "react-unity-webgl";
export default function Megaman() {
let unityContent = …Run Code Online (Sandbox Code Playgroud) unity-webgl ×10
javascript ×3
react-native ×2
android ×1
browser ×1
chromium ×1
firebase ×1
headless ×1
heap-memory ×1
html5-video ×1
http ×1
mobile ×1
reactjs ×1
rendering ×1
video ×1
webgl ×1