[免费]触控UITouch的UE虚幻引擎插件

208 阅读3分钟

大家好!

我是: Aimo_皑墨

我来介绍一下这个插件! 描述: 插件一般用于触控设备的使用如(安卓手机,平板)等触控设备

GitHub 下载地址: github.com/AimoTvT/UIT…

虚幻商城: 后续可能上架

教程视频地址: 未完成

使用方法: 演示项目: 第三人称项目模版

手动安装插件

  • 1.选择好自己的版本
  • 2.点击 DownloadZip 下载(和网络地区可能影响下载速度)

GitHub下载.jpg

找到引擎文件夹里引擎\Engine\Plugins...路径下创建 Widgets 文件夹

引擎路径下创建Widgets文件夹.jpg

下载的解压包内的 UITouch 文件解压/复制到 引擎\Engine\Plugins\Widgets 目录下

解压文件路径.jpg

然后启动任意版本项目,找到在菜单栏->编辑->插件 1.搜索 UITouch 2.点击勾选(如果提示实验/测试点击 Yes 或是) 3.点击立即重启引擎

启动插件.jpg

插件测试

电脑上测试选择,点击高级

高级设置.png

勾选鼠标模拟

勾选鼠标模拟.png

世界设苦里选择 BP__TouchPlayercontroller,即可测试控件

切换测试控制器.png

点击运行即可测试

点击运行.png

测试成功(运行成功的结果点击轮盘上移动即可出现跑)

运行成功.png

运行成功的结果点击轮盘上移动即可出现跑

注意!!!: 如果需要打包请替换 UE 的默认触控

  • 1.找到项目设置点击
  • 2.点击触控设置,这个是官方的虚拟触控

设置虚拟控件.png

修改名字,可以放到内容文件任何位置

虚拟控件保存目录选择.png

控件介绍:

BP_TouchButtonWidget //一般用于按钮

BP_TouchButtonWidget图片.png

用于按钮的类型可以和触摸一起触发

BP_TouchControlWidget //一般用于触摸移动视角

BP_TouchControlWidget图片.png

一般用于触摸移动视角

BP_TouchJoystickWidget //普通操控杆

BP_TouchJoystickWidget图片.png

用于轮盘技能或是人物移动的触控

BP_TouchAdvancedJoystickWidget //进阶操控杆

BP_TouchAdvancedJoystickWidget图片.png

一般用于特殊移动,如手游的加速跑

控件内搜索(Touch) 即可出现控件

搜索控件.png

控件使用方法:

使用方法点击事件调度器添加创建事件

控件使用演示1.png

会获得反馈值,高级操控杆如 X:-11 Y: -12 Z: 第几个触控或松开

反馈值.png

简易用法演示图片:

演示使用图片.png

技术分享:

运行流程

  1. 绑定触控按键触控组件组件(TouchComponent)
  2. 创建 Widget 触摸控件
  3. Widget 搜索触控组件组件(TouchComponent)
  4. 绑定控件组件的调度器

蓝图只是演示部分使用(基本上都是 C++底层功能)

技术演示1.jpg

  1. Widget 搜索触控组件组件(TouchComponent)
  2. 绑定控件组件的调度器

English

  1. Widget Search for the TouchComponent
  2. Bind the scheduler of the control component

获取控件绑定调度器.jpg

触发流程

  1. (一般是控制器的触摸事件)触发触摸
  2. (触摸组件)触摸控件发布触摸位置等信息
  3. (Widget 控件)所有触摸控件判断是否进入控件区域
  4. (Widget 控件)如果进入那么就绑定对应的调度器
  5. (Widget 控件)并持续监视绑定的调度器
  6. 松开触摸后解除调度器

English

  1. Trigger touch (usually controller touch event)
  2. (Touch component) The touch control publishes the touch position and other information
  3. (Widget) Touch all controls to determine whether to enter the control area
  4. (Widget) Bind the corresponding scheduler if you enter it
  5. (Widget) and continuously monitor the bound scheduler
  6. Release the touch and release the scheduler

技术演示1.jpg

触摸控件里面有 10 个调度器和一个所有多播的调度器

There are 10 schedulers and one scheduler for all multicast in the touch control

技术演示1.jpg

触摸控件的函数

Touch the function of the control

Widget触摸控件.jpg

C++复写绑定控件

C++ carbon binding control

绑定触摸事件.jpg

部分技术都在源码里标注好了