zhang273162308 Unity实用小工具或脚本—3D炫酷UI篇(一)

161
回复
1563
查看
打印 上一主题 下一主题
  [ 复制链接 ]
排名
141
昨日变化

124

主题

595

帖子

7001

积分

Rank: 9Rank: 9Rank: 9

UID
3579
好友
109
蛮牛币
5494
威望
0
注册时间
2013-9-10
在线时间
1549 小时
最后登录
2019-9-17

专栏作家活力之星游戏蛮牛QQ群会员蛮牛哥

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

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

x
一、前言
       最近做AR和VR的项目,经常需要用到3D的UI,特意将最近自己捣鼓的这个UI的东西写下来。效果如图所示:主要的动画和素材也是借鉴了




第三方的插件“HoloUIExample”,本文主要在此资源和动画的基础上,添加了自定义的几种交互事件,并且事件采用了反射功能做到类似于unity自带的EventTrigger一样可以自由动态绑定事件接收的对象和方法。如图所示为EventTrigger的绑定事件的接收方法在面板上的操作示意图



本文当前阶段事件动态绑定的界面操作示意图如下图所示



EventTrigger主要是针对Unity自带的鼠标操作事件的处理,本文的3DUI采用了自己封装的一套鼠标交互形式,当然还是使用了射线去检测,不过其拓展性可见一斑,我们可以自己将射线定义到任何物体上,比如AR或VR的手柄上,从而进行自定义的UI交互。



二、实现过程

1、鼠标射线处理的代码如下:该脚本中处理鼠标光标悬浮进入物体和退出悬浮物体、鼠标左键单击选中以及鼠标左键双击的处理逻辑。

游客,如果您要查看本帖隐藏内容请回复

所有的事件处理的逻辑的代码都是通过接口“UI3D_BtnEventInterface”来完成,采用多态的形式,将继承自该“UI3D_BtnEventInterface”接口的方法进行调用。基本逻辑就是先射线检测是否是继承了“UI3D_BtnEventInterface”接口,然后调用该结构中的方法,如Hover、UnHover等等

2、下一步实现“UI3D_BtnEventInterface”的具体实现,新建一个“UI3D_BtnEvent”脚本,代码如下:

游客,如果您要查看本帖隐藏内容请回复

这里采用了“SendMessage”的方法,将动态绑定的对象中定义的公有方法的名称来调用具体的对象中的方法。另外,几个变量都要采用序列化,方便在编辑代码中调用和修改。

3、接下来就是在编辑器中的逻辑代码,这个会稍微复杂一点。代码如下:

游客,如果您要查看本帖隐藏内容请回复



三、总结

1、基本实现的Hover和UnHover的功能,以及动态绑定的自定义编辑功能

2、还有很多功能需要进一步拓展,敬请关注后续

3、现在编辑界面的逻辑也不太完善,需要进一步完善

4、工程下载地址

游客,如果您要查看本帖隐藏内容请回复




6蛮牛粉丝
1325/1500
排名
4198
昨日变化

6

主题

255

帖子

1325

积分

Rank: 6Rank: 6Rank: 6

UID
16533
好友
4
蛮牛币
1760
威望
0
注册时间
2014-3-5
在线时间
708 小时
最后登录
2019-9-16
沙发
2019-8-24 23:11:03 只看该作者
看一看   
7日久生情
4327/5000
排名
86
昨日变化

1

主题

454

帖子

4327

积分

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

UID
28000
好友
0
蛮牛币
3947
威望
0
注册时间
2014-6-4
在线时间
1226 小时
最后登录
2019-9-17
板凳
2019-8-25 02:30:57 只看该作者
666666666666
7日久生情
2212/5000
排名
4093
昨日变化

0

主题

1473

帖子

2212

积分

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

UID
254705
好友
1
蛮牛币
1999
威望
0
注册时间
2017-11-16
在线时间
377 小时
最后登录
2019-9-17
地板
2019-8-25 08:28:15 只看该作者
666666666666666666666666
5熟悉之中
620/1000
排名
6579
昨日变化

