Unity 工具 之 CurvedUI(曲面UI) 简单使用介绍和CUSTOM_RAY 射线交互时注意事项整理
目录
Unity 工具 之 CurvedUI(曲面UI) 简单使用介绍和CUSTOM_RAY 射线交互时注意事项整理
Canvas 的 Width 和 Height ,以及 Scale 比例
CurvedUISettings 的Canvas Shape
六、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、交互就更加贴近视觉看到的了
以上自己使用的一些小总结整理