开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:1972

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 597|回复: 16

[仅为年时] UGUI气泡的遮挡问题研究与解决(下)

[复制链接]  [移动端链接]
排名
623
昨日变化
2

255

主题

1323

帖子

6284

积分

Rank: 16

UID
73452
好友
93
蛮牛币
3802
威望
0
注册时间
2015-2-6
在线时间
1869 小时
最后登录
2017-11-24

专栏作家蛮牛译员社区QQ达人活力之星七夕浪漫情人原创精华达人论坛发帖强人蛮牛哥认证开发者

QQ
发表于 2017-11-13 17:11:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
接着上篇来写,如何改变面板中的层次结构是一个问题,根据什么来判断层次的先后顺序是一个问题,只要解决这两点就OK啦


很简单,unity中其实有一个方法可以通过脚本来改变层次结构,该方法就是SetSiblingIndex;然后根据什么来判断这点,当然是根据物体与摄像机的距离来判断。


我们可以把所需要的物体与摄像机之间的距离计算出来,然后通过距离的大小改变UI的层次索引。
当然,这个方法要放到Update里或者相机有位置改变的时候执行,这样不论相机怎么移动,都会看到距离相机近的物体的UI在最前面,符合实际情况。


[C#] 纯文本查看 复制代码
Camera cam;
    float[] deviceToCam = new float[3];
    Dictionary<float, RectTransform> floatToUI = new Dictionary<float, RectTransform>();
    void test()
    {
        cam = Camera.main;
        deviceToCam[0] = Vector3.Distance(cam.transform.position, aa.position);
        floatToUI.Add(deviceToCam[0], aaa);
        deviceToCam[1] = Vector3.Distance(cam.transform.position, bb.position);
        floatToUI.Add(deviceToCam[1], bbb);
        deviceToCam[2] = Vector3.Distance(cam.transform.position, cc.position);
        floatToUI.Add(deviceToCam[2], ccc);

        Array.Sort(deviceToCam);
        Array.Reverse(deviceToCam);

        for (int j = 0; j < 3; j++)
        {
            floatToUI[j].SetSiblingIndex(j);
        }
    }



上述代码有字典键值的问题,但是意思正确。具体项目中可以用列表、字典等来存放。


另外可以通过两帧之间的差值判断相机的移动,如下:
[C#] 纯文本查看 复制代码
#region 通过两帧差值判断相机移动
        newPos = cam.transform.position;
        if (oldPos == Vector3.zero)
        {
            
        }
        else
        {
            cha = newPos - oldPos;
        }
        oldPos = newPos;
        #endregion

        //cha.magnitude
        if(cha.magnitude > 0.00001f)
        {
            test();
        }




附上一张图:
122.png



相机的移动方式很多,我就不多说了。

评分

参与人数 2鲜花 +7 收起 理由
a258539 + 2 很给力!
海峡同城哥 + 5 哒哒哒哒哒哒哒哒

查看全部评分


回复

使用道具 举报

6蛮牛粉丝
1255/1500
排名
6465
昨日变化
51

2

主题

919

帖子

1255

积分

Rank: 6Rank: 6Rank: 6

UID
241666
好友
0
蛮牛币
4906
威望
0
注册时间
2017-9-6
在线时间
174 小时
最后登录
2017-11-25
发表于 2017-11-14 07:16:58 来自Mobile--- | 显示全部楼层
感谢分享

回复

使用道具 举报

4四处流浪
367/500
排名
12044
昨日变化
186

2

主题

246

帖子

367

积分

Rank: 4

UID
247659
好友
0
蛮牛币
1203
威望
0
注册时间
2017-10-9
在线时间
63 小时
最后登录
2017-11-25
发表于 2017-11-14 07:20:07 来自Mobile--- | 显示全部楼层
谢谢分享!!

回复

使用道具 举报

排名
33055
昨日变化
25

0

主题

5

帖子

17

积分

Rank: 1

UID
254101
好友
0
蛮牛币
42
威望
0
注册时间
2017-11-13
在线时间
6 小时
最后登录
2017-11-17
发表于 2017-11-14 09:40:45 | 显示全部楼层
感谢分享
[发帖际遇]: jun496276723 乐于助人,奖励 3 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

3偶尔光临
233/300
排名
9221
昨日变化
8

0

主题

60

帖子

233

积分

Rank: 3Rank: 3Rank: 3

UID
223562
好友
0
蛮牛币
188
威望
0
注册时间
2017-5-24
在线时间
81 小时
最后登录
2017-11-24
发表于 2017-11-14 10:14:59 | 显示全部楼层
谢谢分享
[发帖际遇]: 牛儿快吃草 乐于助人,奖励 2 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

7日久生情
2371/5000
排名
408
昨日变化
1

1

主题

527

帖子

2371

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
27356
好友
1
蛮牛币
3551
威望
0
注册时间
2014-5-30
在线时间
485 小时
最后登录
2017-11-24
发表于 2017-11-14 10:26:32 | 显示全部楼层
很有用!
感谢分享

回复

使用道具 举报

3偶尔光临
171/300
排名
15246
昨日变化
405

0

主题

101

帖子

171

积分

Rank: 3Rank: 3Rank: 3

UID
252485
好友
0
蛮牛币
94
威望
0
注册时间
2017-11-4
在线时间
36 小时
最后登录
2017-11-25
发表于 2017-11-14 10:27:15 | 显示全部楼层
感谢楼主,不错不错

回复 支持 反对

使用道具 举报

7日久生情
2034/5000
排名
17743
昨日变化
19

2

主题

1701

帖子

2034

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
185807
好友
0
蛮牛币
2665
威望
0
注册时间
2016-11-22
在线时间
307 小时
最后登录
2017-11-24
发表于 2017-11-14 10:37:42 | 显示全部楼层
赞,学习了,谢谢分享

回复 支持 反对

使用道具 举报

排名
18440
昨日变化
17

0

主题

4

帖子

35

积分

Rank: 1

UID
228189
好友
0
蛮牛币
52
威望
0
注册时间
2017-6-22
在线时间
10 小时
最后登录
2017-11-21
发表于 2017-11-14 11:52:54 | 显示全部楼层
学习了,谢谢分享

回复

使用道具 举报

4四处流浪
363/500
排名
8203
昨日变化
8

0

主题

185

帖子

363

积分

Rank: 4

UID
235323
好友
1
蛮牛币
587
威望
0
注册时间
2017-8-1
在线时间
66 小时
最后登录
2017-11-23
发表于 2017-11-14 12:38:13 | 显示全部楼层
谢谢分享,写的不错

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1239/1500
排名
3216
昨日变化
12

0

主题

539

帖子

1239

积分

Rank: 6Rank: 6Rank: 6

UID
148286
好友
0
蛮牛币
2713
威望
0
注册时间
2016-5-11
在线时间
336 小时
最后登录
2017-11-25
发表于 2017-11-14 14:17:43 | 显示全部楼层
[发帖际遇]: 一个袋子砸在了 tzb1125 头上,tzb1125 赚了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

8常驻蛮牛
6013/10000
排名
243
昨日变化

0

主题

3053

帖子

6013

积分

Rank: 8Rank: 8

UID
3215
好友
0
蛮牛币
216
威望
0
注册时间
2013-9-4
在线时间
1332 小时
最后登录
2017-11-22
发表于 2017-11-14 15:21:54 | 显示全部楼层
的顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

回复 支持 反对

使用道具 举报

5熟悉之中
630/1000
排名
3047
昨日变化
3

2

主题

89

帖子

630

积分

Rank: 5Rank: 5

UID
158341
好友
0
蛮牛币
1213
威望
0
注册时间
2016-7-28
在线时间
155 小时
最后登录
2017-11-24
发表于 2017-11-14 16:26:02 | 显示全部楼层
好帖啊,谢谢分享

回复

使用道具 举报

3偶尔光临
223/300
排名
9848
昨日变化
13

0

主题

72

帖子

223

积分

Rank: 3Rank: 3Rank: 3

UID
228538
好友
2
蛮牛币
221
威望
0
注册时间
2017-6-24
在线时间
69 小时
最后登录
2017-11-24
发表于 2017-11-14 17:21:58 | 显示全部楼层
感谢分享

回复

使用道具 举报

4四处流浪
485/500
排名
5792
昨日变化
43

0

主题

163

帖子

485

积分

Rank: 4

UID
227843
好友
1
蛮牛币
1454
威望
0
注册时间
2017-6-20
在线时间
138 小时
最后登录
2017-11-24
发表于 2017-11-15 09:02:51 | 显示全部楼层
66666666666666666
[发帖际遇]: 一个袋子砸在了 jk13171221 头上,jk13171221 赚了 1 蛮牛币. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表