Unity UGUI Image 善用纹理的WrapMode

博客园首页 William 329浏览 0评论

问题

1

做之前箭头演示Demo时候,直接Tiled抻拉了箭头Body部分. 底下有一段Warning提示,之前一直没注意.今天无意间看到了.

It looks like you want to tile a sprite with no border. It would be more efficient to …

原因

其实这个说的是使用纹理的WrapMode设置错了. 虽然可以做到Tiled.但是效率不高.

切换到Wireframe下看的一目了然.

2

可以看到 Clamp是通过绘制了多个”方块”才达到的Tiled,而Repeat只绘制了一个”方块”. 专业一点的说法就是后者 使用的顶点(vertices)比前者少. 所以性能会高 ?

引申阅读

Unity Shader入门精要笔记(十二):纹理属性
里面有详细的介绍 ClampRepeat的区别

Repeat
3

Clamp
4

注意 Clamp 是对纹理外围1像素进行无限抻拉. 详情也可参照 官网API TextureWrapMode.Clamp

Clamps the texture to the last pixel at the edge.

This is useful for preventing wrapping artifacts when mapping an image onto an object and you don’t want the texture to tile. UV coordinates will be clamped to the range 0…1. When UVs are larger than 1 or smaller than 0, the last pixel at the border will be used.

This mode is called “clamp to edge” in graphics APIs like Vulkan, Metal and OpenGL.


注:www2014.aspxhtml.com转载自cnblogs,若看不到图片,请移步来源网址查看。
via:https://www.cnblogs.com/eran/p/9393041.html

转载请注明:AspxHtml学习分享网 » Unity UGUI Image 善用纹理的WrapMode

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址