untiy webgl常见问题与操作

文章目录

    • [1 untiy和网页相互通信](#1 untiy和网页相互通信)
    • [2 打开新页面(同标签页和新标签页)](#2 打开新页面(同标签页和新标签页))
    • [3 获取网页的URL](#3 获取网页的URL)
    • [4 解析Url内的参数](#4 解析Url内的参数)
    • [5 后处理与色彩空间问题](#5 后处理与色彩空间问题)

1 untiy和网页相互通信

看这个文章

2 打开新页面(同标签页和新标签页)

先看本文untiy和网页相互通信部分

.jslib文件内容

bash 复制代码
mergeInto(LibraryManager.library,
    {
        OpenNewWebsite: function (str) {
            //window.open(Pointer_stringify(str));//新标签页打开页面
            window.location.href = Pointer_stringify(str);//当前标签页打开页面
        },
    });

c#部分

csharp 复制代码
    [DllImport("__Internal")]
    private static extern void OpenNewWebsite(string str);    //直接调用这个方法,参数为地址

3 获取网页的URL

先看本文untiy和网页相互通信部分

jslib部分:

bash 复制代码
mergeInto(LibraryManager.library,
    {
      StringReturnValueFunction: function ()
      {
      	var returnStr = window.location.search;
     	var buffer = _malloc(lengthBytesUTF8(returnStr) + 1);
     	writeStringToMemory(returnStr, buffer);
     	return buffer;
      },
    });

c#部分

csharp 复制代码
 [DllImport("__Internal")]
    private static extern string StringReturnValueFunction(); //直接调用这个方法,返回值为url

4 解析Url内的参数

csharp 复制代码
string url = "http://localhost:8001/#/new_dashboard?litchiId=1";
Uri uri = new Uri(url);
string temp = uri.Query;//返回值形如?id=1 ?后所有的参数都在这里
string[]parameters = temp.Substring(1).Split('&');
Dictionary<string, string> parDic = new Dictionary<string, string>();//参数的字典
for (int i = 0; i < parameters.Length; i++)
{
    string[] kv = parameters[i].Split('=');
    parDic.Add(kv[0], kv[1]);
}
systemModel.gardenID_current = parDic["litchiId"];

5 后处理与色彩空间问题

Webgl支持后处理,需要注意的是,屏幕空间反射是不可用的,环境光遮蔽功能请使用ScalableAmbientObscurance模式

默认的色彩空间是Gamma,使用Linear模式需要取消勾选下方的AutoGraphicsAPI(这将同事构建WebGL1.0和2.0),并手动指定为仅支持WebGL2.0,在2.0模式下,仅支持延迟渲染,主流浏览器均已支持webgl2.0

相关推荐
海海不瞌睡(捏捏王子)1 小时前
Unity知识点概要
unity·1024程序员节
学不完的2 小时前
Zrlog面试问答及问题解决方案
linux·运维·nginx·unity·游戏引擎
小清兔2 小时前
unity游戏制作中问题汇总(持续更新)
游戏·unity·游戏引擎
mxwin16 小时前
Unity Shader SRP深入理解内置渲染管线与 URP/HDRP 的底层架构差异
unity·游戏引擎·单一职责原则
mxwin21 小时前
Unity Shader 渲染管线深度解析 — Shader 三阶段
unity·游戏引擎·shader·uv
mxwin21 小时前
Unity Shader 数学与几何变换 深入理解渲染管线中的坐标系转换:从模型空间到屏幕空间的完整变换链
unity·游戏引擎·shader
心前阳光1 天前
Unity使用Luban之Luban配置
unity
mxwin1 天前
Unity ShaderLab 完全指南深入了解 Unity 特有的声明式语法,用于定义材质面板、渲染回退、细节层次等核心功能
unity·游戏引擎·材质·shader
qq1315306241 天前
Unity 渲染优化核心总结(Draw Call / SetPass / Batch 全体系)
unity·游戏引擎·batch
美团骑手阿豪1 天前
C#语法:HashSet与List对比,适合场景
unity·c#