unity webGL与js 交互(获取地址栏URL)

这篇具有很好参考价值的文章主要介绍了unity webGL与js 交互(获取地址栏URL)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.unity传值给js

unity中:

 void Awake()
    {
        Application.ExternalCall("GetCookie");//GetCookie参数是js方法名字
    }

js中:

 function GetCookie() {
          //var result = document.URL;//获取地址
          var result = document.location.href;//获取地址
          if (result != "") {
              var result = decodeURIComponent(result);
          }
		  console.log("发送消息:Cookie,OnCookie_Callback");
          unityInstance.SendMessage("Cookie", "OnCookie_Callback", result);
      }

function GetCookie() {
          var result = document.URL;
		  console.log("发送消息:Cookie,OnCookie_Callback");
          gameInstance.SendMessage("Cookie", "OnCookie_Callback", result);
      }

2.js传值给unity

参数一 Cookie:场景中物体的名称 (最上层父物体名字,否则无法成功传值)
参数二 OnCookie_Callback:方法名称
参数三 result:值

unityInstance.SendMessage("Cookie","OnCookie_Callback",result);

unity中:

 public void OnCookie_Callback(string cookie)
    {
        Debug.Log("收到cookie=" + cookie);
        
    }

完整:

unity场景中物体的名称

unity webgl js 交互,unity,webgl,javascript

 untiy代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{
    private string NextSceneName;

    void Awake()
    {
        Application.ExternalCall("GetCookie");//GetCookie参数是js方法名字
    }

    public void OnCookie_Callback(string cookie)
    {
        Debug.Log("收到cookie=" + cookie);
        
    }

if (temps[i].Contains("username="))
            {
                string ccc = WWW.UnEscapeURL(temps[i].Replace("username=", "").Trim(), System.Text.Encoding.GetEncoding("utf-8"));//url 编码 转中文
               // string ccc = WWW.EscapeURL("猴年马月");//中文转url编码
                username = ccc;
            }
}

js代码:文章来源地址https://www.toymoban.com/news/detail-767239.html

<!DOCTYPE html>
<html lang="en-us">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Unity WebGL Player | Test999</title>
    <link rel="shortcut icon" href="TemplateData/favicon.ico">
    <link rel="stylesheet" href="TemplateData/style.css">
    <script src="TemplateData/UnityProgress.js"></script>
    <script src="Build/UnityLoader.js"></script>
    <script>
      var unityInstance = UnityLoader.instantiate("unityContainer", "Build/Test99.json", {onProgress: UnityProgress});
	  
	 function GetCookie() {
          var result = document.URL;//获取地址
         // var result = document.location.href;//获取地址
		  console.log("发送消息:Cookie,OnCookie_Callback");
          gameInstance.SendMessage("Cookie", "OnCookie_Callback", result);
      }
    </script>
  </head>
  <body>
    <div class="webgl-content">
      <div id="unityContainer" style="width: 960px; height: 600px"></div>
      <div class="footer">
        <div class="webgl-logo"></div>
        <div class="fullscreen" onclick="unityInstance.SetFullscreen(1)"></div>
        <div class="title">Test999</div>
      </div>
    </div>
  </body>
</html>

