reactjs - 如何让我的 ReactJS 项目显示 Unity 3D 游戏?我试过反应统一 WEBGL
问题描述
我刚刚用 Unity 上的 Virtual Tour 完成了一个网站的编码,我已将其导出为 WEBGL,并禁用了压缩格式,并关闭了解压缩回退(Unity)。然后将此添加到我在 React 上的代码中
import React from "react";
import Unity, { UnityContext } from "react-unity-webgl";
const unityContext = new UnityContext({
loaderUrl: "../Build/unity341.loader.js",
dataUrl: "../Build/unity341.data",
frameworkUrl: "../Build/unity.framework.js",
codeUrl: "../Build/unity341.wasm",
});
function Game() {
return <Unity unityContext={unityContext} />;
}
export default Game;
然后在页面上导入游戏
import React, {Component} from 'react';
import Game from './game.jsx';
import {Container} from 'react-bootstrap';
class GamePage extends Component {
render() {
return (
<div>
<Game/>
<Container>
//text and stuff inside the container
</Container>
</div>
);
}
}
export default GamePage;
但是当我在我的本地主机上渲染它时,我没有得到 Unity 查看器,并且在 Chrome 上检查时,我唯一看到的游戏应该是以下标签
<canvas class>
谢谢你们的帮助!
解决方案
将生成WebGL files
的Build
文件public
夹放入反应中。见图片。这些文件必须在公共文件夹中,因为反应服务器在此文件夹中托管静态文件。例如,我已将它们放入public\build
文件夹。见图片。
反应中的代码:
const unityContext = new UnityContext({
loaderUrl: 'build/<AppName>.loader.js',
dataUrl: 'build/<AppName>.data',
frameworkUrl: 'build/<AppName>.framework.js',
codeUrl: 'build/<AppName>.wasm',
});
<Unity unityContext={unityContext} style={{ width: '100%', height: '100%' }} />
推荐阅读
- javascript - CSS:预期的颜色,得到 NaNrgb
- nginx - 如何将 nginx 上传模块添加到运行 nginx 的 Amazon linux
- asp.net-core - Xamarin 应用与 IdentityServer,注册后如何使用回调 url
- excel - Excel中的加权平均贷款价值
- python - 如何使用不在 pandas 数据框中的特定条件对行进行分组?
- kubernetes - Snakemake 如何通过 kubernetes 使用 git 存储库?
- python - Pandas ewm mean 的初始值
- python - 无法使用 Heroku 连接到 Django 上的 Websocket
- cocoapods - 如果更新推荐不起作用,如何更新 Cocoapods
- python - 为什么创建 10 个 Anaconda 环境后出现此错误?