2018-09-26 20:37:03 qq_37003027 阅读数 79

在unity3d中,我们经常需要往界面上添加图片,文本,这时候我们就得使用UI了。 creat->uI,里面就有各种各样的UI对象。
在我们设置了各种各样的Text、Button、Image之后,对于小白来说,没有经过他人的手把手操作,要想调整它们的位置是非常困难的。因为,就算通过Scence中的拖拽,在改变画面大小之后,上面的UIGameObject也会到处乱飞。

现在我讲一下解决过程:
第一步:creat->UI->想要的UI;
第二步: 切换到Scence,并且切换到2d视图(位于左上角);
第三步:点击UI对象,在左侧Inspector中,有一个RectTransform,里面左侧有一个四方形的视图;
第四步:点击视图,里面有各种选项,要想使得无论水平,还是垂直方向,UI对象随着画面的大小自动变换位置,适应画面,可以按住shift,选择右下角的图形。同理,若想按别的方向固定变化,可以选择对应的拉伸。

原理:
Anchor(锚点):是由两个Vector2的向量决定的,归化成两个点,分别为Min和Max,两个点确定一个矩形,Min确定左下角坐标,Max确定右上角坐标。
Pivot(中心):Pivot为矩形中心。显示Pivot可以在工具栏中选择Transform Tools的最后一个选项,或者使用快捷键T。

笔记:
1.Transform有 position 和 localPosition 属性,这两个分别代表在世界空间的绝对位置和相对于父级物体的相对位置。RectTransform引入了 anchoredPosition 和 anchoredPosition3D ,它们都是相对位置,但是相对的是自身的Anchor。当锚点全部重合时, anchoredPosition 代表的就是自身Pivot到Anchor的向量。

2.在Screen Space——Overlay的模式下,由于Canvas的世界尺寸与其像素尺寸在数值上相等,因此其rectTransform的position与其在屏幕空间的坐标在数值上也相等。这种模式下,要获取某个RectTransform的屏幕坐标,直接使用position就可以。在Screen Space——Camera的模式和World Space下,RectTransform的渲染与摄像机有关,在获取其屏幕坐标时,需要利用canvas.worldCamera,或者transform.TransformPoint等坐标转换函数进行坐标转换。

2013-01-22 14:57:45 cony100 阅读数 1535

我想实现一个通过转化json来制作ui的东东,这样就可以比较简单的通过编写和操作json来改变ui,并且可以把json存入数据库,但是始终无法实现,因为unity3d的ui实现的让我觉得有些怪异,他不是个对象,我们只能针对ui的每一帧进行编码,这样非常累。。

有高手来指点一下么

2019-08-22 13:56:31 qq_34229678 阅读数 567

Unity3D UGUI修改Layer层级让摄像机看不到UI

最近测试才发现,改变UI自身的Layer层是无法让摄像机屏蔽UI的,不过可以通过改变其 Canvas(画布)的Layer层来影响摄像机。

2016-11-19 18:47:52 BuladeMian 阅读数 4421
Unity几种改变物体或图片透明的方法,涉及到NGUI这个插件。

改变 Unity 图片 精灵  透明度,实质是改变Alpha的值

NGUI UI Slider 可以改变 滑动条的 透明度

可以改变按钮、图片、的透明度

Unity--NGUI--Tween--Alpha
【Unity资料经验总结】Unity几种改变物体或图片透明的方法 - BuladeMian - 不辣得面的博客

给其精灵物体添加了一个 Tween Alpha插件
From 0-1
To 0-1
实质是改变Alpha的值,Alpha的值等于0的时候,完全透明。

Play Style 有三种变换模式:1.Once 只执行一次 2.Loop循环 3.Ping Pong(From0.455 To1,然后再从1到0.455,循环)

【Unity资料经验总结】Unity几种改变物体或图片透明的方法 - BuladeMian - 不辣得面的博客

还可以调用On Fineshed
结束时候调用其他东西
 

unity3d摄像机

阅读数 32574

没有更多推荐了,返回首页