SRanipal Unreal SDK  1.3.2.0
SRanipal Unreal SDK document
SRanipal_Lip_v2.h
1 // ========= Copyright 2018, HTC Corporation. All rights reserved. ===========
2 
3 #pragma once
4 #include "ViveSR_Enums.h"
5 #include "SRanipal_Lip_Enums.h"
6 
7 #include "Engine/Classes/Engine/Texture2D.h"
8 #include "CoreMinimal.h"
9 
10 #define SR_ANIPAL __declspec(dllimport)
11 extern "C" {
12 
13  namespace ViveSR {
14 
15  namespace anipal {
17  namespace Lip {
18 
19  //const int ANIPAL_TYPE_LIP = 1;
20  const int ANIPAL_TYPE_LIP_V2 = 3;
25  SR_ANIPAL int GetLipData_v2(LipData_v2 *data);
26  }
27  }
28  }
29 }
30 
33 UENUM(BlueprintType)
34 enum class LipShape_v2 :uint8
35 {
36  Jaw_Right = 0 UMETA(DisplayName = "Jaw_Right"),
37  Jaw_Left = 1 UMETA(DisplayName = "Jaw_Left"),
38  Jaw_Forward = 2 UMETA(DisplayName = "Jaw_Forward"),
39  Jaw_Open = 3 UMETA(DisplayName = "Jaw_Open"),
40  Mouth_Ape_Shape = 4 UMETA(DisplayName = "Mouth_Ape_Shape"),
41  Mouth_Upper_Right = 5 UMETA(DisplayName = "Mouth_Upper_Right"),
42  Mouth_Upper_Left = 6 UMETA(DisplayName = "Mouth_Upper_Left"),
43  Mouth_Lower_Right = 7 UMETA(DisplayName = "Mouth_Lower_Right"),
44  Mouth_Lower_Left = 8 UMETA(DisplayName = "Mouth_Lower_Left"),
45  Mouth_Upper_Overturn = 9 UMETA(DisplayName = "Mouth_Upper_Overturn"),
46  Mouth_Lower_Overturn = 10 UMETA(DisplayName = "Mouth_Lower_Overturn"),
47  Mouth_Pout = 11 UMETA(DisplayName = "Mouth_Pout"),
48  Mouth_Smile_Right = 12 UMETA(DisplayName = "Mouth_Smile_Right"),
49  Mouth_Smile_Left = 13 UMETA(DisplayName = "Mouth_Smile_Left"),
50  Mouth_Sad_Right = 14 UMETA(DisplayName = "Mouth_Sad_Right"),
51  Mouth_Sad_Left = 15 UMETA(DisplayName = "Mouth_Sad_Left"),
52  Cheek_Puff_Right = 16 UMETA(DisplayName = "Cheek_Puff_Right"),
53  Cheek_Puff_Left = 17 UMETA(DisplayName = "Cheek_Puff_Left"),
54  Cheek_Suck = 18 UMETA(DisplayName = "Cheek_Suck"),
55  Mouth_Upper_UpRight = 19 UMETA(DisplayName = "Mouth_Upper_UpRight"),
56  Mouth_Upper_UpLeft = 20 UMETA(DisplayName = "Mouth_Upper_UpLeft"),
57  Mouth_Lower_DownRight = 21 UMETA(DisplayName = "Mouth_Lower_DownRight"),
58  Mouth_Lower_DownLeft = 22 UMETA(DisplayName = "Mouth_Lower_DownLeft"),
59  Mouth_Upper_Inside = 23 UMETA(DisplayName = "Mouth_Upper_Inside"),
60  Mouth_Lower_Inside = 24 UMETA(DisplayName = "Mouth_Lower_Inside"),
61  Mouth_Lower_Overlay = 25 UMETA(DisplayName = "Mouth_Lower_Overlay"),
62  Tongue_LongStep1 = 26 UMETA(DisplayName = "Tongue_LongStep1"),
63  Tongue_Left = 27 UMETA(DisplayName = "Tongue_Left"),
64  Tongue_Right = 28 UMETA(DisplayName = "Tongue_Right"),
65  Tongue_Up = 29 UMETA(DisplayName = "Tongue_Up"),
66  Tongue_Down = 30 UMETA(DisplayName = "Tongue_Down"),
67  Tongue_Roll = 31 UMETA(DisplayName = "Tongue_Roll"),
68  Tongue_LongStep2 = 32 UMETA(DisplayName = "Tongue_LongStep2"),
69  Tongue_UpRight_Morph = 33 UMETA(DisplayName = "Tongue_UpRight_Morph"),
70  Tongue_UpLeft_Morph = 34 UMETA(DisplayName = "Tongue_UpLeft_Morph"),
71  Tongue_DownRight_Morph = 35 UMETA(DisplayName = "Tongue_DownRight_Morph"),
72  Tongue_DownLeft_Morph = 36 UMETA(DisplayName = "Tongue_DownLeft_Morph"),
73  Max = 37 UMETA(Hidden),
74  None = 63 UMETA(DisplayName = "None"),
75 };
76 
77 
82 {
83 public:
85  ~SRanipal_Lip_v2();
86  static SRanipal_Lip_v2* Instance();
87  static void DestroyLipModule();
88 
99  bool GetLipWeightings_v2(TMap<LipShape_v2, float> &shapes);
105  bool UpdateTexture(UTexture2D *&texture);
106 
107 public:
108  int ImageWidth, ImageHeight;
109  int SingleImageWidth;
110 
111 private:
112  bool UpdateData();
113 
114 private:
115  static SRanipal_Lip_v2* SRanipal_LipModule;
116  int LastUpdateFrame, LastUpdateResult;
118  FUpdateTextureRegion2D* updateRegion;
119  uint8* LipImageBuffer;
120  TMap<LipShape_v2, float> Weightings;
121 };
bool GetLipWeightings_v2(TMap< LipShape_v2, float > &shapes)
The internal static class about lip relative API.
Definition: SRanipal_Lip_v2.h:81
bool UpdateTexture(UTexture2D *&texture)
int GetLipData_v2(ViveSR::anipal::Lip::LipData_v2 *data)
SR_ANIPAL int GetLipData_v2(LipData_v2 *data)
Definition: SRanipal_Lip_Enums.h:55
Definition: SRanipal_API_Lip.h:13