6

主题

158

帖子

620

积分

Rank: 5Rank: 5

UID
207671
好友
0
蛮牛币
2757
威望
0
注册时间
2017-2-21
在线时间
252 小时
最后登录
2019-9-17
5#
2019-8-25 08:35:26 只看该作者
Unity实用小工具或脚本—3D炫酷UI篇(一) [修改]
5熟悉之中
954/1000
排名
2684
昨日变化

0

主题

76

帖子

954

积分

Rank: 5Rank: 5

UID
250012
好友
0
蛮牛币
1094
威望
0
注册时间
2017-10-21
在线时间
336 小时
最后登录
2019-9-17
6#
2019-8-25 10:33:55 只看该作者
6666666666666
4四处流浪
340/500
排名
9015
昨日变化

0

主题

11

帖子

340

积分

Rank: 4

UID
259479
好友
0
蛮牛币
504
威望
0
注册时间
2017-12-13
在线时间
199 小时
最后登录
2019-9-17
7#
2019-8-25 11:25:12 只看该作者
Orz
......................
排名
331
昨日变化

82

主题

709

帖子

4124

积分

Rank: 9Rank: 9Rank: 9

UID
93357
好友
6
蛮牛币
20590
威望
0
注册时间
2015-4-18
在线时间
1483 小时
最后登录
2019-9-17

专栏作家认证开发者

QQ
8#
2019-8-25 12:09:55 只看该作者
Kan yi Kan
7日久生情
2590/5000
排名
433
昨日变化

2

主题

110

帖子

2590

积分

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

UID
66098
好友
2
蛮牛币
7246
威望
0
注册时间
2015-1-5
在线时间
862 小时
最后登录
2019-9-17
9#
2019-8-25 12:55:14 只看该作者
给力!继续更新~

0

主题

1

帖子

19

积分

Rank: 1

UID
329381
好友
0
蛮牛币
51
威望
0
注册时间
2019-8-15
在线时间
18 小时
最后登录
2019-9-17
10#
2019-8-25 13:35:28 只看该作者
111111111111111111
排名
48139
昨日变化

0

主题

3

帖子

10

积分

Rank: 1

UID
294789
好友
0
蛮牛币
10
威望
0
注册时间
2018-8-26
在线时间
3 小时
最后登录
2019-8-25
11#
2019-8-25 15:19:48 只看该作者
达到撒多大萨达多撒多撒大阿斯顿撒大爱的撒
2初来乍到
121/150
排名
28932
昨日变化

0

主题

50

帖子

121

积分

Rank: 2Rank: 2

UID
21931
好友
0
蛮牛币
261
威望
0
注册时间
2014-4-18
在线时间
60 小时
最后登录
2019-9-17
QQ
12#
2019-8-25 15:27:11 只看该作者
学习学习~~
5熟悉之中
849/1000
排名
4883
昨日变化

3

主题

113

帖子

849

积分

Rank: 5Rank: 5

UID
25349
好友
0
蛮牛币
1163
威望
0
注册时间
2014-5-16
在线时间
436 小时
最后登录
2019-9-17
13#
2019-8-25 15:52:27 只看该作者
兄弟,正好需要,拿来看一下不介意仨!!!!
5熟悉之中
849/1000
排名
4883
昨日变化

3

主题

113

帖子

849

积分

Rank: 5Rank: 5

UID
25349
好友
0
蛮牛币
1163
威望
0
注册时间
2014-5-16
在线时间
436 小时
最后登录
2019-9-17
14#
2019-8-25 15:54:52 只看该作者
兄弟,正好需要,拿来看一下不介意仨!!!!!!!!!!!!!!!
5熟悉之中
969/1000
排名
4032
昨日变化

0

主题

221

帖子

969

积分

Rank: 5Rank: 5

UID
134727
好友
0
蛮牛币
335
威望
0
注册时间
2016-1-14
在线时间
380 小时
最后登录
2019-9-15
15#
2019-8-25 16:46:51 只看该作者
666666666666
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则