首页 文章

Unity3D - 使纹理边缘不会拉伸

提问于
浏览
0

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

enter image description here

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


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

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

Viewing the speech bubble object

Viewing the speech bubble sprite

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

1 回答

  • 2

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

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

    Point Filter Mode

相关问题