bump the SenseGlove Unreal Engine Plugin to v2.1.2

This commit is contained in:
Mamadou Babaei
2024-09-02 19:52:00 +02:00
parent 784097bff0
commit 9b1903b28f
9 changed files with 51 additions and 21 deletions
+3
View File
@@ -635,6 +635,9 @@ endif # ($(SG_BUILD_PLATFORM),$(SG_BUILD_PLATFORM_LINUX))
@echo "transform: scale(1.05);" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE) @echo "transform: scale(1.05);" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE)
@echo "}" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE) @echo "}" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE)
@echo ".cell a {" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE) @echo ".cell a {" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE)
@echo "display: block;" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE)
@echo "height: 100%;" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE)
@echo "width: 100%;" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE)
@echo "text-decoration: none;" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE) @echo "text-decoration: none;" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE)
@echo "color: #fff;" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE) @echo "color: #fff;" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE)
@echo "font-weight: bold;" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE) @echo "font-weight: bold;" >> $(SG_HANDBOOK_DEPLOY_GENERATED_HOME_INDEX_FILE)
@@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.1.2] - 2024-09-02
This is a bugfix release that addresses a few non-critical issues and documentation fixes.
### Fixed
- Fix a bug where the hands are always visible even when `bVisibleWhenHandDataUnavailable` is disabled.
- Fix a bug where the `HandVisibilityChangedEvent` event is not triggered on the virtual hand component visibility changes.
- Fix the wrong script name for `USGHMDTrackerKismetLibrary`.
- Fix the wrong script name for `USGXRTrackerKismetLibrary `.
- Fix `LogPython: Warning: 'SGHMDTrackerKismetLibrary' and 'SGXRTrackerKismetLibrary' have the same name (SenseGloveHeadMountDisplayKismetLibrary) when exposed to Python. Rename one of them using 'ScriptName' meta-data` when packaging the game.
- Fix the non-existent default hand-mesh warnings polluting the logs when packaging the game.
- Expanded the clickable area on the handbook index page revision buttons.
- Minor documentation fixes.
## [2.1.1] - 2024-08-18 ## [2.1.1] - 2024-08-18
This is a bugfix release with no actual plugin code changes, mostly addressing issues in the documentation and third-party dependencies caused by source control merge conflicts. This is a bugfix release with no actual plugin code changes, mostly addressing issues in the documentation and third-party dependencies caused by source control merge conflicts.
@@ -2,9 +2,9 @@
| | **Windows (MSVC 2017)** | **Windows (MSVC 2019)** | **Windows (MSVC 2022)** | **Linux x86-64 (Native Toolchain)** | **Linux AArch64 (Native Toolchain)** | **Meta Quest Stand-alone (Android NDK)** | **HTC VIVE Stand-alone (Android NDK)** | **UE Marketplace Version** | **Azure DevOps Version** | | | **Windows (MSVC 2017)** | **Windows (MSVC 2019)** | **Windows (MSVC 2022)** | **Linux x86-64 (Native Toolchain)** | **Linux AArch64 (Native Toolchain)** | **Meta Quest Stand-alone (Android NDK)** | **HTC VIVE Stand-alone (Android NDK)** | **UE Marketplace Version** | **Azure DevOps Version** |
|:--------:|:-----------------------:|:-----------------------:|:-----------------------:|:-----------------------------------:|:------------------------------------:|:----------------------------------------:|:--------------------------------------:|:--------------------------:|:------------------------:| |:--------:|:-----------------------:|:-----------------------:|:-----------------------:|:-----------------------------------:|:------------------------------------:|:----------------------------------------:|:--------------------------------------:|:--------------------------:|:------------------------:|
| **5.4** | ❌ | ❌ | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x (r25b) | ❓ | ✅ v2.1.1 | ✅ v2.1.1 | | **5.4** | ❌ | ❌ | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x (r25b) | ❓ | ✅ v2.1.2 | ✅ v2.1.2 |
| **5.3** | ❌ | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x (r25b) | ❓ | ✅ v2.1.1 | ✅ v2.1.1 | | **5.3** | ❌ | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x (r25b) | ❓ | ✅ v2.1.2 | ✅ v2.1.2 |
| **5.2** | ❌ | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x (r25b) | ❓ | ✅ v2.1.1 | ✅ v2.1.1 | | **5.2** | ❌ | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x | ✅ v2.1.x (r25b) | ❓ | ✅ v2.1.2 | ✅ v2.1.2 |
| **5.1** | ❌ | ⚠️ v2.0.x | ⚠️ v2.0.x | ⚠️ v2.0.x | ⚠️ v2.0.x | ⚠️ v2.0.x (r25b) | ❓ | ⚠️ v2.0.1 | ⚠️ v2.0.2 | | **5.1** | ❌ | ⚠️ v2.0.x | ⚠️ v2.0.x | ⚠️ v2.0.x | ⚠️ v2.0.x | ⚠️ v2.0.x (r25b) | ❓ | ⚠️ v2.0.1 | ⚠️ v2.0.2 |
| **5.0** | ❌ | ⚠️ v1.6.x | ⚠️ v1.6.x | ⚠️ v1.6.x | ⚠️ v1.6.x | ⚠️ v1.6.x (r21e) | ❓ | ⚠️ v1.6.1 | ⚠️ v1.6.1 | | **5.0** | ❌ | ⚠️ v1.6.x | ⚠️ v1.6.x | ⚠️ v1.6.x | ⚠️ v1.6.x | ⚠️ v1.6.x (r21e) | ❓ | ⚠️ v1.6.1 | ⚠️ v1.6.1 |
| **4.27** | ⚠️ v1.4.x | ⚠️ v1.4.x | ⚠️ v1.4.x | ⚠️ v1.4.x | ⚠️ v1.4.x | ⚠️ v1.4.x (r21e) | ❓ | ⚠️ v1.3.1 | ⚠️ v1.4.3 | | **4.27** | ⚠️ v1.4.x | ⚠️ v1.4.x | ⚠️ v1.4.x | ⚠️ v1.4.x | ⚠️ v1.4.x | ⚠️ v1.4.x (r21e) | ❓ | ⚠️ v1.3.1 | ⚠️ v1.4.3 |
@@ -57,7 +57,7 @@ Toipcs that do not fall under any specific category:
- [SenseGlove Console Commands](../misc/console-commands/) - [SenseGlove Console Commands](../misc/console-commands/)
- [Deploying to Android (Standalone)](../misc/android-standalone-deployment/) - [Deploying to Android (Standalone)](../misc/android-standalone-deployment/)
- [Upgrade Guide](../misc/upgrade-guide/) - [Upgrade Guide](../misc/upgrade-guide/)
- [Optimizing for More FPS](../misc/optimize-higher-fps/) - [Optimizing for Higher FPS](../misc/optimize-higher-fps/)
## 🛠️ Advanced Topics ## 🛠️ Advanced Topics
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"FileVersion": 3, "FileVersion": 3,
"Version": 1, "Version": 1,
"VersionName": "2.1.1", "VersionName": "2.1.2",
"FriendlyName": "SenseGlove", "FriendlyName": "SenseGlove",
"Description": "Integrating the SenseGlove haptic controller into Unreal Engine", "Description": "Integrating the SenseGlove haptic controller into Unreal Engine",
"Category": "Virtual Reality", "Category": "Virtual Reality",
@@ -651,17 +651,26 @@ bool USGVirtualHandComponent::FImpl::IsUsingUserMesh() const
USkeletalMesh* USGVirtualHandComponent::FImpl::LoadDefaultMesh() const USkeletalMesh* USGVirtualHandComponent::FImpl::LoadDefaultMesh() const
{ {
const FString DefaultMeshPath{GetDefaultMeshPath()}; // FIXME
USkeletalMesh* DefaultMesh{ // Disable this warning altogether as it results in polluting the packaging logs, at least until we ship a set of
Cast<USkeletalMesh>(StaticLoadObject(USkeletalMesh::StaticClass(), nullptr, *DefaultMeshPath)) // virtual hand meshes again.
}; // const FString DefaultMeshPath{GetDefaultMeshPath()};
// USkeletalMesh* DefaultMesh{
// Cast<USkeletalMesh>(StaticLoadObject(USkeletalMesh::StaticClass(), nullptr, *DefaultMeshPath))
// };
if (!IsValid(DefaultMesh)) // FIXME
{ // Disable this warning altogether as it results in polluting the packaging logs, at least until we ship a set of
SGLOG_WARNING(FString::Printf(TEXT("Failed to load the default skeletal mesh: '%s'"), *DefaultMeshPath)); // virtual hand meshes again.
} // if (!IsValid(DefaultMesh))
// {
// SGLOG_WARNING(FString::Printf(TEXT("Failed to load the default skeletal mesh: '%s'"), *DefaultMeshPath));
// }
return DefaultMesh; // FIXME
//return DefaultMesh;
return nullptr;
} }
void USGVirtualHandComponent::FImpl::SetDefaultMesh() const void USGVirtualHandComponent::FImpl::SetDefaultMesh() const
@@ -677,7 +686,10 @@ void USGVirtualHandComponent::FImpl::SetDefaultMesh() const
//Owner->SetSkeletalMesh(LoadDefaultMesh(), true); //Owner->SetSkeletalMesh(LoadDefaultMesh(), true);
// Temporary hack to make it work inside the Blueprint Editor. // Temporary hack to make it work inside the Blueprint Editor.
#if WITH_EDITOR #if WITH_EDITOR
Owner->SetSkeletalMesh(LoadDefaultMesh(), true); // FIXME
//Owner->SetSkeletalMesh(LoadDefaultMesh(), true);
// Instead
Owner->SetSkeletalMesh(nullptr, true);
#endif /* WITH_EDITOR */ #endif /* WITH_EDITOR */
} }
@@ -719,7 +731,7 @@ void USGVirtualHandComponent::FImpl::RestoreCollisionResponse() const
void USGVirtualHandComponent::FImpl::SetVisibility(const bool bInVisible) void USGVirtualHandComponent::FImpl::SetVisibility(const bool bInVisible)
{ {
Owner->SetVisibility(bInVisible, true); Owner->SetHiddenInGame(!bInVisible, false);
if (bInVisible) if (bInVisible)
{ {
@@ -786,7 +798,7 @@ void USGVirtualHandComponent::FImpl::UpdateVisibility()
if (bSetNewVisibility) if (bSetNewVisibility)
{ {
Owner->SetHiddenInGame(bHandDataAvailable); SetVisibility(bHandDataAvailable);
} }
} }
@@ -1986,7 +1986,7 @@ void ASGPawn::FImpl::SetVisibility(USceneComponent* SceneComponent, const bool b
return; return;
} }
SceneComponent->SetHiddenInGame(!bVisibility); SceneComponent->SetHiddenInGame(!bVisibility, false);
} }
void ASGPawn::FImpl::UpdateHandLocation(const bool bRight, const FVector& Location, const bool bUpdateVirtualHand) const void ASGPawn::FImpl::UpdateHandLocation(const bool bRight, const FVector& Location, const bool bUpdateVirtualHand) const
@@ -42,7 +42,7 @@
#include "SGHMDTrackerKismetLibrary.generated.h" #include "SGHMDTrackerKismetLibrary.generated.h"
UCLASS(meta=(ScriptName = "SenseGloveHeadMountDisplayKismetLibrary")) UCLASS(meta=(ScriptName = "SenseGloveHMDTrackerKismetLibrary"))
class SENSEGLOVETRACKINGKISMET_API USGHMDTrackerKismetLibrary final : public USGBlueprintFunctionLibrary class SENSEGLOVETRACKINGKISMET_API USGHMDTrackerKismetLibrary final : public USGBlueprintFunctionLibrary
{ {
GENERATED_BODY() GENERATED_BODY()
@@ -45,7 +45,7 @@
class UObject; class UObject;
UCLASS(meta=(ScriptName = "SenseGloveHeadMountDisplayKismetLibrary")) UCLASS(meta=(ScriptName = "SenseGloveXRTrackerKismetLibrary"))
class SENSEGLOVETRACKINGKISMET_API USGXRTrackerKismetLibrary final : public USGBlueprintFunctionLibrary class SENSEGLOVETRACKINGKISMET_API USGXRTrackerKismetLibrary final : public USGBlueprintFunctionLibrary
{ {
GENERATED_BODY() GENERATED_BODY()