UE4 C++调用手柄震动
近期封装输入相关逻辑,简单归纳下。
蓝图实现
内容界面右键Miscellaneous->Force Feedback Effect,创建力反馈对象并填写相关参数:
然后在蓝图中用Spawn Force Feedback at Location调用这个力反馈配置文件,
或是创建Force Feedback组件,根据角色是否进入手柄震动区域来进行力反馈响应。
C++实现
C++部分的手柄力反馈,包括PS手柄的亮灯颜色等,都可以在PlayerController中直接设置。
//#include "GameFramework/ForceFeedbackEffect.h" //#include "Kismet/GameplayStatics.h" APlayerController* PC = UGameplayStatics::GetPlayerController(this, 0); if (PC) { FString Path = "/Game/ThirdPersonCPP/NewForceFeedbackEffect.NewForceFeedbackEffect"; UForceFeedbackEffect* Obj = LoadObject<UForceFeedbackEffect>(nullptr, *Path); PC->ClientPlayForceFeedback(Obj); }
获取到玩家控制器然后传入力反馈配置文件路径即可。
顺带看了下PlayerController内部的调用逻辑,其内部好像走的是InputInterface:
IInputInterface* InputInterface = FSlateApplication::Get().GetInputInterface();
通过FSlateApplication拿到对应平台的InputInterface,若想直接使用该接口配置震动,需加入Slate模块的依赖。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2018-04-16 Unity中使用射线查询MeshCollider背面的方法