如果想用代码实现与下面面板相同的功能 试验可知改变上面选项下面四个值也随之变化: 所以说明二者是一回事儿. 因此,只要通过代码修改RectTransform的anchorMax和anchorMin成员即可.…
public static bool ScreenPointToLocalPointInRectangle(RectTransform rect, Vector2 screenPoint, Camera cam, out Vector2 localPoint); rect: 对应的 RectTransform 的引用screenPoint: 位置,基于屏幕坐标系cam: 相机的引用,如果Canvas的Render Mode 为 Screen Space - Camera 模式,则需要填入 Ren…
UGUI RectTransform.Unity RectTransform详解 The first:look look API. http://docs.unity3d.com/ScriptReference/RectTransform.html 在新的UI系统中,无论Button,Text,Image,Toggle等组件,都是基于RectTransform进行布局的. 你可以不知Button为何物,不知Text为何物,不知Image为何物,但是一定要知道RectTransform. 自Uni…
https://blog.uwa4d.com/archives/QA_UGUI-1.html 关于Unity中的UGUI优化,你可能遇到这些问题 作者:admin / 时间:2016年11月08日 / 浏览:23818 次 / 分类:厚积薄发 关键字 界面制作网格重建界面切换加载相关字体 一.界面制作 Q1:UGUI里的这个选项 ,应该是ETC2拆分Alpha通道的意思,但是在使用中并没起作用?请问有没有什么拆分的标准和特别要求呢? 据我们所知,alpha split 的功能最初只对 Unity…
UGUI游戏对象基本都有这个组件. float radius; radius = GetComponent<RectTransform>().sizeDelta.x; radius = (transform as RectTransform).sizeDelta.xf; 上面两个给radius赋值的方式是一样的. UGUI游戏对象的 RectTransform.position  与 transform.position ,RectTransform.localPosition  与 tran…
看Unity3D文档像看国内教课书一样,一些概念,不懂的时候看还是不懂,明白了以后再看,好像也没有说错.好几个做Unity3D的朋友跟我吐槽过U3D的文档质量,相比Apple贴心的技术文档相去甚远. 话虽这么说,权威的资料当然还是官方的,建议先仔细读一遍,不懂的再往下读:http://docs.unity3d.com/Manual/UISystem.html 网上的教程大多泛泛而谈,就不吐槽了.好在还找到了一篇比较好的解读,在此谢谢作者白猫.文章链接在下面http://www.cnblogs.c…
在商店看到这样一个例子,表示很有兴趣,他们说是用UGUI做的.我想,像这种可以随便变形的图形,我第一个就想到了网格变形. 做法1: 细心的朋友应该会发现,每个UGUI可见元素,都有一个‘Canvas Render'组件,就跟3D世界模型有'Mesh Render'以及2D Sprite 有’Sprite Render'一样,UGUI的UI元素也需要一个Render渲染出来,那么第一时间想到的就是修改Render的Mesh. 对Mesh操作不熟的可以看这篇文章 private CanvasRend…
目录 1.介绍两大UI插件NGUI和UGUI 2.unity渲染顺序控制方式 3.NGUI的控制 4.UGUI的控制 5.模型深度的控制 6.粒子特效深度控制 7.NGUI与模型和粒子特效穿插层级管理 8.UGUI与模型和粒子特效穿插层级管理 写在前面 这篇笔记是整理了之前做的记录,在做项目的过程中,遇到了各种各样的界面穿插问题,界面层级混乱,比如,手机卡了或点快了,就导致两个界面相互交叉.对于界面,这应该算是一个很严重的bug,很大部分原因是整个UI框架没有从整体上考虑这个,后来决心弄清楚层级…
RectTransform解析 当 Anchor 在同一点时,显示的是物体的座标与大小Pos X.Pos Y.Width.Height ,当 Anchor 不在同一点时(此时会形成矩形),显示的会是 Anchor 矩形填充空间 Left.Top.Right.Buttom Vector2 anchoredPosition:可以理解为Pivot点相对于Anchor reference点的位置.Anchor reference点,这样理解的:当四个anchors点在一起的时候,这个点就是anchor…
一些RectTransform的物体(UGUI元素)已经实现了ILayoutElement接口,如Image. 如果一个RectTransform的物体(UGUI元素)的其中一个组件实现了ILayoutElement接口,同时这个RectTransform的物体又手动添加了一个LayoutElement组件,那么起作用的是新添加的LayoutElement组件(功能覆盖). Layout Group用户控制子物体的大小和位置,但它不能控制自己的大小. Grid Layout Group Cont…
在digital-tutors看到的一篇文章,很多初学者都有这样的疑问,因此翻译到这里. 原文:http://blog.digitaltutors.com/unity-udk-cryengine-game-engine-choose/ 如果你想要开发并向全世界发布你自己的游戏,那么在开始之前有一些很重要的问题你需要考虑.当下有一些免费的游戏引擎,它们为你的游戏开发提供了很多遍历,但问题是,你应该选择哪一个?为了帮助你进行选择,我们将给出最牛X的游戏引擎中的3个,来让你进行比较,然后决定哪一个最适…
前言 在看了uwa之前发布的<Unity项目常见Lua解决方案性能比较>,决定动手写一篇关于lua+unity方案的性能优化文. 整合lua是目前最强大的unity热更新方案,毕竟这是唯一可以支持ios热更新的办法.然而作为一个重度ulua用户,我们踩过了很多的坑才将ulua上升到一个可以在项目中大规模使用的状态.事实上即使到现在lua+unity的方案仍不能轻易的说可以肆意使用,要用好,你需要知道很多. 因此,这篇文章是从一堆简单的优化建议里头,逐步挖掘出背后的原因.只有理解了原因,才能很清…
论文抛弃以往根据IoU硬性指定anchor和GT匹配关系的方法,提出FreeAnchor方法来进行更自由的匹配,该方法将目标检测的训练定义为最大似然估计(MLE)过程,端到端地同时学习目标分类.目标检测以及匹配关系,从实验来看,效果十分显著   来源:晓飞的算法工程笔记 公众号 论文: FreeAnchor: Learning to Match Anchors for Visual Object Detection 论文地址:https://arxiv.org/abs/1909.02466v1…
Pivot:自身中心点,图标是小蓝点.表示图片以哪个点来计算坐标值.默认在UI元素的几何中心点(0.5, 0,5). Anchor:锚点,图标是四个小三角形.表示该UI元素以父物体的哪个位置作为缩放参考,锚点不能选在父容器外面.父物体缩放时,影响到子物体的缩放,锚点4个点分开时,图片四个顶点距离锚点的距离,在伸缩时保持不变,控制锚点位置来控制缩放方式. PosX,PosY:自身中心点以锚点为原点的坐标值(依据锚点来设置位置的),必须锚点4个小三角合并在一个点上才出现该属性. Left,Right…
我的环境 Unity 5.3.7p4 在运行时动态的设置UI元素的锚点和中心点. 设置Anchor 修改offsetMax不生效 使用下面这段代码设置Anchor并不会生效,尽管他和你在属性面板看到的值是一样的. retRoot.offsetMin = Vector2(0,0) retRoot.offsetMax = Vector2(0,0) SetInsetAndSizeFromParentEdge 使用SetInsetAndSizeFromParentEdge函数来进行设定.此函数不受锚点和…
无意间发现了一个小技巧.如下图所示,可以发现UGUI的Image组件的RaycastTarget勾选以后会消耗一些效率,为了节省效率就不要勾选它了,不仅Image组件Text组件也有这样的问题. 一般UI里也就是按钮才需要接收响应事件,那么大部分image和text是是不需要开RaycastTarget的. 但是问题就来了,Unity默认在hierarchy窗口Create->UI->Image .Text的时候就会自动帮我们勾选上RaycastTarget, 一个复杂点的界面至少也300+个…
因为Unity 4.6刚刚发布,自带的uGUI功能的相关资料还不是很完善,今天刚装的Unity 4.6,想看一下uGUI是否好用,那么开始就今天的学习吧啊! 1,新建一个空的工程.…
一.Toggle Group(Script) LeftButtons上添加Toggle Group组件,属性Allow Switch Off打对勾,代表它的所有子物体上带有Toggle组件的属性Is On是关闭状态. 至此一个按钮组ToggleGroup制作完毕,在这个组下的Toggle只有一个可以被选择. 二.Grid Layout Group组件 1.Padding:RectOffset类型,矩形偏移,详解请戳UGUI之Horizontal Layout Group组件介绍 2.Cell S…
文章转载自:http://www.unity.5helpyou.com/3211.html 游戏制作中,经常需要使用各种花哨的文字或者数字,而字体库往往不能达到我们需要的效果,因此需要一种用图片替代文字的功能.ugui使用艺术字也比较简单,下面我们就来介绍下UGUI美术字体的制作与使用,本文使用BMFont作为字体制作工具,简单讲讲如何制作艺术字体:1.让美术提交分块后的文字: 2.打开BMFont工具,找到图片管理(Edit->Open Image Manager): 3.导入字体图片,并与文…
感觉使用Unity之后总能看到各种各样解决混排的方案,只能说明Unity不够体恤下情啊.这篇文章主要讲一下个人在使用过程中方案选择和优化过程,已做记录.顺便提下,开源很多意味着坑,还是要开实际需求. 1. 方案选择 1 TextMeshPro Unity 最近公布收购了TextMeshPro并且免费开源给大家使用,估计还需要几个小版本才会完全融合到Unity中或者保持现在的状态.TextMeshPro支持效果丰富,兼容现在UI层级等,性能也可以满足移动端,但是很纠结的是: 现在的版本生成的字体库…
下载软件 1) Graphviz,下载地址:http://download.csdn.net/detail/u010953266/8591169 为什么不用官网?一是下载速度慢,二是下载到本地的文件貌似是有损坏的,每次安装都报错,后来直接放弃了,从其它地方搜到的: 2)Doxygen,下载地址:https://sourceforge.net/projects/doxygen/ 3)Unity UGUI的源码,下载地址:https://bitbucket.org/Unity-Technologie…
①不同Camera的Depth.(大在前,小在后)②同Camera的SortingLayer.(下在前,上在后)③同SortingLayer下的Order in Layer.(大在前,小在后)④同Order in Layer下的Z轴.(小在前,大在后) 注意: 如果是多个Canvas的渲染先后顺序 http://blog.csdn.net/huutu/article/details/43636241调Canvas下面有一个Sort Order值,默认为0,越大越在后面. 创建任意UGUI元素时自…
无意间发现了一个小技巧.如下图所示,可以发现UGUI的Image组件的RaycastTarget勾选以后会消耗一些效率,为了节省效率就不要勾选它了,不仅Image组件Text组件也有这样的问题. 一般UI里也就是按钮才需要接收响应事件,那么大部分image和text是是不需要开RaycastTarget的. 但是问题就来了,Unity默认在hierarchy窗口Create->UI->Image .Text的时候就会自动帮我们勾选上RaycastTarget, 一个复杂点的界面至少也300+个…
在Editor下监听按键有以下几种方式: 自定义菜单栏功能: using UnityEngine; using UnityEditor; public static class MyMenuCommands { [MenuItem("My Commands/First Command _p")] static void FirstCommand() { Debug.Log("You used the shortcut P"); } [MenuItem("M…
简介 介于自己之前经历的一些开发过程,非常希望unity能有类似Toast的功能用于一些简单的信息显示.但是找来找去找了半天,都木有发现,实在是憋不住了,自己写了个,感觉还可以用,发出来共享一下... 原理 原理嘛,就是先做一个Toast的prefeb,然后通过一个Manager将Toast生成出来,显示到Canvas. 然后出于性能考虑,由于反复Instantiate和Destroy对性能消耗巨大,所以内部使用了一个简单的Queue对生成出来的Toast进行了一个缓存. 使用方法 将prefe…
using UnityEngine;using System.Collections;using UnityEditor;using System.IO; [CustomPreview(typeof(GameObject))]public class UIPreview : ObjectPreview{ Texture preview; const string cachePreviewPath = "CachePreviews"; public override bool HasPr…
版权声明:本文为原创文章,转载请声明https://www.cnblogs.com/unityExplorer/p/13524824.html 使用UGUI进行游戏开发的过程中经常会遇到一个问题:玩家的头像在不同的界面或场景显示的形状可能不一样,有的地方需要显示成圆形,有些地方需要显示成方形 为了避免这种问题,我们选择殴打策划,恩...但是如果打策划打不过,美术小姐姐又不好意思打的话,怎么办?真出两套图,那不是一个精益求精的攻城狮乐意的看到的结果 有没有办法可以让同一张图可以显示成不同的形状呢?…
看ProjectorMultiply.shader,有这么一句: fixed4 texS = tex2Dproj (_ShadowTex, UNITY_PROJ_COORD(i.uvShadow)); 查了一下: UNITY_PROJ_COORD:given a 4-component vector, return a texture coordinate suitable for projected texture reads. On most platforms this returns t…
unity版本为5.1.1,在编辑器里运行没问题,build出的windows版运行也没问题,但build出的mac版在个别场景切换时会卡死,通过查看log(查看build版本log的方法参考:http://blog.theknightsofunity.com/accessing-unity-game-logs/),看到最后报出的错误是: Receiving unhandled NULL exception 如果改成development build,则不会卡死,运行正常. 搜到这个帖子:htt…
开头先吐槽一下博客园超级不好用,添加图片后就写不动字了,难道是bug 好进入正题,先来说下依赖注入,简单来说就是定义好接口,上层代码调用接口,具体实现通过配置文件方式去指定具体实现类. 首先我们需要通过nuget来安装unity 安装好后就可以写一个方法类去实现依赖注入 public class UnityIocHelper : IServiceProvider { private readonly IUnityContainer _container; private static reado…