相关文章推荐
大气的手电筒  ·  ASP.NET Core Web API ...·  1 年前    · 

一、js传值给unity

index.html中

gameInstance.SendMessage("ObjectName","LoadAssetBundle","qww.unityweb");

ObjectName:场景中物体的名称
LoadAssetBundle:方法名称
qww.unityweb:值

unity中

public class ObjectName : MonoBehaviour
	public void LoadAssetBundle(string assetbundleName){

注意ObjectName是指场景中模型的名称,是最上级物体名称,scene下的第一级,很多人无法成功传值,是因为你调用了错误的物体!!!!!如果解决了你问题别忘了点个赞啊!

二、 unity传值给js

  function gotoPlay(info){
  		console.log(info);

unity中:

private void OnGotoPlayButton(){      
        Application.ExternalCall("gotoPlay", "gotoPlay");

在unity中调用OnGotoPlayButton(),即可向js中的gotoPlay方法传值。

Application.ExternalCall()改版弃用 新版jslib官方介绍首先我们来一个最简单的jslib,用txt创建文件。文件名为__Internalplugins,后缀名为jslib。关键操作:这个文件必须放在Unity项目的Plugins文件夹下!代码如下:mergeInto(LibraryManager.library, {Hello: function () {TestSen... WebGLUnity传递参数报错: Cannot read properties of undefined (reading 'SendMessage')的解决方案 unity项目打包为webgl后应用于vue项目中(iframe模式)的数据交 新建.jslib文件 新建.cs脚本 在unity中的`Hierarchy`工作区中创建一个可回显获取数据的UI对象,这里以Text对象为例;新建button对象同理,并给button对象重命名为`modelButton1`。导出unitywebgl vue项目中引入unity打包的文件 从unity脚本调用js函数(vue发起,unity接收)从js调用unity脚本函数unity发起,vue接收SendMessage方法 UnityScript与JavaScript交 #mermaid-svg-ZaQdNaj8bWsymqTa .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-ZaQdNaj8bWsymqTa .label text{fill:#333}#mer 其中,gameInstanceunity运行实例,有的叫unityInstance或者别的东西,具体看自己js模版中定义的变量。FileDialogResult:游戏物体上的需要被执行的函数;JSON.stringify(res):该函数接收的一个参数,这里我封装为一个json对象可以传递多个参数,传过去后解析为一个文件信息类。游戏物体名称用于在该js函数中发送广播,叫该游戏物体执行指定挂在在该物体mono脚本上的指定方法。该js脚本中,LoadFile函数名,接收一个游戏物体名称和过滤文件格式字符串。 出于安全原因,unity里很多功在WebGL是不可用的,比如System.Net.Sokcet,XML,外部设备的某些权限等等,本文的做法是WebGL调用javaScript,JS将数据存到Cookie里。 什么是Cookie?  Cookie是网页的缓存,是网页用来存储数据的一种方式,比如清理电脑垃圾时“清理网页缓存”的选项就是清理Cookie,在登陆网页上的帐号时“保存密码”选项就是将密码存... 在Unity开发WebGL过程中,常常因为需求必须要与前端进行通信、对接,如何实现呢? 在Unity老版本中,可以用Application.ExternalCall()方法,在2018及以上版本,该方法已经弃用掉,由新的方法来代替。这里不讨论老方法如何使用了。 操作步骤: 1.在Unity中Project目录“Assets\Plugins"下,创建一个jslib文件,可以用txt创建文件,文件名加后缀名为“xxx.jslib”,切记后缀名更改为js