一.Slider节点 1.创建一个Canvas 2.对Canvas进行一些初始化操作 3.创建一个Image的UI节点在Canvas下面作为子节点 4.把Image铺满整个Canvas,把宽高设置为640X960 5.创建一个Slider的UI节点在Canvas下面作为子节点 6.Slider滑动条可以修改宽高,背景颜色,已经拉伸颜色,圆钮样式 7.修改滑动条背景Slider--> Background,指定图片或颜色. 8.修改滑动条进度的颜色Slider-->Fill Area-->…
一.Mask组件 遮罩,Rect Mask矩形Mask(Rect Mask2D组件),图片Mask(Mask组件)(图片Mask的透明度不为0的部分显示子图片,为0的部分不显示子图片) Rect Mask矩形Mask: 1.创建一个Canvas 2.配置Canvas,上一章讲过 3.在Canvas下面创建一个空子节点,取名Mask,专门用来做遮罩处理 4.在Mask节点下面再创建一个UI的Image子节点,拖Sprite类型的贴纸到Image子节点中,记得点击Set Native Size 5.…
一.图片的Inspector面板属性 Texture Type:一般是选择sprite(2D and UI) Sprite Mode:一般是选择Single Packing Tag:打包的标志值,最后打包的时候会把Tag相同的所有小图打包成一个大图.不像cocos打包图集需要用到第三方软件,这里Unity会帮我们把相同Tag的图片打包成大图,非常方便. Pixels Per Unit 100:表示100像素为1个Unity单位(1米),也可以在Scene视图中看出,640X960分辨率的图片在视…
Button是最常用的UI节点,包含的组件有 1.Image组件 显示Button的纹理,把Image贴图拖进Image组件中后,记得点击Set Native Size,显示贴图原始大小 2.Button组件 Interatable:打钩表示按钮可以被点击和交互,取消钩表示不能被点击和交互. Transition:过度效果,A.默认状态  B.鼠标划过效果Highlighted Sprite  C.按钮按下效果Pressed Sprite  D.按钮禁用状态Disabled Sprite 这里有…
一.贴图的Texture Type属性类型 Texture:会把贴图的大小转换为最相近的2的n次方,比如400X1369会转换为512X1024. Sprite 2D:是贴图的原始大小. 二.RawImage的UI节点 1.创建一个RawImage类型的UI节点,贴图属性是Texture,与Image是不一样的,Image是Sprite2D类型的. 2.RawImage比Image多一个Raw Image组件,里面的UV rect属性是比较特殊的. 3.UV rect的x,y的意思就是从贴图的哪…
有时候会发现 Unity UI 非常耗时,在 Profiler 中可以轻易的看到 UI 中 的 GraphicRaycaster.Raycast 单帧调用可以成百上千,甚至好几千,帧速率前不忍赌,一关掉 UI 立马满血复活.      这种情况大多出现在一是 Canvas 比较多而且子节点添加 GraphicRaycaster  组件也比较多的情况:二是每个 Canvas 下面有很多个 UI 面板,而每次其实显示的只有那么几个,不用的隐藏 SetActive(false),使用的激活显示 Set…
关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false 我们在 Unity 中通过 UI 菜单创建的各种控件,比如 Text, Image 等,它们的 Raycast Target 属性默认都是勾选的,这意味着他们会响应点击等时间,Unity 会将其加入到事件的响应队列,所以 UI 中这种控件数量很多时,是很影响性能的,确定不需要响应时间的都可以将改选项的勾选去掉.但是默认创建的都是全部勾选的,不过想要修改下这里面的细节又不破坏整体的使用习…
unity ui中鼠标移进或者移出的触发方式与2d.3d的不同,2d.3d物体使用的是onmouseover,ui使用的是OnPointerEnter.需要实现以下两个接口. public class TrackMouse: MonoBehaviour, IPointerEnterHandler, IPointerExitHandler { // Called when the pointer enters our GUI component. // Start tracking the mou…
最近看到有朋友问一个unity游戏开发团队,需要掌握哪些知识之类的问题.事实上Unity引擎是一个很灵活的引擎,根据团队开发游戏类型的不同,对人员的要求也有差异,所以不能一概而论.但是,一些在Unity项目开发过程中常常会遇到的问题还是可以总结一下的. 下面我就来聊聊实际工作中,一个项目组可能会遇到的问题吧. 0x01.项目前期规划时的问题 这里指的不是策划的需求或者游戏玩法的计划,而是作为一个Unity项目我们需要在一开始明确并制定好的规范和标准.作为一个Unity项目或软件项目,这部分是很重…
Unity 处理预设中的中文 需求由来 项目接入越南版本 需要解决的文本问题 获取UI预设Label里面的中文(没被代码控制)提供给越南 Label里面的中文替换成越南文 解决流程 迭代获取Assets目录下所有文件 获取所有的.prefab预设文件 加载预设文件 获取预设下所有的UILabel组建 判断UILabel中的值是否为中文 把所有的中文实例化成文本 替换成越南文 保存实例化对象为预设文件 销毁实例化对象 实现代码 获取UI预设Label里面的中文 [MenuItem("检查预设中文并…