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

相关推荐
两水先木示8 小时前
【Unity】探索小地图迷雾散开Shader效果(基础版)
unity·游戏引擎
WarrenMondeville15 小时前
AI复刻街头霸王到 Unity
unity·游戏引擎
玖玥拾21 小时前
Lua 基础语法(六)xLua Lua 调用 C# 交互
开发语言·unity·c#·lua
xcLeigh1 天前
Unity基础:MonoBehaviour的生命周期——Awake、OnEnable、Start、Update执行顺序
unity·游戏引擎
qq_213157891 天前
其域lcc2丢失部分lod/远处显示空洞的解决方式
unity·lcc2
XR技术研习社2 天前
关于 PICO 串流测试中报错 IndexOutOfRangeException: renderPassIndex 的两个排障方法
unity·ar·xr·vr
想做后端的前端2 天前
Unity · 性能优化:内存管理完全指南:从托管堆到跨桥开销
unity·性能优化·游戏引擎
平行云2 天前
实时云渲染信创架构解析:从GPU池化到全栈适配的技术演进
linux·unity·docker·ue5·webgl·数字孪生·实时云渲染
玖玥拾2 天前
Lua 基础语法(五)Unity xLua基础配置与 C# 访问 Lua
开发语言·unity·c#·lua
玖玥拾3 天前
Lua 基础语法(二)
开发语言·unity·lua