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

相关推荐
海清河晏11115 小时前
数据结构 | 单链表
数据结构·unity·dreamweaver
mxwin18 小时前
Unity URP 下 MatCap 技术详解 无视光照环境的卡通与质感渲染方案
unity·游戏引擎
山檐雾2 天前
OctreeNode
unity·c#·八叉树
WarPigs2 天前
Unity协程返回值的解决方案
unity·游戏引擎
WarPigs2 天前
Unity单例笔记
unity·游戏引擎
Allen74743 天前
ComfyUI 自动化生产 3D资产 工作流笔记
图像处理·opencv·unity·自然语言处理·3d模型生成·confyui
nnsix3 天前
Unity Windows11 打字中文显示不出来输入法的候选框
unity
adogai3 天前
unity mcp接入 实现一句话生成游戏!
游戏·unity·游戏引擎
mxwin3 天前
Unity Shader 逐像素光照 vs 逐顶点光照性能与画质的权衡策略
unity·游戏引擎·shader·着色器
CDN3603 天前
游戏盾导致 Unity/UE 引擎崩溃的主要原因排查?
游戏·unity·游戏引擎