我们可以用自定义的9-sliced图像来替换按钮的默认9-sliced图像,当然对于任何其他的UI Image组件来说也是一样可以被替换的。 2. 在Image组件中,使用对象选择器按钮来浏览一些工程预先提供的其他UI按钮图像。 探索:继续定制UI 我们已经知道如何添加和替换UI里的图像了。接下来请自由发挥,让UI变得更好看一点。比如可以用...
每个界面之间可能会有特效等,为了特效不在界面中穿插,因此每个界面都需要单独设置Order In Layer并且两个界面之间需要预留一定的空间,用来避免特效在界面中的穿插问题,这算是我见过比较常规的做法,但是这种做法还是比较麻烦,最好的方式是使用继承MaskableGraphic实现UI层面的粒子特效,推荐UI Particle Image插件,实现了UI粒子...
usingUnityEngine;usingUnityEngine.UI;publicclassImageExample:MonoBehaviour{publicImagemyImage;// 拖拽赋值或通过代码查找voidStart(){// 设置Sprite(需要先在项目中有一个Sprite资源)myImage.sprite=Resources.Load<Sprite>("MySprite");// 设置颜色myImage.color=Color.red;}} RawImage 组件 RawImage组件则提供了...
Canvas下的子实体Image:每个UI控件都是由美工设计的图片构成,这个就Image是放自己设计的图片的实体 EventSystem:监听UI相关的事件实体,用来支持点击触碰等。 这时我们可以看到一个白框,这个白框就是我们游戏看到的范围。 3.先制作背景 ①将实现制作好的背景素材拖到Image实体的Image(Script)的Source Image属性上,这时...
Canvas下的子实体Image:每个UI控件都是由美工设计的图片构成,这个就Image是放自己设计的图片的实体 EventSystem:监听UI相关的事件实体,用来支持点击触碰等。 这时我们可以看到一个白框,这个白框就是我们游戏看到的范围。 3.先制作背景 ①将实现制作好的背景素材拖到Image实体的Image(Script)的Source Image属性上,这时...
接下来,每个 UI 画面都应该另外建立 Canvas,并将画面内的其他 UI 元件放置在该 Canvas 之下,如此前面主画布里设置好的 Canvas Scaler 也将直接适用于其下的每个 UI 画面,另外,这麽做的另一个好处是,之后可以直接变更 Canvas 的 Sort Order 来排列 UI 画面的前后顺序。同时,每个画面除了 UI 元件之外,还需要使用...
探索:继续定制UI 我们已经知道如何添加和替换UI里的图像了。接下来请自由发挥,让UI变得更好看一点。比如可以用自定义的图像替换设置按钮的背景图,或者在按钮背景的边界处增加边框。 当我们的UI元素的层次变得更多时,有一点非常重要,我们要了解Canvas的绘制顺序(Draw Order)。物体是按照它们在Hierarchy中列表的顺序被画...
在UI画面中可以通过控制Order In Layer层级来控制渲染的层级,基于其默认的渲染队列,可以很好的和UI的层级区分开。在3D场景中,在和3D物体同一个渲染队列的情况下,可以很好的通过动画控制Z轴来实现与3D物体的遮挡关系。因为是Sprite所以可以实现基于图集和网格合并的批处理...
直接上代码 首先定义一个Text组件,以下UI组件都是这样定义的 usingUnityEngine; usingUnityEngine.UI; publicclasshpTest:MonoBehaviour { //文本组件Text-public publicText text1; //文本组件Text-private privateText text2; //Image图片组件 publicImage image; ...
(1)同一Canvas下的UI元素才能合批。不同Canvas即使Order in Layer相同也不合批,所以UI的合理规划和制作非常重要; (2)尽量整合并制作图集,从而使得不同UI元素的材质图集一致。图集中的按钮、图标等需要使用图片的比较小的UI元素,完全可以整合并制作图集。当它们密集地同时出现时,就有效降低了DrawCall; ...