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、交互就更加贴近视觉看到的了

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

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

  1. 视频教程-【孙伟】APP项目UI设计基础-工具图标设计视频教程-UI

    [孙伟]APP项目UI设计基础-工具图标设计视频教程 教学产品线与企业合作项目负责人,移动互联学院教学总监,从事培训与UI/UED课程研发工作多年,拥有数万学员且平均薪资位居行业前列.曾就职于世界50 ...

  2. Unity 工具 之 简单 镭射 Laser Ray 交互的封装可交互物体 GameObject 和 UI(结合 Curved UI)基于/可用于眼镜插手机上交互

    Unity 工具 之 简单 镭射 Laser

  3. Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

    Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据) 目录 Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以 ...

  4. Unity 工具类 之 WWW/UnityWebRequest 下载压缩文件(zip),解压到本地且加载使用解压数据的简单案例(内也含压缩文件例子)

    Unity 工具类 之 WWW/UnityWebRequest 网络下载压缩文件(zip),解压到本地,且加载使用解压数据的简单案例(内也含压缩文件例子) 目录 Unity 工具类 之 WWW/Uni ...

  5. Unity 工具控件 之 Text 文本字间距调整(老版本的Unity编写工具控件/新版本Unity使用TMP)

    Unity 工具控件 之 Text 文本字间距调整(老版本的Unity编写工具控件/新版本Unity使用TMP) 目录 Unity 工具控件 之 Text 文本字间距调整(老版本的Unity编写工具控 ...

  6. Unity 工具之 获取当前系统时间,并格式化显示的封装(并有简单的月星期am/pm转换)

    Unity 工具之 获取当前系统时间,并格式化显示的封装(并有简单的月星期am/pm转换) 目录 Unity 工具之 获取当前系统时间,并格式化显示的封装(并有简单的月星期am/pm转换) 一.简单介 ...

  7. Unity 工具类 之 Excel 转换为 json、csv、xml、lua格式

    Unity 工具类 之 Excel 转换为 json.csv.xml.csv 格式 目录 Unity 工具类 之 Excel 转换为 json.csv.xml.csv 格式 一.介绍 二.操作原理 三 ...

  8. Unity 工具 之 VText 简单快速实现 文字 3D 效果,VText 的导入设置和简单使用(可支持中文字体)

    Unity 工具 之 VText 简单快速实现 文字 3D 效果,VText 的导入设置和简单使用(可支持中文字体) 目录 Unity 工具 之 VText 简单快速实现 文字 3D 效果,VText ...

  9. steamvr2.0 + curvedUI 实现与UI射线交互

    2022年8月8日 需求: steamvr2.0以上,要实现与UI的射线交互,目前的方案是结合CurvedUI插件,才能实现次功能,VRTK4.0 虽然也能实现,但其刚推出市场,不成熟,缺乏教程文档, ...

最新文章

  1. [转]汇编语言的准备知识--给初次接触汇编者 2
  2. jmeter测试元件--控制器
  3. linux将光驱挂载到目录下,Linux操作系统下关于光驱的挂载
  4. stringbuffer_StringBuffer的存在的含义
  5. Mongodb系列- java客户端简单使用(CRUD)
  6. C#移除HTML标记
  7. abp框架(aspnetboilerplate)设置前端报错显示
  8. 能根治乱象了?豆瓣私密小组将全部停用
  9. 《庆余年》里的五竹,到底是不是机器人?
  10. CSS雪碧,即CSS Sprite 简单的例子
  11. 为什么要序列化Serialization
  12. C# 开发企业内部微应用接入钉钉获取用户信息
  13. html reset 无效,HTML中的input type=reset标签失效(不起作用)的可能原因
  14. 家用设备搭建VMWARE超融合 NSX HORIZON 及CISCO测试环境
  15. lucas定理(学习笔记)
  16. overleaf表格_Overleaf——LaTeX制表命令使用教程
  17. 2022/9/17——基于stm32mp157的按键中断实验
  18. 『MIUI』系统程序精简列表,全机型适用
  19. 将edge浏览器设置为IE浏览器
  20. Android解锁黑屏问题完美解决!

热门文章

  1. 计算机水平一级还是二级比较,计算机一级二级哪个高 一级考试难吗
  2. 大数据文字游戏_[评论]微信优化2.5G网络疑似文字游戏
  3. 如何清理苹果内存垃圾清理
  4. 办公室文员计算机操作教程,办公室人员学习的电脑基本操作.docx
  5. zoj 2316 Matrix Multiplication 【思路题】
  6. Ubuntu18.04配置robotiq-2F-85
  7. 高级UI之Paint-Xfermode-总结
  8. 低压配电系统无功功率补偿用控制器RS485通讯-安科瑞 顾月
  9. Java 代理模式的实现和原理详细分析
  10. Chakra-UI【现代化 React UI 框架 Chakra-UI】