1)将FGUI的Shader全部预热后,WebGL平台没有加载成功
2)iOS如何确认内存扩展使用生效
3)SpriteAtlasManager.atlasRequested延后一帧回调
4)Unity如何使用Java 17打包


这是第442篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

UI

Q:将FGUI Unity中的Shader全部打包,全部加载预热后,Shader在WebGL平台没有加载成功,在WebGL平台FGUI的Shader都没有显示加载成功,请问是什么问题?在编辑器中加载包体预热,Shader是显示正常加载的。

A:FGUI添加Shader都是通过Shader.Find操作的,要让Shader.Find这方法能找到,需要执行以下操作之一:

  1. 从场景中使用的某些材质中引用它;
  2. 将其添加到ProjectSettings/Graphics中的“始终包含的着色器”列表中;
  3. 将着色器或引用它的对象(例如材质)放入“Resources”文件夹中。

感谢题主K了个O@UWA问答社区提供了回答,欢迎大家转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Platform

Q:请问在iOS开发过程中,开启iOS的应用内存扩展功能后,是如何确认扩展功能生效的?目前我们在开启打包后进行使用感觉不生效,但是发布上线对外后又好像生效了。

A:如果是指的是Increased Memory Limit,该功能的生效对苹果设备和iOS版本都有一定要求。

可参考官网的说法:
An increased memory limit is only available on some device models. Call the os_proc_available_memory function to determine the amount of memory available. Higher memory use can affect system performance.

具体是否生效、效果如何,可能就要看手头测试机内存加压测试中闪退阈值的变化;或线上实际闪退率了。

感谢Faust@UWA问答社区提供了回答,欢迎大家转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Editor

Q:实测,触发SpriteAtlasManager.atlasRequested回调,比加载界面晚了一帧执行,导致会闪一帧白图。请教有何优化办法吗?图集已勾选Include in build。

A:Unity触发SpriteAtlasManager.atlasRequested时,AssetBundle系统还没初始化完毕,导致加载不到图集,进去后显示全白块了。因为我用的是YooAsset插件,这个东西初始化是异步的。只有下次触发SpriteAtlasManager.atlasRequested,才能再次加载图集,这可能是加载一个新的SpriteAtlas、或者加载场景时。

解决这个的方法时,在AssetBundle系统还没初始化时,SpriteAtlasManager.atlasRequested的请求先缓存起来,等初始化结束后再处理。

using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.U2D;namespaceGameCore.Unity
{//场景一加载就会unity就会触发atlasRequested,但是这时候AssetBundle系统还没初始化,无法加载图集。//因此等待AssetBundle初始化后加载。//从编辑场景进入游戏的话,编辑场景里也挂载这个组件就行了。publicclassSpriteAtlasLoader : MonoBehaviour{//缓存Unity的请求privatestatic Dictionary<string, Action<SpriteAtlas>> requestAtlasCallbacks = new();private IResManager resManager;//AssetBundle系统初始化后, 设置ResManagerpublic void SetResManager(IResManager resManager){this.resManager = resManager;foreach(var kv in requestAtlasCallbacks){RequestAtlas(kv.Key, kv.Value);}requestAtlasCallbacks.Clear();}private void OnEnable(){SpriteAtlasManager.atlasRequested += RequestAtlas;}private void OnDisable(){SpriteAtlasManager.atlasRequested -= RequestAtlas;}//AssetBundle系统初始化后,resManager不为nullprotected virtual void RequestAtlas(string atlasName, Action<SpriteAtlas> callback){if(resManager != null){callback(ResManager.Instance.GetAsset<SpriteAtlas>(atlasName));}else{requestAtlasCallbacks.Add(atlasName, callback);}}}
}

因为我有一个专门编辑Prefab的场景,可以直接从这个场景进游戏,因此单独做了一个组件,需要的场景里挂上就行了。

详情可参考《Unity SpriteAtlasManager.atlasRequested趟坑》。

感谢小泽@UWA问答社区提供了回答,欢迎大家转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Platform

Q:Unity如何使用Java 17打包,目前设置Java 17后Unity会提示错误,如何强制设置Java 17?

A:升级Unity版本或者用Unity导出AndroidStudio工程,在AndroidStudio中使用Java 17出包。

详情可参考《Unity2022接入Google广告与支付SDK、导出工程到Android Studio使用JDK17进行打包完整流程与过程中的相关错误及处理经验总结》

