Unity 工具 之 CurvedUI (曲面UI)一些基本操作和CUSTOM_RAY 射线交互时注意事项整理

 

 

Unity 工具 之 CurvedUI(曲面UI) 简单使用介绍和CUSTOM_RAY 射线交互时注意事项整理

 

目录

Unity 工具 之 CurvedUI(曲面UI) 简单使用介绍和CUSTOM_RAY 射线交互时注意事项整理

一、简单介绍

二、下载方式

三、怎么使用 CurvedUI(曲面UI)

四、影响 CurvedUI (曲面UI) 曲面程度的因素

Canvas 的 Width 和 Height ,以及 Scale 比例

CurvedUISettings 的 Angle

CurvedUISettings 的Canvas Shape

五、CurvedUI 交互方式

六、CurvedUI(曲面UI) 的曲面 Control Method 为 Custom_Ray 交互的注意事项


 

一、简单介绍

Unity 工具类,自己整理的一些游戏开发可能用到的模块,单独独立使用,方便游戏开发。

本节介绍, Curved UI(曲面UI) 在 Unity 游戏开发中的使用。

 

二、下载方式

1、打开 Unity ,在菜单栏-Asset Store ,打开

 

2、搜索 curved ui 即可找到

 

3、点击相关,完成购买即可下载

 

 

三、怎么使用 CurvedUI(曲面UI)

1、Canvas 添加 CurvedSettings 脚本

 

2、EventSystem 脚本不在是默认的,而是 CurvedUIInputModule 和 CurvedUIEventSystem

 

3、对应UI元素上有CurvedUIVertexEffect 脚本(一般Canvass上有了CurvedSettings  一般会自动添加,如果没有可以收到添加),这是UI元素能曲面显示的关键脚本

 

4、运行场景,下面就是简单的曲面显示

 

四、影响 CurvedUI (曲面UI) 曲面程度的因素

Canvas 的 Width 和 Height ,以及 Scale 比例

 

1、Canvas 的 Width(23400) 和 Height(10800) ,以及 Scale  (1,1,1)比例

 

2、Canvas 的 Width(2340) 和 Height(1080) ,以及 Scale  (1,1,1)比例

 

CurvedUISettings 的 Angle

 

1、CurvedUISettings 的Canvas Shape 为 Cylinder ,Angle 45

 

2、CurvedUISettings 的Canvas Shape 为 Cylinder ,Angle 120

 

CurvedUISettings 的Canvas Shape

1、CurvedUISettings 的Canvas Shape  为 Cylinder

 

2、CurvedUISettings 的Canvas Shape  为 Ring

 

3、CurvedUISettings 的Canvas Shape  为 Sphere

 

4、CurvedUISettings 的Canvas Shape  为 Cylinder Vertical

 

5、CurvedUISettings 的 Advanced Settings 中的 Quality (分为 1,2,3,三个等级,默认为1)

(UI元素曲面的精细度等级,等级越高,曲面精细度越高,当然,也更耗性能)

 

五、CurvedUI 交互方式

1、在 CurvedUISettings 的 Control Method 中设置

 

2、注意的是,CurvedUISettings 中的 Control Method 设置会相互同步到  CurvedUIInputModule  中的 Control Method

 

3、交互方式有:Mouse(鼠标点击),Gaze(凝视交互),World_Mouse,Custom_Ray(射线交互),Vive,Oculus_Touch,

DayDream,GoogleVR

(只用过一些,没有全用过)

 

六、CurvedUI(曲面UI) 的曲面 Control Method 为 Custom_Ray 交互的注意事项

1、情景设置 Canvas Width 28880,Height 10800,scale(0.002,0.002,0.002),Canvas Shape 为 Sphere,Angle 360

 

2、场景大概如下效果

 

3、Custom_Ray  交互好像是射线于碰撞体交互的位置映射 交互

 

4、如上图,射线打在 碰撞体内部,而 UI在 碰撞体外面,这样交互的差距,就形成了视觉差,看着射线在UI上,但是就是交互不了,特表示UI元素在 Canvas 周边,不是在Canvas 中间的时候

 

5、解决的一种方式,改变碰撞体的精细度,从而使得 UI 刚好在 碰撞体(片)边缘重合,减少这种交互差,减少这种视觉差

打开 CurvedUISettings 脚本

 

6、Mesh 碰撞体是怎么生成的,一步步,定位到这个变量 baseCircleSegments

 

7、增加一倍试试,改为 baseCircleSegments = 48

 

8、运行查看,这样,交互视觉差就会少很多,(当然碰撞体越精细,会稍微增加一些性能消耗,不过还好)

 

9、交互就更加贴近视觉看到的了

 

以上自己使用的一些小总结整理

 

  • 13
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仙魁XAN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值