Text Mesh Pro图文混排如何对任何图片都能实现

1)Text Mesh Pro图文混排如何对任何图片都能实现
2)Unity iOS平台的小图占用特别大的内存
3)只在编辑器内,纹理不开启Read&Write情况下,如何获取纹理所有颜色值
4)准备在海外发行游戏,有哪些比较常用的身份认证类SDK


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

UWA社区主页:community.uwa4d.com
UWA QQ群:465082844

UI

Q:目前Text Mesh Pro图文混排需要把图片打入图集并放入TMP的Resources文件夹中。项目中想在任务UI面板展示很多装备或物品的icon,这些icon都是打好了的图集,很多别的系统也要用,不可能都放入TMP的这个资源文件夹里,但这样就无法进行图文混排,请问有什么解决办法吗?

A:资源存放在Resources文件夹只是因为没有AssetBundle系统,不是必须放在这个文件夹下,可以按照正常的Bundle来处理。但TMP图集格式是否可以共用就不确定了。

感谢Knight-132872@UWA问答社区提供了回答


Memory

Q:Unity iOS平台的小图占用特别大的内存,有谁遇见过吗?

图片大小几十KB,且每次的图片不一样,如下图:

 

A:图片占用内存大小跟图片磁盘大小无关,它跟图片尺寸大小和图片的纹理格式相关。

感谢黄大仙@UWA问答社区提供了回答


Editor

Q:只想在编辑器内优化一些纹理图片,纹理不开启Read&Write。

目前方案如下,但是会有几个问题:
1. LoadImage只支持PNG、JPG格式,像TGA、PSD格式则返回为空。
2. 对于那些几十MB的PNG纹理,也是返回空。

请问有无其他方式?

代码如下:

var texture = AssetDatabase.LoadAssetAtPath<Texture2D>(assetPath);
var bytes = File.ReadAllBytes(assetPath);
var new_texture = new Texture2D(texture.width, texture.height);
var res = new_texture.LoadImage(bytes);
if (res == false)
{
    Debug.LogError($"错误提示:{assetPath}纹理资源LoadImage失败", texture);
    return null;
}
var colors = new_texture.GetPixels32();  // 获取到所需颜色数组

  

针对以上问题,有经验的朋友欢迎转至社区交流分享:
https://answer.uwa4d.com/question/65b320393625c22cffcb1de5


SDK

Q:准备在海外发行游戏,请问身份认证类SDK有哪些比较常用?正在做这方面的技术调研,最好是能直接支持Unity接入的,谢谢。

A1:可以使用Google或Facebook。如果是苹果系统则必须要接入Apple ID。

感谢魏旭@UWA问答社区提供了回答

A2:可以使用Firebase。

感谢Y5vcTAeFrUUS@UWA问答社区提供了回答

封面图来源于网络


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

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:465082844

posted @ 2024-02-04 14:44  UWATech  阅读(34)  评论(0编辑  收藏  举报