版本:Unity2020.3.28
官方文档
最近项目要发布到WebGL,最近刚开始捣鼓。目前要实现Web端播放rtsp,看了很多文章都是在web端解决unity发布WebGL后如何播放rtsp。本人亲测了UMP2.0.3插件,可以在window下现实rtsp播放,但发布到Web端后播放不了,好像是web不能解析rtsp,希望有大佬可以指点指点。
UMP下载地址
既然准备在web端解决unity发布WebGL后如何播放rtsp的问题,那么在发布WebGL后C#如何与JS通信交互呢?
直奔主题1.在 Assets 文件夹中的“Plugins”子文件夹下创建 .jslib扩展名的文件。
2.Internal.jslib插件文件中添加JavaScript 代码,使用Pointer_stringify()修饰字符串参数
3.新建C#脚本UnityCallJs
4. 在UnityCallJs脚本调用Internal.jslib中的Alert函数
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Runtime.InteropServices;
using UnityEngine.UI;
using System;
public class UnityCallJs : MonoBehaviour
{
[DllImport("__Internal")]
private static extern void Alert(string str);
public GameObject cctv;
void Start()
{
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.S))
{
#if UNITY_WEBGL
Alert("你好 WebGL!!!");
cctv.SetActive(true);
#endif
}
}
public void OnJsCallUnity(string msg) {
#if UNITY_WEBGL
Alert("js发送来的消息"+msg);
cctv.transform.Find("Text").GetComponent().text = msg;
#endif
}
}
5.Unity层级结构
6.发布webgl结构
7.在Index.html中添加交互代码
Unity WebGL Player | project1 project1 //自定义按钮
第一步:声明myInstance变量
第二部:用myInstance保存unityInstance对象
第三步:声明Internal.jslib插件文件中的AlertCCTV函数
第四步:使用unityInstance对象调用SendMessage("js调用C#方法的脚本所在的游戏物体",“C#方法名”,“参数”)
第五步:自定义前端按钮,绑定点击事件,触发js调用C#。



