最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

需求分析:

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

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

實現(xiàn)過程:

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

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

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

到此,轉(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)聽時使用
    }
   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對應Unity內(nèi)定義的事件名

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

首先,Vue調(diào)用Unity的方法就比較簡單了,在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))
//對應的參數(shù)分別為:"Unity場景內(nèi)掛載腳本的物體名字","方法名",最后一個參數(shù)復制粘貼即可
        }

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

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

相關(guān)文章

  • vue靜態(tài)配置文件不進行編譯的處理過程(在public中引入js)

    vue靜態(tài)配置文件不進行編譯的處理過程(在public中引入js)

    這篇文章主要介紹了vue靜態(tài)配置文件不進行編譯的處理過程(在public中引入js),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vue+el-table實現(xiàn)合并單元格

    vue+el-table實現(xiàn)合并單元格

    這篇文章主要為大家詳細介紹了vue+el-table實現(xiàn)合并單元格,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 通過vue.extend實現(xiàn)消息提示彈框的方法記錄

    通過vue.extend實現(xiàn)消息提示彈框的方法記錄

    這篇文章主要給大家介紹了關(guān)于通過vue.extend實現(xiàn)消息提示彈框的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Vue之讀取并解析ini文件中的內(nèi)容

    Vue之讀取并解析ini文件中的內(nèi)容

    這篇文章主要介紹了Vue之讀取并解析ini文件中的內(nèi)容,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue3父子同信的雙向數(shù)據(jù)的項目實現(xiàn)

    vue3父子同信的雙向數(shù)據(jù)的項目實現(xiàn)

    我們知道的是,父傳子的通信,和子傳父的通信,那如何實現(xiàn)父子相互通信的呢,本文就來詳細的介紹一下,感興趣的可以了解一下
    2023-08-08
  • vue更多篩選項小組件使用詳解

    vue更多篩選項小組件使用詳解

    這篇文章主要為大家詳細介紹了vue更多篩選項小組件的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Vue 使用計時器實現(xiàn)跑馬燈效果的實例代碼

    Vue 使用計時器實現(xiàn)跑馬燈效果的實例代碼

    這篇文章主要介紹了Vue 使用計時器實現(xiàn)跑馬燈效果,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-07-07
  • vue中實時監(jiān)聽div元素盒子的寬高方法

    vue中實時監(jiān)聽div元素盒子的寬高方法

    這篇文章主要給大家介紹了關(guān)于vue中如何實時監(jiān)聽div元素盒子的寬高的相關(guān)資料,在Vue中你可以使用Vue的計算屬性和偵聽器來動態(tài)監(jiān)測元素的高度,文中給出了簡單代碼示例,需要的朋友可以參考下
    2023-09-09
  • Vue父子組件之間的通信實例詳解

    Vue父子組件之間的通信實例詳解

    在vue組件通信中其中最常見通信方式就是父子組件之中的通信,而父子組件的設定方式在不同情況下又各有不同。這篇文章主要介紹了Vue---父子組件之間的通信,需要的朋友可以參考下
    2018-09-09
  • vue實現(xiàn)上傳圖片添加水印(升級版)

    vue實現(xiàn)上傳圖片添加水印(升級版)

    這篇文章主要為大家詳細介紹了vue實現(xiàn)上傳圖片添加水印的升級版,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評論

镇康县| 沅江市| 门头沟区| 兴国县| 咸阳市| 丹阳市| 鹤岗市| 木里| 于田县| 中宁县| 沙田区| 鄂尔多斯市| 北票市| 武强县| 固安县| 博湖县| 隆昌县| 烟台市| 浮梁县| 峡江县| 海晏县| 通江县| 潜江市| 库尔勒市| 都匀市| 永顺县| 循化| 曲阳县| 含山县| 肇东市| 措勤县| 红安县| 中西区| 梧州市| 瓮安县| 沽源县| 安远县| 凤凰县| 乐至县| 隆子县| 阳泉市|