【问题标题】:Unity3D - Make texture edges not stretchUnity3D - 使纹理边缘不拉伸
【发布时间】:2016-11-22 07:01:50
【问题描述】:

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

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


所以,问题如下:我怎样才能对 3D 空间中的透明、无光照纹理做同样的事情?我在平面上有一个语音气泡纹理,我知道如何重新缩放以适应语音气泡中的文本。

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

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

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    要完成您的要求,您需要为此对话泡泡创建图块,然后编写一个脚本,根据飞机的比例值按程序构建对话泡泡。您也可以尝试将纹理的过滤器模式更改为点。

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

    【讨论】:

    • 世界画布的东西是我想到但没有考虑太多的一个想法。现在看来,这可能是最好的选择。谢谢:)
    猜你喜欢
    • 2020-01-19
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多