到了这里,关于unity webGL与js 交互(获取地址栏URL)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity-WebGL基于JS实现网页录音

          因为该死的Unity不支持WebGL的麦克风,所以只能向网页借力,用网页原生的navigator.getUserMedia录音,然后传音频流给Unity进行转AudioClip播放。       还有一点非常重要:能有同事借力就直接问,厚着脸皮上,我自己闷头两天带加班,不如同事谭老哥加起来提供帮助的俩小

    2023年04月08日
    浏览(27)
  • Unity3d(webGL)构建数字孪生小案例(包含完整的数据交互体系)附赠完整代码

    B站视频演示 点击获取合视频对应的完整版代码 项目文档 数字孪生demo项目,打通了,模型-硬件终端-webGL-web端-服务端的数据交互,属于较为完整的项目练习。 包含文件:unity工程文件;webGL文件;前后端代码文件;硬件代码; 先来看看概念吧: 数字孪生体是现有或将有的物

    2024年02月09日
    浏览(33)
  • 【WebGL系列-01】获取WebGL上下文

    WebGL上下文是从 canvas 标签中获取到的,通过 canvas 对象的 getContext() 函数可以获取 WebGLRenderingContext 。 跟据参数的不同, getContext() 函数可以获取不同种类的渲染上下文。 canvas.getContext(contextType: String, contextAttributes ?: Object) contextType : \\\'2d\\\' :建立一个 CanvasRenderingContext2D 二维渲染

    2024年02月16日
    浏览(30)
  • Unity WebGL 关于构建webgl应用模板设置

    如果你想要修改unity 自带的webgl 启动样式,那么你需要在unity Assets 文件夹目录下添加如下目录   WebGLTemplates 目录是 unity 指定名称的目录,你可以在这个目录下新建你自己的模板目录 名字随意,然后在你需要找一下 你unity 的Default模板文件 ,在你unity 安装目录的  EditorDat

    2024年02月12日
    浏览(35)
  • Unity发布WebGL运行Js代码报错:‘Pointer_stringify‘ is obsoleted and will be removed in a future Unity version.

    👉一、报错来源 Unity版本:Unity 2021.3.11f1c2。 发布平台:WebGL。 WebGL项目中有用到一个下载的功能,将图片下载到本地,是Unity通过调用Js代码来完成的,在测试时发现浏览器控制台报了这个错误信息。 👉二、报错信息 The JavaScript function ‘Pointer_stringify(ptrToSomeCString)’ is obs

    2024年02月08日
    浏览(35)
  • unity webgl 系列(2):从webgl内存中下载文件到本地硬盘

    前面是将文件上传到webgl进程,本篇是将文件从webgl进程中下载文件到浏览器的下载目录中。 通用,只需要 二进制数组和文件名。 添加一段代码 解释:接收三个字符串:由文件二进制转换出来的二进制字符串、xxx.yy文件名、文件类型。 统一经过Pointer_stringify转化为js字符串,

    2024年04月17日
    浏览(26)
  • Unity WebGL实战笔记

    笔者版本为:Unity2021.3.8f1 Unity提供了WebGL平台来,支持在浏览器中实时对3D图形应用交互。 模版 Player-Resolution and Presentation-WebGL Template 默认是Default,这个模版有加载进度条,且在程序出错会弹出提示框。还有一个Minimal模版,没有进度条加载等流程,且程序出错无提示信息。

    2024年02月02日
    浏览(40)
  • Unity WebGL三维地球

    1.支持arcgis,天地图,bingmap,谷歌地图,高德地图等影像加载 2.支持高程三维地形加载 3.支持在线,离线数据加载 4.支持unity坐标和经纬度坐标互相转换 5.支持fbx模型放置在地球上 6.支持倾斜摄影数据放置在地球上 7.支持pc,webgl平台发布 weixin:huazaikv 相关视频: unity三维地球_W

    2024年02月12日
    浏览(24)
  • Unity WebGL发布页面报错

    1、报错内容 Unable to parse Build/test.framework.js.gz! This can happen if build compression was enabled but web server hosting the content was misconfigured to not serve the file with HTTP Response Header \\\"Content-Encoding: gzip\\\" present. Check browser Console and Devtools Network tab to debug. 2、报错页面 解决方案,在Unity的WebGL Player S

    2024年02月16日
    浏览(28)
  • Unity打包WebGL: 导入Vue

    1.1 任务 记录将 Unity 项目打包成 WebGL ,并集成到 Vue 项目中的过程。 1.2 环境 Unity : 2021.3 Vue : 2 2.1 UI 界面 2.2 添加插件 构建 WebGL 项目需要添加一个 .jslib 文件,用于 Unity 脚本函数与 JavaScript 函数交互 详细内容参考:Unity(WebGL)与JS通讯2022最新姿势 web.jslib 文件内容 2.3 添加脚

    2024年02月11日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包