纹理开启Mipmap导致压缩失败的问题

纹理开启Mipmap导致压缩失败的问题

1)纹理开启Mipmap导致压缩失败的问题
​2)使用TextMeshPro能否避免使用Resources文件夹
3)用透视摄像机去分层管理UI的优势和好处
4)Houdini中切线空间向量怎么在Unity Shader还原出原向量


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

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

Texture

Q:看到一些优化建议中说,ASTC压缩格式在开启Mipmap之后需要保证纹理尺寸为2的幂次方。

可是Mipmap的生成不受纹理尺寸的影响(非2的幂次方会有性能开销,但也可以生成Mipmap),ASTC压缩也是不受尺寸大小限制的。

但为什么非2的幂次方纹理开启Mipmap采用ASTC压缩格式会压缩失败?中间是有什么冲突吗?

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


TextMeshPro

Q:使用TextMeshPro时,自带有Resources文件夹里面会放字体资源和TMP_setting,最后打测试包发现占据的内存还是比较大,而且我只用了一个字体。

有无办法不使用Resources?或者减少Resource内存大小呢?
参考:https://blog.csdn.net/akof1314/article/details/87985603

A:如果你对修改源码没有意见,建议修改源码。
把所有Resource.Load调用,代理成自定义方法(大概3处左右)。

感谢1 9 7 3-311135@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/63f0798606385405990d43e6


UI

Q:用透视摄像机去分层管理UI,是有什么优势和好处吗?能联想到的就是透视摄像机可以调节大小、位置、旋转、方便做3D效果,还是说还有一些别的优势?

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


Rendering

Q:目前有一个需求, 在Houdini中,将法线从模型空间转换到切线空间后,保存到顶点颜色中,在Unity Shader通过读取顶点颜色将法线从切线空间转换到模型空间。

Houdini中:生成切线选择MikkT算法,和Unity保持一致:

vector T = normalize(v@tangentu);
vector B = normalize(v@tangentv) ;
vector N = normalize(@N);
matrix m = set(@T, @B, @N);
@Cd = m * @Cd;
@Cd = @Cd * {-0.5,0.5,0.5} + 0.5;  //Houdini是右手坐标系,加负号转左手坐标系

在Unity Shader中:

float3 bitangent = cross(normalize(v.normal) , normalize(v.tangent.xyz)) * v.tangent.w;
float3x3 TtoO = float3x3(v.tangent.x, bitangent.x, v.normal.x,
v.tangent.y, bitangent.y, v.normal.y,
v.tangent.z, bitangent.z, v.normal.z);
float3 normalOS = v.color.xyz;
normalOS = normalOS * 2 -1;
normalOS = mul(TtoO, normalOS) ;

但是这样转换出的法线是不对的。

然后做了如下测试:在Houdini中,直接将法线写入顶点颜色通道:

@Cd = @N;
@Cd = @Cd * 0.5 + 0.5;
@Cd = normalize(@Cd);
@N = @Cd;

Unity中,通过RenderDoc截帧:

向法线和顶点写入同样的数值,Unity中得到的向量顺序不一样,数值可能小数也有偏差。

哪位大佬有Unity源码的代码能不能看下Unity在导入FBX时做了哪些计算,怎么能构建出Houdini中的TBN逆矩阵来还原出houdini写入的切线空间向量?

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

封面图来源于网络


今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。

官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:465082844