Initial Commit
This commit is contained in:
0
Unreal/PS_ViveVBS/Config/DefaultEditor.ini
Normal file
0
Unreal/PS_ViveVBS/Config/DefaultEditor.ini
Normal file
92
Unreal/PS_ViveVBS/Config/DefaultEngine.ini
Normal file
92
Unreal/PS_ViveVBS/Config/DefaultEngine.ini
Normal file
@@ -0,0 +1,92 @@
|
||||
|
||||
|
||||
[/Script/EngineSettings.GameMapsSettings]
|
||||
GameDefaultMap=/Engine/Maps/Templates/OpenWorld
|
||||
|
||||
[/Script/Engine.RendererSettings]
|
||||
r.AllowStaticLighting=False
|
||||
|
||||
r.GenerateMeshDistanceFields=True
|
||||
|
||||
r.DynamicGlobalIlluminationMethod=1
|
||||
|
||||
r.ReflectionMethod=1
|
||||
|
||||
r.SkinCache.CompileShaders=True
|
||||
|
||||
r.RayTracing=True
|
||||
|
||||
r.Shadow.Virtual.Enable=1
|
||||
|
||||
r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True
|
||||
|
||||
r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8
|
||||
|
||||
r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8
|
||||
|
||||
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
|
||||
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
|
||||
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
|
||||
-D3D12TargetedShaderFormats=PCD3D_SM5
|
||||
+D3D12TargetedShaderFormats=PCD3D_SM6
|
||||
-D3D11TargetedShaderFormats=PCD3D_SM5
|
||||
+D3D11TargetedShaderFormats=PCD3D_SM5
|
||||
Compiler=Default
|
||||
AudioSampleRate=48000
|
||||
AudioCallbackBufferFrameSize=1024
|
||||
AudioNumBuffersToEnqueue=1
|
||||
AudioMaxChannels=0
|
||||
AudioNumSourceWorkers=4
|
||||
SpatializationPlugin=
|
||||
SourceDataOverridePlugin=
|
||||
ReverbPlugin=
|
||||
OcclusionPlugin=
|
||||
CompressionOverrides=(bOverrideCompressionTimes=False,DurationThreshold=5.000000,MaxNumRandomBranches=0,SoundCueQualityIndex=0)
|
||||
CacheSizeKB=65536
|
||||
MaxChunkSizeOverrideKB=0
|
||||
bResampleForDevice=False
|
||||
MaxSampleRate=48000.000000
|
||||
HighSampleRate=32000.000000
|
||||
MedSampleRate=24000.000000
|
||||
LowSampleRate=12000.000000
|
||||
MinSampleRate=8000.000000
|
||||
CompressionQualityModifier=1.000000
|
||||
AutoStreamingThreshold=0.000000
|
||||
SoundCueCookQualityIndex=-1
|
||||
|
||||
[/Script/LinuxTargetPlatform.LinuxTargetSettings]
|
||||
-TargetedRHIs=SF_VULKAN_SM5
|
||||
+TargetedRHIs=SF_VULKAN_SM6
|
||||
|
||||
[/Script/HardwareTargeting.HardwareTargetingSettings]
|
||||
TargetedHardwareClass=Desktop
|
||||
AppliedTargetedHardwareClass=Desktop
|
||||
DefaultGraphicsPerformance=Maximum
|
||||
AppliedDefaultGraphicsPerformance=Maximum
|
||||
|
||||
[/Script/WorldPartitionEditor.WorldPartitionEditorSettings]
|
||||
CommandletClass=Class'/Script/UnrealEd.WorldPartitionConvertCommandlet'
|
||||
|
||||
[/Script/Engine.UserInterfaceSettings]
|
||||
bAuthorizeAutomaticWidgetVariableCreation=False
|
||||
FontDPIPreset=Standard
|
||||
FontDPI=72
|
||||
|
||||
[/Script/Engine.Engine]
|
||||
+ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/PS_ViveVBS")
|
||||
+ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/PS_ViveVBS")
|
||||
|
||||
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
|
||||
bEnablePlugin=True
|
||||
bAllowNetworkConnection=True
|
||||
SecurityToken=57BB0A574FFB6D1B1C2B8CBB575DB429
|
||||
bIncludeInShipping=False
|
||||
bAllowExternalStartInShipping=False
|
||||
bCompileAFSProject=False
|
||||
bUseCompression=False
|
||||
bLogFiles=False
|
||||
bReportStats=False
|
||||
ConnectionType=USBOnly
|
||||
bUseManualIPAddress=False
|
||||
ManualIPAddress=
|
||||
|
||||
10
Unreal/PS_ViveVBS/Config/DefaultGame.ini
Normal file
10
Unreal/PS_ViveVBS/Config/DefaultGame.ini
Normal file
@@ -0,0 +1,10 @@
|
||||
|
||||
[/Script/EngineSettings.GeneralProjectSettings]
|
||||
ProjectID=4947B4B34ED5B66358981593ECB294D6
|
||||
|
||||
[StartupActions]
|
||||
bAddPacks=True
|
||||
InsertPack=(PackSource="StarterContent.upack",PackName="StarterContent")
|
||||
|
||||
[SectionsToSave]
|
||||
+Section=StartupActions
|
||||
84
Unreal/PS_ViveVBS/Config/DefaultInput.ini
Normal file
84
Unreal/PS_ViveVBS/Config/DefaultInput.ini
Normal file
@@ -0,0 +1,84 @@
|
||||
[/Script/Engine.InputSettings]
|
||||
-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
|
||||
-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
|
||||
-AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
|
||||
-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
|
||||
-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
|
||||
-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
|
||||
-AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
|
||||
+AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Vive_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Vive_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="MixedReality_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="MixedReality_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="OculusTouch_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="OculusTouch_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
|
||||
bAltEnterTogglesFullscreen=True
|
||||
bF11TogglesFullscreen=True
|
||||
bUseMouseForTouch=False
|
||||
bEnableMouseSmoothing=True
|
||||
bEnableFOVScaling=True
|
||||
bCaptureMouseOnLaunch=True
|
||||
bEnableLegacyInputScales=True
|
||||
bEnableMotionControls=True
|
||||
bFilterInputByPlatformUser=False
|
||||
bShouldFlushPressedKeysOnViewportFocusLost=True
|
||||
bAlwaysShowTouchInterface=False
|
||||
bShowConsoleOnFourFingerTap=True
|
||||
bEnableGestureRecognizer=False
|
||||
bUseAutocorrect=False
|
||||
DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown
|
||||
DefaultViewportMouseLockMode=LockOnCapture
|
||||
FOVScale=0.011110
|
||||
DoubleClickTime=0.200000
|
||||
DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput
|
||||
DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent
|
||||
DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks
|
||||
-ConsoleKeys=Tilde
|
||||
+ConsoleKeys=Tilde
|
||||
|
||||
1795
Unreal/PS_ViveVBS/PS_ViveVBS.sln
Normal file
1795
Unreal/PS_ViveVBS/PS_ViveVBS.sln
Normal file
File diff suppressed because it is too large
Load Diff
22
Unreal/PS_ViveVBS/PS_ViveVBS.uproject
Normal file
22
Unreal/PS_ViveVBS/PS_ViveVBS.uproject
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"FileVersion": 3,
|
||||
"EngineAssociation": "5.5",
|
||||
"Category": "",
|
||||
"Description": "",
|
||||
"Modules": [
|
||||
{
|
||||
"Name": "PS_ViveVBS",
|
||||
"Type": "Runtime",
|
||||
"LoadingPhase": "Default"
|
||||
}
|
||||
],
|
||||
"Plugins": [
|
||||
{
|
||||
"Name": "ModelingToolsEditorMode",
|
||||
"Enabled": true,
|
||||
"TargetAllowList": [
|
||||
"Editor"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
[FilterPlugin]
|
||||
; This section lists additional files which will be packaged along with your plugin. Paths should be listed relative to the root plugin directory, and
|
||||
; may include "...", "*", and "?" wildcards to match directories, files, and individual characters respectively.
|
||||
;
|
||||
; Examples:
|
||||
; /README.txt
|
||||
; /Extras/...
|
||||
; /Binaries/ThirdParty/*.dll
|
||||
BIN
Unreal/PS_ViveVBS/Plugins/PS_ViveVBS/Resources/Icon128.png
Normal file
BIN
Unreal/PS_ViveVBS/Plugins/PS_ViveVBS/Resources/Icon128.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,67 @@
|
||||
// Copyright Asterion VR. All right reserved
|
||||
|
||||
|
||||
#include "../Public/Global.h"
|
||||
|
||||
DEFINE_LOG_CATEGORY(PS_ViveVBS);
|
||||
|
||||
#define LOCTEXT_NAMESPACE "VBS"
|
||||
|
||||
int UGlobal::markerState = 0;
|
||||
|
||||
|
||||
void OnServerStatusUpdate(wchar_t* strName, wchar_t* strValue)
|
||||
{
|
||||
if (wcscmp(strName, L"3011") == 0)
|
||||
{
|
||||
if (wcscmp(strValue, L"CTdone") == 0)
|
||||
{
|
||||
UGlobal::markerState = 2;
|
||||
}
|
||||
else if (wcscmp(strValue, L"CTpass") == 0)
|
||||
{
|
||||
UGlobal::markerState = 1;
|
||||
}
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("OnServerStatusUpdate strName:%s strValue:%s\n"), strName, strValue);
|
||||
}
|
||||
}
|
||||
|
||||
void OnSettingChange(const wchar_t* setting)
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("OnSettingChange : strName:%s\n"), setting);
|
||||
}
|
||||
|
||||
void OnSDKDebugLog(const wchar_t* log)
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("OnSDKDebugLog : strName:%s\n"), log);
|
||||
}
|
||||
|
||||
int UGlobal::VBS_GetVersion()
|
||||
{
|
||||
return VS_Version();
|
||||
}
|
||||
|
||||
int UGlobal::VBS_Init()
|
||||
{
|
||||
int retCode = VS_Init();
|
||||
UGlobal::markerState = 0;
|
||||
|
||||
if (retCode == 0)
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("VBS_Init : SUCCESS \n"));
|
||||
VS_SetCallbackFunction(OnServerStatusUpdate, OnSettingChange, OnSDKDebugLog);
|
||||
}
|
||||
else
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("VBS_Init : *FAILED with error code %d \n"), retCode);
|
||||
}
|
||||
|
||||
return retCode;
|
||||
}
|
||||
|
||||
int UGlobal::VBS_Release()
|
||||
{
|
||||
return VS_Release();
|
||||
}
|
||||
|
||||
#undef LOCTEXT_NAMESPACE
|
||||
@@ -0,0 +1,41 @@
|
||||
// Copyright Asterion VR. All right reserved
|
||||
|
||||
|
||||
#include "../Public/GunMode.h"
|
||||
|
||||
//DEFINE_LOG_CATEGORY(PS_ViveVBS);
|
||||
|
||||
#define LOCTEXT_NAMESPACE "VBS"
|
||||
|
||||
bool UGunMode::VBS_SetGunMode(const bool active)
|
||||
{
|
||||
bool success = false;
|
||||
if (active)
|
||||
{
|
||||
success = VS_EnableAntiRecoilMode();
|
||||
if (success)
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Enable AntiRecoilMode : SUCCESS \n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Enable AntiRecoilMode : FAILED \n"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
success = VS_DisableAntiRecoilMode();
|
||||
if (success)
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Disable AntiRecoilMode : SUCCESS \n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Disable AntiRecoilMode : FAILED \n"));
|
||||
}
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
|
||||
#undef LOCTEXT_NAMESPACE
|
||||
@@ -0,0 +1,203 @@
|
||||
// Copyright Asterion VR. All right reserved
|
||||
|
||||
|
||||
#include "../Public/MBLS.h"
|
||||
#include "../Public/Global.h"
|
||||
|
||||
//DEFINE_LOG_CATEGORY(PS_ViveVBS);
|
||||
|
||||
#define LOCTEXT_NAMESPACE "VBS"
|
||||
|
||||
bool UMBLS::DefineSingleArcuoMarker(const int32 IDMarker1, const float sizeMarker1, const float height)
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("DefineArcuoMarker ID : %d - Size : %f"), IDMarker1, sizeMarker1);
|
||||
|
||||
const FString parameters = FString::Printf(TEXT("PLAYER00InitMA{\"marker1\":{\"id\":%d,\"behavior\":3,\"size\":%f,\"pose\":[0,0,0,1,0,%f,0]}}"), IDMarker1, sizeMarker1, height);
|
||||
|
||||
if (VS_WVRGetParameters(DEVICE_TYPE_HMD, *parameters))
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Define Single ArcuoMarker : SUCCESS"));
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Define Single ArcuoMarker : FAILED"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool UMBLS::DefineTwoArcuoMarker(const int32 IDMarker1, const int32 IDMarker2, const float sizeMarker, const float height)
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("DefineTwoArcuoMarker ID : %d - ID2 : %d - Size : %f"), IDMarker1, IDMarker2, sizeMarker);
|
||||
|
||||
FString parameters = FString::Printf(TEXT("PLAYER00InitMA{\"marker1\":{\"id\":%d,\"behavior\":3,\"size\":%f,\"isMainMarker\":true,\"pairMarkerID\":%d,\"pose\":[0,0,0,1,0,%f,0]},\"marker2\":{\"id\":%d,\"behavior\":3,\"size\":%f,\"isMainMarker\":false,\"pairMarkerID\":%d,\"pose\":[0,0,0,1,0,%f,0]}}"), IDMarker1, sizeMarker, IDMarker2, height, IDMarker2, sizeMarker, IDMarker1, height);
|
||||
|
||||
if (VS_WVRGetParameters(DEVICE_TYPE_HMD, *parameters))
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Define Two ArcuoMarker : SUCCESS"));
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Define Two ArcuoMarker : FAILED"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
bool UMBLS::DefineArcuoMarkerforRtTracking(const int32 IDMarker1, const float sizeMarker1)
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("DefineArcuoMarkerForRTTracking ID : %d - Size : %f"), IDMarker1, sizeMarker1);
|
||||
FString returnCode;
|
||||
|
||||
FString parameters = FString::Printf(TEXT("PLAYER00InitMA{\"marker1\":{\"id\":%d,\"behavior\":4,\"size\":%f}}"), IDMarker1, sizeMarker1);
|
||||
|
||||
GetParameters(0, parameters, returnCode);
|
||||
|
||||
if (returnCode == "InitMAErr")
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Define ArcuoMarker ERROR"));
|
||||
}
|
||||
else {
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Define ArcuoMarker OK"));
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
bool UMBLS::RecenterXForm()
|
||||
{
|
||||
UE_LOG(LogInit, Display, TEXT("RecenterXForm"));
|
||||
|
||||
bool success = true;
|
||||
success = success && VS_WVRSetParameters(DEVICE_TYPE_HMD, L"ClearRecenterXform");
|
||||
success = success && VS_WVRSetParameters(DEVICE_TYPE_CONTROLLER_RIGHT, L"ClearRecenterXform");
|
||||
success = success && VS_WVRSetParameters(DEVICE_TYPE_CONTROLLER_LEFT, L"ClearRecenterXform");
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
bool UMBLS::RecenterXFormTR()
|
||||
{
|
||||
UE_LOG(LogInit, Display, TEXT("RecenterXFormTR"));
|
||||
|
||||
bool success = true;
|
||||
success = success && VS_WVRSetParameters(DEVICE_TYPE_HMD, L"ClearRecenterXformTR");
|
||||
success = success && VS_WVRSetParameters(DEVICE_TYPE_CONTROLLER_RIGHT, L"ClearRecenterXformTR");
|
||||
success = success && VS_WVRSetParameters(DEVICE_TYPE_CONTROLLER_LEFT, L"ClearRecenterXformTR");
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
bool UMBLS::StartMarkerScanning()
|
||||
{
|
||||
|
||||
UE_LOG(LogInit, Display, TEXT("StartMarkerScanning"));
|
||||
UGlobal::markerState = 0;
|
||||
if (VS_WVRGetParameters(DEVICE_TYPE_HMD, L"PLAYER00StartScan"))
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("StartMarkerScanning : SUCCESS"));
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("StartMarkerScanning : FAILED"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool UMBLS::StopMarkerScanning()
|
||||
{
|
||||
UE_LOG(LogInit, Display, TEXT("StopMarkerScanning"));
|
||||
|
||||
if (VS_WVRGetParameters(DEVICE_TYPE_HMD, L"PLAYER00StopScan"))
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("StopMarkerScanning : SUCCESS"));
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("StopMarkerScanning : FAILED"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
int32 UMBLS::CheckScanStatus()
|
||||
{
|
||||
UE_LOG(LogInit, Display, TEXT("CheckMarkerScanning"));
|
||||
|
||||
if (VS_WVRGetParameters(DEVICE_TYPE_HMD, L"PLAYER00CheckMA"))
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("CheckMarkerScanning : SUCCESS - Value is %d"), UGlobal::markerState);
|
||||
return UGlobal::markerState;
|
||||
}
|
||||
else
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("CheckMarkerScanning : FAILED"));
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
void UMBLS::ResetMarkerState()
|
||||
{
|
||||
UGlobal::markerState = 0;
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("ResetMarkerState"));
|
||||
}
|
||||
|
||||
int32 UMBLS::RetrievePreviousScan()
|
||||
{
|
||||
CheckScanStatus();
|
||||
VS_WVRSetParameters(DEVICE_TYPE_HMD, L"ClearRecenterXform");
|
||||
VS_WVRSetParameters(DEVICE_TYPE_CONTROLLER_RIGHT, L"ClearRecenterXform");
|
||||
VS_WVRSetParameters(DEVICE_TYPE_CONTROLLER_LEFT, L"ClearRecenterXform");
|
||||
return UGlobal::markerState;
|
||||
}
|
||||
|
||||
/*
|
||||
int32 UMBLS::GetRTArcuoMarkerPose(const int32 IDMarker, FVector& location, FRotator& orientation)
|
||||
{
|
||||
FString returnCode;
|
||||
FQuat quaternion;
|
||||
|
||||
FString parameters = FString::Printf(TEXT("PLAYER00GetArucoPoseByID=%d"), IDMarker);
|
||||
|
||||
GetParameters(0, parameters, returnCode);
|
||||
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("CheckMarkerScanning %s"), *returnCode);
|
||||
FString leftS;
|
||||
FString rightS;
|
||||
|
||||
if (returnCode.Mid(0, 1) == FString("f"))
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Tracker Not Found"), *returnCode);
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
returnCode.Split(",", &leftS, &rightS);
|
||||
location.X = FCString::Atof(*leftS);
|
||||
|
||||
rightS.Split(",", &leftS, &rightS);
|
||||
location.Y = FCString::Atof(*leftS);
|
||||
|
||||
rightS.Split(",", &leftS, &rightS);
|
||||
location.Z = FCString::Atof(*leftS);
|
||||
|
||||
returnCode.Split(",", &leftS, &rightS);
|
||||
quaternion.X = FCString::Atof(*leftS);
|
||||
|
||||
rightS.Split(",", &leftS, &rightS);
|
||||
quaternion.Y = FCString::Atof(*leftS);
|
||||
|
||||
rightS.Split(",", &leftS, &rightS);
|
||||
quaternion.Z = FCString::Atof(*leftS);
|
||||
|
||||
quaternion.Z = FCString::Atof(*rightS);
|
||||
|
||||
//orientation = FRotator::FRotator(quaternion);
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
*/
|
||||
#undef LOCTEXT_NAMESPACE
|
||||
@@ -0,0 +1,41 @@
|
||||
// Copyright Asterion VR. All right reserved
|
||||
|
||||
|
||||
#include "../Public/Passthrough.h"
|
||||
|
||||
//DEFINE_LOG_CATEGORY(PS_ViveVBS);
|
||||
|
||||
#define LOCTEXT_NAMESPACE "VBS"
|
||||
|
||||
bool UPassthrough::VBS_SetPassthrough(const bool active)
|
||||
{
|
||||
bool success = false;
|
||||
if (active)
|
||||
{
|
||||
success = VS_EnablePassthrough();
|
||||
if (success)
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Enable Passthrough : SUCCESS \n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Enable Passthrough : FAILED \n"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
success = VS_DisablePassthrough();
|
||||
if (success)
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Disable Passthrough : SUCCESS \n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
UE_LOG(PS_ViveVBS, Display, TEXT("Disable Passthrough : FAILED \n"));
|
||||
}
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
|
||||
#undef LOCTEXT_NAMESPACE
|
||||
@@ -0,0 +1,21 @@
|
||||
// Copyright Asterion VR. All right reserved
|
||||
|
||||
#include "ViveVBS.h"
|
||||
#include "VS_PC_SDK.h"
|
||||
|
||||
#define LOCTEXT_NAMESPACE "FViveVBSModule"
|
||||
|
||||
void FViveVBSModule::StartupModule()
|
||||
{
|
||||
// This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module
|
||||
}
|
||||
|
||||
void FViveVBSModule::ShutdownModule()
|
||||
{
|
||||
// This function may be called during shutdown to clean up your module. For modules that support dynamic reloading,
|
||||
// we call this function before unloading the module.
|
||||
}
|
||||
|
||||
#undef LOCTEXT_NAMESPACE
|
||||
|
||||
IMPLEMENT_MODULE(FViveVBSModule, ViveVBS)
|
||||
@@ -0,0 +1,31 @@
|
||||
// Copyright Asterion VR. All right reserved
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Kismet/BlueprintFunctionLibrary.h"
|
||||
#include "../VBS_SDK/VS_PC_SDK.h"
|
||||
#include "Global.generated.h"
|
||||
|
||||
DECLARE_LOG_CATEGORY_EXTERN(PS_ViveVBS, Log, All);
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class VIVEVBS_API UGlobal : public UBlueprintFunctionLibrary
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "ASTERION|VBS")
|
||||
static int VBS_GetVersion();
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "ASTERION|VBS")
|
||||
static int VBS_Init();
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "ASTERION|VBS")
|
||||
static int VBS_Release();
|
||||
|
||||
public:
|
||||
static int markerState;
|
||||
};
|
||||
@@ -0,0 +1,27 @@
|
||||
// Copyright Asterion VR. All right reserved
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Kismet/BlueprintFunctionLibrary.h"
|
||||
#include "../VBS_SDK/VS_PC_SDK.h"
|
||||
#include "Global.h"
|
||||
#include "GunMode.generated.h"
|
||||
|
||||
//DECLARE_LOG_CATEGORY_EXTERN(PS_ViveVBS, Log, All);
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class VIVEVBS_API UGunMode : public UBlueprintFunctionLibrary
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "ASTERION|VBS")
|
||||
static bool VBS_SetGunMode(const bool active);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
};
|
||||
@@ -0,0 +1,58 @@
|
||||
// Copyright Asterion VR. All right reserved
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Kismet/BlueprintFunctionLibrary.h"
|
||||
#include "../VBS_SDK/VS_PC_SDK.h"
|
||||
#include "Global.h"
|
||||
#include "MBLS.generated.h"
|
||||
|
||||
//DECLARE_LOG_CATEGORY_EXTERN(PS_ViveVBS, Log, All);
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class VIVEVBS_API UMBLS : public UBlueprintFunctionLibrary
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "ASTERION|VBS")
|
||||
static bool DefineSingleArcuoMarker(const int32 IDMarker1, const float sizeMarker1, const float height);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "ASTERION|VBS")
|
||||
static bool DefineTwoArcuoMarker(const int32 IDMarker1, const int32 IDMarker2, const float sizeMarker, const float height);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "ASTERION|VBS")
|
||||
static bool RecenterXForm();
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "ASTERION|VBS")
|
||||
static bool RecenterXFormTR();
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "ASTERION|VBS")
|
||||
static void ResetMarkerState();
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "ASTERION|VBS")
|
||||
static bool StartMarkerScanning();
|
||||
|
||||
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "VIVE VBS")
|
||||
static bool StopMarkerScanning();
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "VIVE VBS")
|
||||
static int32 CheckScanStatus();
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "VIVE VBS")
|
||||
static int32 RetrievePreviousScan();
|
||||
/*
|
||||
UFUNCTION(BlueprintCallable, Category = "VIVE VBS")
|
||||
static bool DefineArcuoMarkerforRtTracking(const int32 IDMarker1, const float sizeMarker1);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "VIVE VBS")
|
||||
static int32 GetRTArcuoMarkerPose(const int32 IDMarker, FVector& location, FRotator& orientation);*/
|
||||
|
||||
public:
|
||||
|
||||
};
|
||||
@@ -0,0 +1,27 @@
|
||||
// Copyright Asterion VR. All right reserved
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Kismet/BlueprintFunctionLibrary.h"
|
||||
#include "../VBS_SDK/VS_PC_SDK.h"
|
||||
#include "Global.h"
|
||||
#include "Passthrough.generated.h"
|
||||
|
||||
//DECLARE_LOG_CATEGORY_EXTERN(PS_ViveVBS, Log, All);
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class VIVEVBS_API UPassthrough : public UBlueprintFunctionLibrary
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "ASTERION|VBS")
|
||||
static bool VBS_SetPassthrough(const bool active);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
};
|
||||
@@ -0,0 +1,15 @@
|
||||
// Copyright Asterion VR. All right reserved
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Modules/ModuleManager.h"
|
||||
|
||||
class FViveVBSModule : public IModuleInterface
|
||||
{
|
||||
public:
|
||||
|
||||
/** IModuleInterface implementation */
|
||||
virtual void StartupModule() override;
|
||||
virtual void ShutdownModule() override;
|
||||
};
|
||||
@@ -0,0 +1,62 @@
|
||||
#pragma once
|
||||
|
||||
#ifndef HMD_CUSTOMIZE_COMMAND_H
|
||||
#define HMD_CUSTOMIZE_COMMAND_H
|
||||
|
||||
#ifndef EXPORT_COMMAND_API
|
||||
#define EXPORT_COMMAND_API
|
||||
#endif
|
||||
|
||||
typedef void(*cbServerStatusUpdate)(wchar_t*, wchar_t*);
|
||||
typedef void(*cbSettingChange)(const wchar_t*);
|
||||
typedef void(*cbSdkDebugLog)(const wchar_t*);
|
||||
|
||||
|
||||
//for VS_SetDeviceParameter & VS_GetDeviceParameter function to define nDeviceType argument
|
||||
#define DEVICE_TYPE_HMD 0
|
||||
#define DEVICE_TYPE_CONTROLLER_RIGHT 1
|
||||
#define DEVICE_TYPE_CONTROLLER_LEFT 2
|
||||
///////
|
||||
|
||||
|
||||
//for status code in callback function
|
||||
#define STAUTS_CODE_GRAPHIC_INFO "2001"
|
||||
#define STAUTS_CODE_HMD_READY "2003"
|
||||
#define STAUTS_CODE_HMD_NAME "2004"
|
||||
#define STAUTS_CODE_FPS "2005"
|
||||
#define STAUTS_CODE_CONNECT_TYPE "2006"
|
||||
#define STAUTS_CODE_SERVER_VERSION "2007"
|
||||
|
||||
#define STAUTS_CODE_DEVICE_BATTERY_LEVEL "2102"
|
||||
#define STAUTS_CODE_SERVER_STATE "2105"
|
||||
|
||||
#define STAUTS_CODE_RESULT_WVR_SET_HMD "3001"
|
||||
#define STAUTS_CODE_RESULT_WVR_SET_LEFT_CONTROLLER "3002"
|
||||
#define STAUTS_CODE_RESULT_WVR_SET_RIGHT_CONTROLLER "3003"
|
||||
#define STAUTS_CODE_RESULT_WVR_GET_HMD "3011"
|
||||
#define STAUTS_CODE_RESULT_WVR_GET_LEFT_CONTROLLER "3012"
|
||||
#define STAUTS_CODE_RESULT_WVR_GET_RIGHT_CONTROLLER "3013"
|
||||
///////
|
||||
|
||||
extern "C"
|
||||
{
|
||||
EXPORT_COMMAND_API int VS_Version();
|
||||
EXPORT_COMMAND_API const wchar_t* VS_SDKVersion();
|
||||
EXPORT_COMMAND_API int VS_Init();
|
||||
EXPORT_COMMAND_API int VS_Release();
|
||||
|
||||
//For callback function
|
||||
EXPORT_COMMAND_API void VS_SetCallbackFunction(cbServerStatusUpdate pStatusUpdateCallback, cbSettingChange pSettingChangeCallback, cbSdkDebugLog pDebugLogCallback);
|
||||
|
||||
//For Device Parameter
|
||||
EXPORT_COMMAND_API bool VS_EnableAntiRecoilMode();
|
||||
EXPORT_COMMAND_API bool VS_DisableAntiRecoilMode();
|
||||
EXPORT_COMMAND_API bool VS_WVRSetParameters(int nDeviceType, const wchar_t* strParameters);
|
||||
EXPORT_COMMAND_API bool VS_WVRGetParameters(int nDeviceType, const wchar_t* strParameters);
|
||||
EXPORT_COMMAND_API bool VS_EnablePassthrough();
|
||||
EXPORT_COMMAND_API bool VS_DisablePassthrough();
|
||||
EXPORT_COMMAND_API bool VS_TriggerEyeCalibration();
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
Binary file not shown.
@@ -0,0 +1,103 @@
|
||||
// Copyright Asterion VR. All right reserved
|
||||
using System.IO;
|
||||
using UnrealBuildTool;
|
||||
|
||||
public class ViveVBS : ModuleRules
|
||||
{
|
||||
public ViveVBS(ReadOnlyTargetRules Target) : base(Target)
|
||||
{
|
||||
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||
|
||||
PublicIncludePaths.AddRange(
|
||||
new string[] {
|
||||
// ... add public include paths required here ...
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
PrivateIncludePaths.AddRange(
|
||||
new string[] {
|
||||
// ... add other private include paths required here ...
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
PublicDependencyModuleNames.AddRange(
|
||||
new string[]
|
||||
{
|
||||
"Core",
|
||||
// ... add other public dependencies that you statically link with here ...
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
PrivateDependencyModuleNames.AddRange(
|
||||
new string[]
|
||||
{
|
||||
"CoreUObject",
|
||||
"Engine",
|
||||
"Slate",
|
||||
"SlateCore",
|
||||
// ... add private dependencies that you statically link with here ...
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
DynamicallyLoadedModuleNames.AddRange(
|
||||
new string[]
|
||||
{
|
||||
// ... add any modules that your module loads dynamically here ...
|
||||
}
|
||||
);
|
||||
#if DYNAMIC_LINKAGE
|
||||
PublicDefinitions.Add("VBS_DYNAMIC_LINKAGE=1");
|
||||
#endif
|
||||
string VBS_SDK_PATH = Path.Combine(PluginDirectory, "Source/ViveVBS/VBS_SDK/");
|
||||
PublicIncludePaths.Add(VBS_SDK_PATH);
|
||||
#if DYNAMIC_LINKAGE
|
||||
PublicDelayLoadDLLs.Add("VS_PC_SDK.dll");
|
||||
PublicDelayLoadDLLs.Add("RRServerManageAPI.dll");
|
||||
RuntimeDependencies.Add("$(EngineDir)/Binaries/ThirdParty/VBS_SDK/VS_PC_SDK.dll"));
|
||||
RuntimeDependencies.Add("$(EngineDir)/Binaries/ThirdParty/VBS_SDK/RRServerManageAPI.dll"));
|
||||
|
||||
#else
|
||||
PublicAdditionalLibraries.Add(Path.Combine(VBS_SDK_PATH, "VS_PC_SDK.lib"));
|
||||
|
||||
if (Target.Type == TargetRules.TargetType.Editor)
|
||||
{
|
||||
string srcPath = Path.Combine(ModuleDirectory, "../../ThirdParty/Win64/");
|
||||
string destPath = Path.Combine(ModuleDirectory, "../../../../Binaries/Win64/");
|
||||
|
||||
string[] dlls = { "VS_PC_SDK.dll", "RRServerManageAPI.dll", "VSWPipeVarClient64U_MT.dll" };
|
||||
foreach (string dll in dlls)
|
||||
{
|
||||
string src = srcPath + dll;
|
||||
string dest = destPath + dll;
|
||||
bool needCopy = !File.Exists(dest);
|
||||
if (!needCopy)
|
||||
{
|
||||
var srcInfo = new FileInfo(src);
|
||||
var destInfo = new FileInfo(dest);
|
||||
needCopy = srcInfo.LastWriteTimeUtc > destInfo.LastWriteTimeUtc
|
||||
|| srcInfo.Length != destInfo.Length;
|
||||
}
|
||||
if (needCopy)
|
||||
{
|
||||
try
|
||||
{
|
||||
File.Copy(src, dest, true);
|
||||
}
|
||||
catch (IOException)
|
||||
{
|
||||
System.Console.WriteLine("ViveVBS: Could not copy " + dll + " (file locked). Using existing copy.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RuntimeDependencies.Add("$(ProjectDir)/Binaries/Win64/VS_PC_SDK.dll");
|
||||
RuntimeDependencies.Add("$(ProjectDir)/Binaries/Win64/RRServerManageAPI.dll");
|
||||
RuntimeDependencies.Add("$(ProjectDir)/Binaries/Win64/VSWPipeVarClient64U_MT.dll");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
BIN
Unreal/PS_ViveVBS/Plugins/PS_ViveVBS/ThirdParty/Win64/RRServerManageAPI.dll
vendored
Normal file
BIN
Unreal/PS_ViveVBS/Plugins/PS_ViveVBS/ThirdParty/Win64/RRServerManageAPI.dll
vendored
Normal file
Binary file not shown.
BIN
Unreal/PS_ViveVBS/Plugins/PS_ViveVBS/ThirdParty/Win64/VSWPipeVarClient64U_MT.dll
vendored
Normal file
BIN
Unreal/PS_ViveVBS/Plugins/PS_ViveVBS/ThirdParty/Win64/VSWPipeVarClient64U_MT.dll
vendored
Normal file
Binary file not shown.
BIN
Unreal/PS_ViveVBS/Plugins/PS_ViveVBS/ThirdParty/Win64/VS_PC_SDK.dll
vendored
Normal file
BIN
Unreal/PS_ViveVBS/Plugins/PS_ViveVBS/ThirdParty/Win64/VS_PC_SDK.dll
vendored
Normal file
Binary file not shown.
27
Unreal/PS_ViveVBS/Plugins/PS_ViveVBS/ViveVBS.uplugin
Normal file
27
Unreal/PS_ViveVBS/Plugins/PS_ViveVBS/ViveVBS.uplugin
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"FileVersion": 3,
|
||||
"Version": 1,
|
||||
"VersionName": "1.0",
|
||||
"FriendlyName": "ViveVBS",
|
||||
"Description": "",
|
||||
"Category": "Other",
|
||||
"CreatedBy": "AsterionVR",
|
||||
"CreatedByURL": "",
|
||||
"DocsURL": "",
|
||||
"MarketplaceURL": "",
|
||||
"SupportURL": "",
|
||||
"CanContainContent": true,
|
||||
"IsBetaVersion": false,
|
||||
"IsExperimentalVersion": false,
|
||||
"Installed": false,
|
||||
"Modules": [
|
||||
{
|
||||
"Name": "ViveVBS",
|
||||
"Type": "Runtime",
|
||||
"LoadingPhase": "Default",
|
||||
"WhitelistPlatforms": [
|
||||
"Win64"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
15
Unreal/PS_ViveVBS/Source/PS_ViveVBS.Target.cs
Normal file
15
Unreal/PS_ViveVBS/Source/PS_ViveVBS.Target.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
using UnrealBuildTool;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class PS_ViveVBSTarget : TargetRules
|
||||
{
|
||||
public PS_ViveVBSTarget(TargetInfo Target) : base(Target)
|
||||
{
|
||||
Type = TargetType.Game;
|
||||
DefaultBuildSettings = BuildSettingsVersion.V5;
|
||||
IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_5;
|
||||
ExtraModuleNames.Add("PS_ViveVBS");
|
||||
}
|
||||
}
|
||||
23
Unreal/PS_ViveVBS/Source/PS_ViveVBS/PS_ViveVBS.Build.cs
Normal file
23
Unreal/PS_ViveVBS/Source/PS_ViveVBS/PS_ViveVBS.Build.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
using UnrealBuildTool;
|
||||
|
||||
public class PS_ViveVBS : ModuleRules
|
||||
{
|
||||
public PS_ViveVBS(ReadOnlyTargetRules Target) : base(Target)
|
||||
{
|
||||
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||
|
||||
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput" });
|
||||
|
||||
PrivateDependencyModuleNames.AddRange(new string[] { });
|
||||
|
||||
// Uncomment if you are using Slate UI
|
||||
// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
|
||||
|
||||
// Uncomment if you are using online features
|
||||
// PrivateDependencyModuleNames.Add("OnlineSubsystem");
|
||||
|
||||
// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
|
||||
}
|
||||
}
|
||||
6
Unreal/PS_ViveVBS/Source/PS_ViveVBS/PS_ViveVBS.cpp
Normal file
6
Unreal/PS_ViveVBS/Source/PS_ViveVBS/PS_ViveVBS.cpp
Normal file
@@ -0,0 +1,6 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#include "PS_ViveVBS.h"
|
||||
#include "Modules/ModuleManager.h"
|
||||
|
||||
IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, PS_ViveVBS, "PS_ViveVBS" );
|
||||
6
Unreal/PS_ViveVBS/Source/PS_ViveVBS/PS_ViveVBS.h
Normal file
6
Unreal/PS_ViveVBS/Source/PS_ViveVBS/PS_ViveVBS.h
Normal file
@@ -0,0 +1,6 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
|
||||
15
Unreal/PS_ViveVBS/Source/PS_ViveVBSEditor.Target.cs
Normal file
15
Unreal/PS_ViveVBS/Source/PS_ViveVBSEditor.Target.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
using UnrealBuildTool;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class PS_ViveVBSEditorTarget : TargetRules
|
||||
{
|
||||
public PS_ViveVBSEditorTarget( TargetInfo Target) : base(Target)
|
||||
{
|
||||
Type = TargetType.Editor;
|
||||
DefaultBuildSettings = BuildSettingsVersion.V5;
|
||||
IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_5;
|
||||
ExtraModuleNames.Add("PS_ViveVBS");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user