欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Unity webgl 嵌入Vue實(shí)現(xiàn)過程

 更新時(shí)間:2024年01月26日 12:02:18   作者:只會(huì)寫B(tài)UG的小白~  
Unity webgl嵌入到前端網(wǎng)頁中,前端通過調(diào)用Unity webgl內(nèi)方法實(shí)現(xiàn)需要展示的功能,前端點(diǎn)擊Unity webgl內(nèi)的交互點(diǎn),Unity webgl返回給前端一些需要的數(shù)據(jù),這篇文章主要介紹了Unity webgl 嵌入Vue實(shí)現(xiàn)過程,需要的朋友可以參考下

需求分析:

Unity webgl嵌入到前端網(wǎng)頁中,前端通過調(diào)用Unity webgl內(nèi)方法實(shí)現(xiàn)需要展示的功能,前端點(diǎn)擊Unity webgl內(nèi)的交互點(diǎn),Unity webgl返回給前端一些需要的數(shù)據(jù)。

例如:當(dāng)我們需要在三維場(chǎng)景中展示庫區(qū)中一些監(jiān)控設(shè)備的部署位置,通過點(diǎn)擊三維場(chǎng)景中的監(jiān)控按鈕打開當(dāng)前監(jiān)控設(shè)備的實(shí)時(shí)畫面,一般情況下打開監(jiān)控需要傳遞當(dāng)前監(jiān)控的IP或者通道號(hào),這時(shí)Unity webgl向前端返回?cái)?shù)據(jù)就用到了。

實(shí)現(xiàn)過程:

1、Unity webgl向Vue發(fā)送數(shù)據(jù)

首先,Unity webgl向前端發(fā)送數(shù)據(jù)需要定義一個(gè).jslib格式文件作為轉(zhuǎn)接,文件名自?。ńㄗh不要用中文)文件內(nèi)容如下:

mergeInto(LibraryManager.library, {
 UnitySendMessage: function (eventname, data)
{
    window.ReportReady(UTF8ToString(eventname), UTF8ToString(data));
 } //如果多個(gè)方法需要使用逗號(hào)結(jié)尾(在此大括號(hào)后加逗號(hào)),只有一個(gè)方法不需要使用逗號(hào)
});

到此,轉(zhuǎn)接文件已經(jīng)定義好了

接著在Unity腳本中添加 using System.Runtime.InteropServices; 引用(用于COM互操作),

代碼如下:

using System.Runtime.InteropServices;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class Test: MonoBehaviour
{
    [DllImport("__Internal")]
    private static extern void UnitySendMessage(string eventname, string data);//方法名及參數(shù)和轉(zhuǎn)接的.jslib文件中的一樣
    private Button button;
    private void Awake()
    {
        button.onClick.AddListener(SendMessage);
    }
    private void SendMessage()
    {
       UnitySendMessage("getbuttonname",GetButtonName());//事件名自己命名即可,前端在監(jiān)聽時(shí)使用
    }
   private string GetButtonName()
    {
        string name  = EventSystem.current.currentSelectedGameObject.name;
        return name;
    }
}

打包后打開index.html文件加入此段代碼:

  window.ReportReady = function (eventname, data) {
            var initD = { detail: { data } }
            var evt = new CustomEvent(eventname, initD)
            window.top.dispatchEvent(evt)
        }

如圖:

最后在Vue mounted中加入即可

window.addEventListener('getbuttonname', this.uinityEvent, false)//getbuttonname對(duì)應(yīng)Unity內(nèi)定義的事件名

2、Vue向Unity發(fā)送數(shù)據(jù)

首先,Vue調(diào)用Unity的方法就比較簡(jiǎn)單了,在Unity內(nèi)定義帶參數(shù)的方法如:

using UnityEngine;
public class Test: MonoBehaviour
{
   private void GetVueData(string value)
    {
        Debug.Log(value);
    }
}

