• 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模块的依赖。

  • 相关阅读:
    .NET中二进制图片的存储与读取
    mantis基本配置及邮件服务器配置
    搜狗浏览器特性页面JS
    从多个textarea中随机选取一个内容
    JS截取字符串substr 和 substring方法的区别
    MySQL递归的替代方案
    Eclipse去掉对JS文件的Validation
    Hadoop学习笔记二
    es随想二
    Hadoop学习笔记一
  • 原文地址:https://www.cnblogs.com/hont/p/16154529.html
Copyright © 2020-2023  润新知