感谢hcg@UWA问答社区提供了回答,欢迎大家转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/920077.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/920077.shtml
英文地址,请注明出处:http://en.pswp.cn/news/920077.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python二进制、八进制与十六进制高级操作指南:从底层处理到工程实践

引言&#xff1a;为何需要掌握进制操作&#xff1f;在现代计算领域&#xff0c;直接操作不同进制的数值是一项核心技术能力。根据2024年Stack Overflow开发者调查报告&#xff1a;73%的低级系统开发涉及位级操作65%的网络协议要求理解十六进制数据80%的硬件接口配置使用二进制控…

离线可用的网络急救方案

在使用电脑的过程中&#xff0c;经常会遇到断网的状况&#xff0c;这种情况让人十分头疼&#xff0c;很多时候我们都不知道去哪里找相关的教程来解决这样的问题。它能一键操作解决电脑的网络故障问题&#xff0c;最关键的是它是完全免费的。它只需解压就可以直接双击使用。把工…

华为云Stack环境中计算资源,存储资源,网络资源发放前的准备工作(中篇)

实验流程说明再上期文章链接如下&#xff1a; 华为云Stack环境中计算资源&#xff0c;存储资源&#xff0c;网络资源发放前的准备工作&#xff08;上篇&#xff09; 华为云Stack环境中计算资源&#xff0c;存储资源&#xff0c;网络资源发放前的准备工作&#xff08;中篇篇&am…

设置密钥连接服务器

要将本地电脑的 SSH 公钥添加到服务器登录&#xff0c;可按以下步骤操作&#xff0c;确保服务器仅允许密钥认证&#xff1a; 一、将本地公钥添加到服务器 &#xff08;前提&#xff1a;你已通过密码或现有方式能登录服务器&#xff0c;且本地已生成 SSH 密钥对&#xff09; 1. …

k8s笔记04-常用部署命令

Kubernetes&#xff08;K8s&#xff09;部署与版本管理命令笔记 一、部署核心命令分类与应用场景 K8s中用于应用部署、版本控制与实例扩缩容的核心命令主要包括三类&#xff0c;分别对应“版本回滚”“手动扩缩容”“自动扩缩容”场景&#xff0c;是CKA考试中部署类题目的核心考…

[系统架构设计师]知识产权(二十)

[系统架构设计师]知识产权&#xff08;二十&#xff09; 一.知识产权的特性 1.特性 无体性&#xff1a;抽象财富 专有性&#xff1a;权利人同意或法律规定外&#xff0c;权利人以外的任何人不得享有或使用该项权力 地域性&#xff1a;只能在该国范围内手法律保护 时间性&#x…

rk3566编译squashfs报错解决

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 编译开源的rk3566代码squashfs报错&#xff0c;tspi_linux_sdk_repo_20240131.tar.gz 下之前先读我 1.tspi_linux_sdk_20230916.tar.gz这个是之前老的没有git和repo的版本&#xff0c;后面会删除掉大家…

HTTP 协议与TCP 的其他机制

TCP 的其他机制TCP头部的标志位SYN&#xff1a;请求建立连接标志位ACK&#xff1a;响应报文标志位PSH&#xff1a;携带数据标志位&#xff0c;通知接收方该从缓冲区读数据FIN&#xff1a;请求断开连接标志位RST&#xff1a;复位标志位URG&#xff1a;紧急数据标志位安全可靠机制…

点评《JMeter核心技术、性能测试与性能分析》一书

《JMeter核心技术、性能测试与性能分析》深度评价‌该书作为清华大学出版社2025年推出的性能测试领域新作&#xff0c;展现了鲜明的技术深度与实践导向性&#xff0c;具体评价如下&#xff1a;‌1. 内容体系&#xff1a;系统性与前沿性兼备‌‌知识架构完整‌&#xff1a;覆盖J…

深入解析:为什么应该避免使用 atoi、atol 和 atof 函数

问题本质深度分析 简化源码展示&#xff1a;看清本质 atoi 的典型实现&#xff1a; // atoi 的简化实现 - 看清问题所在 int atoi(const char *str) {int sign 1;int result 0;// 跳过空白字符while (isspace(*str)) {str;}// 处理符号if (*str -) {sign -1;str;} else if …

计算机网络:HTTP、抓包、TCP和UDP报文及重要概念

