Unity手柄UI设计

本文分享了作者在Unity项目中接入手柄的实际经验,对比分析了Rewired和Incontrol插件,详细介绍了手柄功能/UI映射及界面操作解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

手柄这个其实国内用到的项目并不多,之前没有搜到有啥好的文章。恰好上个项目手柄接入是我处理的,今天就简单讲一讲。我也是个菜鸡,如果您觉得我说的有不对或者值得商榷的地方,欢迎您留言和本Vege探讨一下。

本文默认您稍微了解或者知道UGUI底层。

我是将手柄区分成两大定义:功能/UI。何为功能?其实就是一个两层映射。即原生输入到我们定义的手柄键比如:各原生轴输入--------------LeftTrigger/RightTrigger etc。我将它称为第一层映射。为什么需要这么处理?因为不同的手柄样式大同小异,通过这一层定义可以很好地拓展不同的手柄链接到我们定义的手柄键(LeftTrigger/RightTrigger etc)。第二层就是简单的功能映射。开始我根据Xbox简单实现了一套自己的手柄逻辑,可后来考虑到没时间去一个手柄一个手柄测试轴,所以决定替换成插件

 

现在Unity市面上比较流行的是Rewired和Incontrol。之前网络上很多人都说Rewired好,Incontrol不支持热拔插啥的。但是我用的就是Incontrol,为什么?我比较过两歀插件,Rewired看上去是封装了自己的RewiredInputModule,同时底层是封在了它的库里。相较而言,Incontrol就很舒服,没有太多封装,没有底层新的InputModule,而且最新版本的Incontrol处理了网络上用户的诟病。它支持自定义拓展功能,因为你有源码。当然最主要的是,它的实现逻辑和我自己写的逻辑非常相似,那我肯定选择理解成本最小的去实现了~(这里有点汗颜,如果用Rewired的大触有不满,只能说我可能看法和您不同。毕竟工具都只是实现目标的方法,使用还是看个人)

接下来聊聊手柄UI部分

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值