vue3引入并加载unity工程的两种方式

news/2025/3/17 4:23:32/

1、使用unity-webgl插件

npm i unity-webgl

unity打包后的build文件夹是这样的
在这里插入图片描述
需要手动删除.unityweb这个后缀,完成后放在vue3项目的根目录下的public文件夹下。
下面是引入unity的vue组件,其中实例化UnityWebgl时的参数地址直接引用上面的对应文件地址

<script setup>
import UnityWebgl from 'unity-webgl';
import UnityVue from 'unity-webgl/vue';const unityContext = new UnityWebgl({loaderUrl: '/unity/Build/test.loader.js',dataUrl: '/unity/Build/test.data',frameworkUrl: '/unity/Build/test.framework.js',codeUrl: '/unity/Build/test.wasm',companyName: 'test',productName: 'test',
});
</script><template><div style="width: 1900px; height: 900px; border: 1px solid #f00"><UnityVue :unity="unityContext" /></div>
</template>

2、使用iframe引入

首先将 unity工程打包后放在服务器上,我是使用的nginx,因为比较方便,自己就能测试。
在这里插入图片描述
然后将iframe的地址填写为在nginx的配置文件中配置的地址就行了

nginx配置:

server {listen       9081;server_name  localhost;add_header Access-Control-Allow-Origin *;add_header Access-Control-Allow-Headers X-Requested-With;add_header Access-Control-Allow-Methods GET,POST,OPTIONS;location / {root   html/unityTest;try_files $uri $uri/  /index.html;add_header Cache-Control no-store;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

所以我这里就是127.0.0.1:9081 简单测试一下,此时直接浏览器访问该地址也能看到unity项目正常运行
在vue中:
我是用了一个外部配置文件:

const configUrl = {baseURL: 'http://192.168.2.116:8004', //资源服务接口地址unityURL: 'http://192.168.2.116:9081', //unity地址
}
<script setup lang="ts">
const iframeSrc = configUrl.unityURL;
</script>
<template><iframe :src="iframeSrc" class="iframe" frameborder="0"></iframe>
</template>

调整一下css就行了


http://www.ppmy.cn/news/1188932.html

相关文章

reactive与ref VCA

简介 Vue3 最大的一个变动应该就是推出了 CompositionAPI&#xff0c;可以说它受ReactHook 启发而来&#xff1b;它我们编写逻辑更灵活&#xff0c;便于提取公共逻辑&#xff0c;代码的复用率得到了提高&#xff0c;也不用再使用 mixin 担心命名冲突的问题。 ref 与 reactive…

三款20万级B+级轿跑实力大PK,谁才是最优选?

近几年的车市,新能源汽车销量可谓节节升高,其中,可油可电、没有续航焦虑还能享受电动车行驾驶质感的混动车型,越来越被用户认可。在当前市场上的混动车型中,2024款哪吒S、比亚迪汉DM-i,一直都是大热选手,近期上市的零跑C01也欲成“追赶”之势。那么,这三款车中究竟谁能真正符合…

Cordova插件开发二:高精度定位之卫星数据解析

文章目录 1.最终效果预览2.坐标获取方法3.在公共类中封装获取坐标的通用方法4.插件js中封装startGeoLocation方法5.插件主界面封装的方法1.最终效果预览 2.坐标获取方法 let obj = Object.assign({}, this.mapConfig.mapLocationObj)obj.isKeepCallBack = falselet res = await…

leetcode分类刷题:二叉树(八、二叉搜索树特有的自顶向下遍历)

二叉搜索树是一个有序树&#xff1a;每个二叉树都满足左子树上所有节点的值均小于它的根节点的值&#xff0c;右子树上所有节点的值均大于它的根节点的值&#xff1b;利用该性质&#xff0c;可以实现二叉搜索树特有的自顶向下遍历 700. 二叉搜索树中的搜索 思路1、自顶向下的遍…

PyQt5:构建目标检测算法GUI界面 (附python代码)

文章目录 1.界面2.代码3.Analyze 1.界面 目标检测算法一般就是检测个图片&#xff0c;然后显示图片结果。 最简单的情况&#xff0c;我们需要一个按钮读取图片&#xff0c;然后后有一个地方显示图片。 2.代码 import sys import numpy as np from PIL import Imagefrom PyQt…

发布不到一月的4+经典单细胞+预后模型生信思路,可复现可升级

今天给同学们分享一篇单细胞预后模型的生信文章“Integrating single-cell and bulk RNA sequencing to predict prognosis and immunotherapy response in prostate cancer”&#xff0c;这篇文章于2023年9月20日发表在Scientific Reports期刊上&#xff0c;影响因子为4.6。 前…

Mybatis—XML配置文件、动态SQL

学习完Mybatis的基本操作之后&#xff0c;继续学习Mybatis—XML配置文件、动态SQL。 目录 Mybatis的XML配置文件XML配置文件规范XML配置文件实现MybatisX的使用 Mybatis动态SQL动态SQL-if条件查询 \<if\>与\<where\>更新员工 \<set\>小结 动态SQL-\<forea…

Ubuntu上安装配置Nginx

要在 Ubuntu 上安装 Nginx&#xff0c;请按照以下步骤进行操作&#xff1a; 打开终端&#xff1a;可以使用快捷键 Ctrl Alt T 打开终端&#xff0c;或者在开始菜单中搜索 “Terminal” 并点击打开。 更新软件包列表&#xff1a;在终端中运行以下命令&#xff0c;以确保软件包…