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

1、使用unity-webgl插件

javascript 复制代码
npm i unity-webgl

unity打包后的build文件夹是这样的

需要手动删除.unityweb这个后缀,完成后放在vue3项目的根目录下的public文件夹下。

下面是引入unity的vue组件,其中实例化UnityWebgl时的参数地址直接引用上面的对应文件地址

javascript 复制代码
<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配置:

javascript 复制代码
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中:

我是用了一个外部配置文件:

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

调整一下css就行了

相关推荐
Hody914 小时前
【XR开发系列】2025 年 XR 开发入门,我该选择 Unity 还是 Unreal Engine?
unity·xr·虚幻
DvLee10246 小时前
UnityGLTF 材质创建与赋值流程
unity·材质
HahaGiver6669 小时前
从0到1做一个“字母拼词”Unity小游戏(含源码/GIF)- 字母拼词正确错误判断
unity·游戏引擎·游戏程序
AI3D_WebEngineer21 小时前
企业级业务平台项目设计、架构、业务全解之组件库篇
前端·javascript·vue
木子李BLOG1 天前
vue.js设计与实现(待续)
vue
一个小狼娃1 天前
Android集成Unity避坑指南
android·游戏·unity
极客柒1 天前
Unity 协程GC优化记录
java·unity·游戏引擎
黄思搏1 天前
Unity SpriteRenderer 进度条 Shader 实现
unity·游戏引擎
猫屋小鱼丸1 天前
手把手教你在unity中实现一个视觉小说系统(一)
unity
悟能不能悟1 天前
reason: unable to verify the first certificate 如何处理
vue