Unity3D - 使纹理边缘不伸展

时间:2016-11-21 21:14:09

标签: unity3d

我一直在寻找这个,但不幸的是我似乎无法找到任何好的,一致的结果。因此,在Unity UI系统中,按钮可以伸展而不会变得像素化或扭曲。这是因为纹理被分成9个部分 - 角落,中间和侧面。

enter image description here

这是有效的,因为按钮的中间和侧面是拉伸的,而不是角落。然后,按钮在任何维度上都不会出现像素化。

所以,问题如下:如何在3D空间中为透明,不亮的纹理做同样的事情?我在平面上有一个气泡纹理,我知道如何重新缩放以适应气泡中的文字。

我已将纹理类型设置为Multiple Sprite,并将其分为9个部分。但是,我似乎无法找到我可以将纹理设置为像UI按钮那样的位置,而且我不确定这在3D空间中是否可行。

Viewing the speech bubble object Viewing the speech bubble sprite

有没有办法,或者我应该只是将纹理的不同部分制作成不同的对象,然后将它们组合在一起?与此相比,这似乎非常低效和丑陋。

1 个答案:

答案 0 :(得分:2)

要完成您的要求,您需要为此语音气泡创建切片,然后编写一个脚本,根据平面的比例值在程序上构建一个语音气泡。您也可以尝试将纹理的“过滤模式”更改为“点”。

但是我真的不认为你应该使用纹理。为什么不直接使用Unity Canvas并将渲染模式设置为World Space?然后你可以将文本框设置为精灵而不是纹理,并将其过滤模式设置为Point(见下文)。如果您希望以后在语音气泡中显示文本,这也会使它变得更加容易。

Point Filter Mode