一、http超文本传输协议&#xff08;应用层&#xff09;&#xff08;一&#xff09;万维网1.工作过程&#xff08;二&#xff09;统一资源定位符&#xff08;URL&#xff09;http的默认端口号是80&#xff08;三&#xff09;HTTP报文结构请求报文&#xff1a;客户端-->服务器…

three.js+WebGL踩坑经验合集(8.3):合理设置camera.near和camera.far缓解实际场景中的z-fighting叠面问题

本篇延续上篇内容&#xff1a; three.jsWebGL踩坑经验合集(8.2):z-fighting叠面问题和camera.near的坑爹关系-CSDN博客 笔者也是狠佩服自己&#xff1a;一个还没划上句号的文章都能拖了半年才继续写。这次也是运气好&#xff0c;工作上再次遇到叠面问题&#xff0c;可以借这机…

记一次生产环境Hbase填坑之路、Hbase客户端登陆、kerberos认证、端口列表、Pod上手撕代码【Hbase最佳实践】

背景 1、软件系统&#xff08;转储系统&#xff09;需要向生产环境迁移&#xff1a;迁到国产操作系统、国产资源池&#xff08;Hbase存储不变&#xff09; 2、老环境上的转储系统本身存在写入hbase的性能问题、及部分省份写入hbase失败的问题&#xff08;20%失败&#xff09;…

C++知识杂项搜集

C使用如下库优化事件的注册和发布&#xff0c;ZeroMQzmqpp 通信机制&#xff0c;请求-应带方式&#xff0c;push-pull方式&#xff0c;publisher-subcriber发布-订阅模式eventpp 事件注册和回调sockpp tcp/udp封装threadpool 线程池Jinja 一个 python 的模板实现配置是实现…

连锁零售排班难?自动排班系统来解决

零售、连锁企业门店多、员工杂、班次密&#xff0c;排班时总有绕不开的问题&#xff1a;跨门店调人成本怎么算&#xff1f;节假日高峰期人手怎么补&#xff1f;全职兼职混合排班怎么平衡&#xff1f;其实&#xff0c;这些场景化难题&#xff0c;盖雅自动排班系统早就有了针对性…

Android用Coil 3检查媒体资源是否有效,Kotlin

Android用Coil 3检查媒体资源是否有效&#xff0c;Kotlin WorkerThreadfun checkImage(ctx: Context, uri: Uri): Boolean {val t System.currentTimeMillis()val request ImageRequest.Builder(ctx).data(uri).memoryCacheKey(uri.toString()).precision(Precision.INEXACT)…

Seaborn数据可视化实战:Seaborn数据可视化入门-绘制统计图表与数据分析

使用Seaborn绘制统计图表&#xff1a;从入门到精通 学习目标 通过本课程的学习&#xff0c;你将掌握如何使用Seaborn库绘制各种统计图表&#xff0c;包括直方图、密度图和箱形图。你将了解这些图表在数据分析中的应用&#xff0c;以及如何通过图表来更好地理解数据。 相关知识点…

​Mac用户安装JDK 22完整流程(Intel版dmg文件安装指南附安装包下载)​

一、准备工作 ​确认你的 Mac 是 Intel 芯片的​ 如果你的 Mac 是 2020 年及之前出的&#xff0c;大概率是 Intel 芯片&#xff0c;可以用这个 ​jdk-22_macos-x64_bin.dmg。如果是 2020 年之后出的 M1 或 M2 芯片的 Mac&#xff08;就是 Apple 芯片&#xff09;&#xff0c;那…

C语言——链表指定区间反转

目录 1.创建一个链表 1.链表节点定义 2.创建新节点 3.链表生成&#xff08;输入&#xff09; 4.链表输出 2.链表指定区间反转函数 1.创建哑节点 2.找到第m-1位的节点&#xff0c;开始 反转 3.连接反转后的链表与未反转的链表 3.未使用哑节点的运行结果 这段代码可以…

设计一个完整可用的 Spring Boot Starter

目录 1. 创建项目结构 2. 添加核心依赖 (pom.xml) 3. 实现核心组件 (1) 配置属性类 (2) 服务实现类 (3) 自动配置类 4. 注册自动配置 5. 配置元数据支持 6. 打包发布 7. 其他项目引用 (1) 添加依赖 (2) 配置参数 (3) 使用服务 设计要点 要设计一个完整可用的 Spr…