当前位置: 首页 > news >正文

UnityWeb打包注意事项及与网页端通信

ProjectSettings 参数设置

  • 选择 File -> Build Settings。
  • 选择 WebGL 作为目标平台,然后点击 Switch Platform。
  • Resolution and Presentation设置分辨率 : 将会在浏览器显示的默认大小

OtherSettings

  • OtherSettings 取消勾选 AutoGraphicsAPI(有的版本会有一个警告:,其大致意思就是在提醒我们要在 Unity WebGL 构建中启用高质量的光照贴图编码并确保 WebGL 2 兼容性,解决这个警告只需要将Auto Graphics API 自动图形接口关闭后在Graphics APIs选择WebGL2就可以解决这个警告) 用WebGL2的渲染方式

Publishing Settings 发布设置

  • 分两种情况介绍 选择压缩的 选择不压缩的

  • Compression Format是打包后的Build包的压缩格式

index.html设置,网页发送消息给Unity

  • 初始化unityIns 
  • 使用Unity官方函数SendMessage,把如下代码index.html里面
      window.addEventListener('message', function (event){const { method,fn, message } = event.data;if (method&&fn) return unityIns.SendMessage(method, fn, message);//alert('缺少脚本名称或方法名');});
  • method:对象名,是与web端约定好的名称 如下是约定的名字是JSBridge

  • fn:函数名,与网页约定的函数名是SendToUnity

  • messag:字符串类型

     public void SendToUnity(string input){if (input.Length<1)return;if (objs.Count < 1)return;SetActive();if (input.Contains("|")) { var message = input.Split('|');var index = int.Parse(message[0]) - 1;objs[index].SetActive(true);AnimatorStateInfo info = objAnims[index].GetCurrentAnimatorStateInfo(0);if (!info.IsName(message[1])){objAnims[index].Play(message[1]);}}}

    Unity发送消息给网页

  • 注意:有可能UnityWeb还没有完成前摇就发送信息,导致丢失数据的情况,那么就得向Web通知准备完成后再发送指令。

    var Test = {SendMessageToVue: function (messagePtr) {var message = UTF8ToString(messagePtr);console.log(message);window.parent.postMessage({ type: "FROM_UNITY", data: message },"*");}
    }mergeInto(LibraryManager.library, Test);

    把如上代码写入txt文本,并改后缀名.jslib,导入Unity的Plugins文件夹下这样Web就能收到Unity发送的数据了 

  •   此连接是整理完整的模板可以直接解压并导入项目,导出时选择此模板就ok  导出模板

http://www.dtcms.com/a/328685.html

相关文章:

  • 初识c语言————排序方法
  • 【游戏开发记录】一款网游+修仙为背景的游戏
  • 美国英语 8 You‘re Going to Be Fine 早日康复
  • Dify 从入门到精通(第 32/100 篇):Dify 的日志分析与监控
  • 1688跨境寻源通API接入||跨境寻源通有哪些具体的功能和优势?
  • 反射的详解
  • CAP理论深度解析与工程实践指南
  • USB基础 -- USB2.0设备插入的过程
  • 陕西西安一家IPO四年亏损近25亿负债率攀升,控制权稳定性遭质疑
  • 力扣121:买卖股票的最佳时机
  • 100、【OS】【Nuttx】【构建】cmake 配置保存
  • Xsens惯性动作捕捉系统
  • 数据库事务隔离:详解及Java面试题
  • MyBatis-Plus 分页失效问题解析:@Param 注解的影响与解决方案
  • amis表单较验
  • Datawhale AI夏令营第三期多模态RAG方向 Task3
  • AAAI论文速递 | NEST:超图小世界网络让自动驾驶轨迹预测更精准
  • 基于R语言的现代贝叶斯统计学方法(贝叶斯参数估计、贝叶斯回归、贝叶斯计算实践过程
  • 从聚合到透视:SQL 窗口函数的系统解读
  • 谷歌、facebook、tiktok广告账户多开怎么安全?亚马逊、ebay、shopee多店铺怎么做好?看看adspower工具,注册免费试用及实用技巧分享
  • SQL详细语法教程(一)--数据定义语言(DDL)
  • 基于R语言的现代贝叶斯统计学方法(贝叶斯参数估计、贝叶斯回归、贝叶斯计算)实践
  • 4G模块 ML307A通过MQTT协议连接到阿里云
  • 数据科学与爬虫技术学习笔记
  • 基于机器学习的自动驾驶汽车新型失效运行方法
  • Win11和Mac设置环境变量
  • 【汽车标定数据】动态优先级线程池在异步多文件解析中的应用
  • 2022 年全国硕士研究生招生考试真题笔记
  • 深度学习赋能汽车制造缺陷检测
  • “我店模式”:零售转型中的场景化突围