美文网首页
Unreal VSP VRKit 底层交互

Unreal VSP VRKit 底层交互

作者: Mr_约科 | 来源:发表于2020-08-20 09:28 被阅读0次

    VRKit

    0. FVRKitInteractionInputProcessor

    • VRKit \ Private \ Framework \ VRKitInteractionInputProcessor.h
      继承 IInputProcessor //Slate 输入处理程序的接口
    bool FVRKitInteractionInputProcessor::HandleKeyDownEvent( FSlateApplication& SlateApp, const FKeyEvent& InKeyEvent )
    
    • 响应输入 与 世界交互

    成员变量: class UVRKitWorldInteraction* WorldInteraction;

    1. UVRKitWorldInteraction

    • VRKit\public\VRKitWorldInteraction.h
    bool UVRKitWorldInteraction::InputKey(FKey Key, EInputEvent Event)
    

    2. UVRKitInteractor

    • VRKit\Source\VRKit\public\VRKitInteractor.h
    (1)
    bool UVRKitInteractor::HandleInputKey(const FKey Key, const EInputEvent Event)
    
    • 成员变量:TMap<FKey, FVRKitActionKeyInput> KeyToActionMap;
      根据输入键的名字,映射 出 FVRKitActionKeyInput(行为类型; 行为状态)

    UVRKitInteractionManager
    VRKit\public\VRKitInteractionManager.h
    void MapHMDKeyAction() //键的名称 与 行为类型绑定
    在 这个类 的 Init(); 中掉用,而Init() 又是被 VRKit模块加载的时候被调用。
    { 成员变量 : class UVRKitInteractor* LeftHandInteractor;
    class UVRKitInteractor* RightHandInteractor;
    }

    (2)
    • UVRKitWorldInteraction 中的 委托 OnPreviewInputAction
      VRKit\Private\VRInteraction\VRUI\VRKitUISystem.cpp 界面的调用函数OnPreviewInputAction( )挂在 上述委托上。
    (3)SetupComponent

    创建组件、Mesh 、材质 调用 UVRKitInteractionManager下面的CreateMotionControllerMesh() 函数。

    3. UVRKitInteractionManager

    VRKit\public\VRKitInteractionManager.h

    (1)

    下列函数被 CreateMotionControllerMesh() 函数调用,同时这个函数也作为外部的接口使用。

    //获取 用户手柄的数字 静态 网格体
    UStaticMesh * UVRKitInteractionManager::GetMotionControllerMesh()
    {
    // 根据设备类型,返回对应设备的 StaticMesh
    UVRKitAssetContainer  AssetContainer; //数据 资源接口 类
    if (GetDeviceType() == VRKitDevice::OculusDeviceType)
        return AssetContainer->OculusControllerMesh;
    }
    
    (2)设置控制器类型

    设置控制器类型:手柄、VRHand、球形。且此函数体内 有一 广播 将类型信息广播出去。

    void UVRKitInteractionManager::SetInteractionType(EInteractionType type)
    

    4. UVRKitAssetContainer

    VRKit\public\VRKitAssetContainer.h
    数据资源VRKitData 蓝图可编辑

    • 声音
    • 材质
    • 网格

    5.

    咋Q·

    相关文章

      网友评论

          本文标题:Unreal VSP VRKit 底层交互

          本文链接:https://www.haomeiwen.com/subject/jeqsactx.html