学unity第三天!
今天在做ui过程中遇到了一个问题,就是我下载好的一个png格式的icon没办法直接赋在ui-image组件上。好奇怪,查了一下发现不是这样插入的。
在我们最初新建一个image组件后,写了一行这个
None(Sprite),表示此时组件里面没有图片,并且如果要添加图片,必须是Sprite(精灵)格式的,而我们大多导入的图片都是png,jpeg或是jpg的格式。
因此需要先做一些操作。
把需要的图片拖进asset以后,我的img如下
它默认的Texture Type为default,也就是普通的图片,点开选项卡,发现可以更改格式。
- Default:
- 用途:默认的Texture类型,适用于大多数情况。当你不确定使用哪种类型时,可以选择它。
- 特点:没有特殊的处理或优化。
- Normal Map:
- 用途:用于存储法线信息,常用于实现逼真的光照和表面细节。
- 特点:Unity会自动将图片的RGB通道解释为法线的X、Y、Z分量。
- Editor GUI and Legacy GUI
- 用途:允许开发者定制Unity编辑器的界面,添加自定义的控件和界面元素。
- Sprite (2D and UI):
- 用途:用于2D游戏和UI界面的Sprite图片。
- 特点:Unity会自动处理Sprite的边界、pivot等属性,方便在2D场景和UI中使用。
只看了这些,目前够用了。所以——我们要选择Sprite (2D and UI)。
选完以后点击“Apply”就好啦,图片的样子变化了
然后拖动到img的sprite里就好了。
遇到的困难:
过程中我直接将sprite格式的icon放入ui-image中,在scene中成功显示,但是没有在game中显示。
【注意看setting旁边那个小icon】
为什么啊!!!!
检查了层级结构和可见性,都没有问题。
又将icon放进game层级,确定可见,所以也不是渲染问题。
最后删掉重来了一次,在ui-》canvas-》setting的位置新建ui-img,再在其内部插入我需要的icon的sprite,成功了。
希望对大家有所帮助~