[Unity3D]如何在文本上使用贴图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Unity3D]如何在文本上使用贴图相关的知识,希望对你有一定的参考价值。

参考技术A 新建一个文本,像往常一样,调好fontsize,rect transform的height。如下图

新建一个材质球,shader选择 UI/Unlit/Text Detail,图片选择美术给的图,注意,图片的格式不需要转成sprite,用default就可以了。
Detail Strength 的值改成1

把材质球赋到文本上

会看到效果如下

如果看到文本是还是白色的,那就要设置一下canvas的 Additional Shader Channels ,把 TexCoord1 加上

文本还需要加上 PositionAsUV1 这个组件,加上之后,就会看到效果如下

但是这个时候,效果还不是美术想要的结果,这是因为文本的实际的大小跟文本显示内容的大小是不一样的。

比如我设置的这个,文本高度是58,但是内容的高度是41

为了计算内容的高度,我们创建一张图片来测量它。

测出内容的高度是43

最后设置shader的Tiling Offset的值。其中Offset x y 是固定的,分别为0和0.5,Tiling的x值填1就可以了。Y值是算出来的,计算方式是贴图的高度除于内容的高度,比如我这个就是32/43=0.744186

这样,最终效果就是美术想要的效果了。

Offset的y也不是固定0.5,因为内容也不是完全居中,一般是偏上。

所以y值0.5往下调一点,比如0.45

以上是关于[Unity3D]如何在文本上使用贴图的主要内容,如果未能解决你的问题,请参考以下文章

unity3d里面想利用贴图实现模型表面有凹凸质感具体如何操作?

unity3d 如何将贴图的黑色背景变为透明

在 Unity3d 中,如何将浮动窗口(例如光照贴图)添加到现有的一组选项卡(例如:Inspector)?

Unity3D中,如何把图像文件保存为数组并通过输入键盘信息调用?

Unity3D怎么给模型贴图

Unity3D入门