接著打開打包后的index.html文件,在里面加入供前端調(diào)用的方法:

  function GetVueMessage(obj) {
            UnityInstanceV.SendMessage('MainSenceScript', 'GetVueData', JSON.stringify(obj))
//對(duì)應(yīng)的參數(shù)分別為:"Unity場(chǎng)景內(nèi)掛載腳本的物體名字","方法名",最后一個(gè)參數(shù)復(fù)制粘貼即可
        }

最后只需Vue調(diào)用此方法并傳遞參數(shù)就可以了,如果這篇文章幫助到你,就點(diǎn)個(gè)贊吧!

到此這篇關(guān)于Unity webgl 嵌入Vue實(shí)現(xiàn)過程的文章就介紹到這了,更多相關(guān)Unity webgl 嵌入Vue內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue.js的計(jì)算屬性computed詳解

    Vue.js的計(jì)算屬性computed詳解

    文章介紹了Vue.js中的計(jì)算屬性(computed properties),解釋了它們的基本概念、語法、優(yōu)勢(shì)以及應(yīng)用場(chǎng)景,文章通過有趣的示例展示了計(jì)算屬性在不同場(chǎng)景下的應(yīng)用,如計(jì)算全名、計(jì)算列表的總和和計(jì)算對(duì)象的屬性,感興趣的朋友一起看看吧
    2025-03-03
  • vue關(guān)于點(diǎn)擊詳情頁面keep-alive的緩存問題

    vue關(guān)于點(diǎn)擊詳情頁面keep-alive的緩存問題

    這篇文章主要介紹了vue關(guān)于點(diǎn)擊詳情頁面keep-alive的緩存問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • vue圖片裁剪插件vue-cropper使用方法詳解

    vue圖片裁剪插件vue-cropper使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了vue圖片裁剪插件vue-cropper使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • Vue滾動(dòng)頁面到指定位置的實(shí)現(xiàn)及避坑

    Vue滾動(dòng)頁面到指定位置的實(shí)現(xiàn)及避坑

    這篇文章主要介紹了Vue滾動(dòng)頁面到指定位置的實(shí)現(xiàn)及避坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue3路由新玩法useRoute和useRouter詳解

    vue3路由新玩法useRoute和useRouter詳解

    這篇文章主要介紹了vue3路由新玩法useRoute和useRouter,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • mpvue開發(fā)音頻類小程序踩坑和建議詳解

    mpvue開發(fā)音頻類小程序踩坑和建議詳解

    這篇文章主要介紹了mpvue開發(fā)音頻類小程序踩坑和建議詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • Vue Element前端應(yīng)用開發(fā)之echarts圖表

    Vue Element前端應(yīng)用開發(fā)之echarts圖表

    在我們做應(yīng)用系統(tǒng)的時(shí)候,往往都會(huì)涉及圖表的展示,綜合的圖表展示能夠給客戶帶來視覺的享受和數(shù)據(jù)直觀體驗(yàn),同時(shí)也是增強(qiáng)客戶認(rèn)同感的舉措之一
    2021-05-05
  • vue中使用GraphQL的實(shí)例代碼

    vue中使用GraphQL的實(shí)例代碼

    這篇文章主要介紹了vue中使用GraphQL的實(shí)例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 關(guān)于在Vue中import和require的用法分析

    關(guān)于在Vue中import和require的用法分析

    在Vue項(xiàng)目中,我們經(jīng)常需要引入外部的模塊或文件,這時(shí)候就會(huì)用到import和require這兩個(gè)關(guān)鍵字,本文將詳細(xì)分析它們的用法,并提供具體的代碼實(shí)例和解釋,需要的朋友可以參考下
    2023-06-06
  • vuepress實(shí)現(xiàn)自定義首頁的樣式風(fēng)格

    vuepress實(shí)現(xiàn)自定義首頁的樣式風(fēng)格

    這篇文章主要介紹了vuepress實(shí)現(xiàn)自定義首頁的樣式風(fēng)格,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評(píng)論