Skip to content

Commit

Permalink
updated plugin for Unreal Engine 5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Chris528 committed Apr 12, 2022
1 parent b652d76 commit 18f4149
Show file tree
Hide file tree
Showing 15 changed files with 304 additions and 130 deletions.
42 changes: 42 additions & 0 deletions Config/DefaultEngine.ini
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,45 @@ ChaosSettings=(DefaultThreadingModel=DedicatedThread,DedicatedThreadTickMode=Var
[/Script/Engine.RendererSettings]
r.DefaultFeature.AutoExposure=True

[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
bEnablePlugin=True
bAllowNetworkConnection=True
SecurityToken=8455596D433443C29879C1BCC83427BC
bIncludeInShipping=False
bAllowExternalStartInShipping=False
bCompileAFSProject=False
bUseCompression=False
bLogFiles=False
bReportStats=False
ConnectionType=USBOnly
bUseManualIPAddress=False
ManualIPAddress=

[/Script/WindowsTargetPlatform.WindowsTargetSettings]
Compiler=Default
-TargetedRHIs=PCD3D_SM5
+TargetedRHIs=PCD3D_SM5
+TargetedRHIs=SF_VULKAN_SM5
DefaultGraphicsRHI=DefaultGraphicsRHI_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

Binary file not shown.
Binary file modified Plugins/Smartsuit/Content/Mesh/Newton/newtonalpha_AnimBP.uasset
Binary file not shown.
6 changes: 3 additions & 3 deletions Plugins/Smartsuit/Source/Smartsuit/Private/RokokoRemote.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ bool ARokokoRemote::Sender_SendData()
}
else
{
UE_LOG(LogTemp, Warning, TEXT("Sent %d bytes"), BytesSent);
//UE_LOG(LogTemp, Warning, TEXT("Sent %d bytes"), BytesSent);
}

return true;
Expand Down Expand Up @@ -198,7 +198,7 @@ FString testfunc(const uint8* SrcBuffer, const uint32 SrcSize)

void ARokokoRemote::Recv(const FArrayReaderPtr& ArrayReaderPtr, const FIPv4Endpoint& EndPt)
{
UE_LOG(LogTemp, Warning, TEXT("Received bytes: %d"), ArrayReaderPtr->Num());
//UE_LOG(LogTemp, Warning, TEXT("Received bytes: %d"), ArrayReaderPtr->Num());

FRokokoRemoteInstance Data2;

Expand Down Expand Up @@ -245,7 +245,7 @@ void ARokokoRemote::Recv(const FArrayReaderPtr& ArrayReaderPtr, const FIPv4Endpo

}

Data2.DisplayValues();
//Data2.DisplayValues();
}

FString FRokokoRemoteInstance::Serialize()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@ FSuitData::FSuitData(bool InIsLive, TSharedPtr<FJsonObject> jsonObject)

TSharedPtr<FJsonObject> Meta = jsonObject->GetObjectField("meta");
hasGloves = Meta->GetBoolField("hasGloves");
hasLeftGlove = Meta->GetBoolField("hasLeftGlove");
hasRightGlove = Meta->GetBoolField("hasRightGlove");
hasBody = Meta->GetBoolField("hasBody");
hasFace = Meta->GetBoolField("hasFace");

Expand Down Expand Up @@ -174,6 +176,13 @@ void FSuitData::ParseBone(TSharedPtr<FJsonObject> jsonObject, const FString& Bon
TSharedPtr<FJsonObject> BoneObject = jsonObject->GetObjectField(BoneName);
FVector SensorPosition = USmartsuitBlueprintLibrary::GetVectorField(BoneObject->GetObjectField("position"));
FQuat SensorRotation = USmartsuitBlueprintLibrary::GetQuaternionField(BoneObject->GetObjectField("rotation"));

if (BoneName == SmartsuitBones::leftUpperArm.ToString())
{
//UE_LOG(LogTemp, Warning, TEXT("left upper arm rotation: %s"),*SensorRotation.ToString());
}


SmartsuitBones.Add(FName(*BoneName), FSmartsuitBone(FName(*BoneName), SensorPosition, SensorRotation));
}
}
153 changes: 103 additions & 50 deletions Plugins/Smartsuit/Source/Smartsuit/Private/SmartsuitPoseNode.cpp

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
#include "Roles/LiveLinkLightRole.h"
#include "Roles/LiveLinkLightTypes.h"
#include "Features/IModularFeatures.h"
#include "Roles/LiveLinkSmartsuitRole.h"
#include "Roles/LiveLinkSmartsuitTypes.h"

#include "VirtualProductionFrame.h"
#include "Smartsuit.h"
Expand Down Expand Up @@ -424,13 +426,26 @@ void FVirtualProductionSource::HandleSuitData(FSuitData suit)
boneParents.Add(16); //60 - LeftToe
boneParents.Add(19); //61 - RightToe

#ifdef USE_SMARTSUIT_ANIMATION_ROLE
FLiveLinkStaticDataStruct StaticData(FLiveLinkSmartsuitStaticData::StaticStruct());
FLiveLinkSmartsuitStaticData* SkeletonData = StaticData.Cast<FLiveLinkSmartsuitStaticData>();
#else
FLiveLinkStaticDataStruct StaticData(FLiveLinkSkeletonStaticData::StaticStruct());
FLiveLinkSkeletonStaticData* SkeletonData = StaticData.Cast<FLiveLinkSkeletonStaticData>();
#endif


SkeletonData->SetBoneNames(boneNames);
SkeletonData->SetBoneParents(boneParents);

if(Client)
Client->PushSubjectStaticData_AnyThread(Key, ULiveLinkAnimationRole::StaticClass(), MoveTemp(StaticData));
{
#ifdef USE_SMARTSUIT_ANIMATION_ROLE
Client->PushSubjectStaticData_AnyThread(Key, ULiveLinkSmartsuitRole::StaticClass(), MoveTemp(StaticData));
#else
Client->PushSubjectStaticData_AnyThread(Key, ULiveLinkAnimationRole::StaticClass(), MoveTemp(StaticData));
#endif
}
}


Expand Down Expand Up @@ -634,8 +649,17 @@ void FVirtualProductionSource::HandleSuits(TArray<FSuitData> suits)
}

//FTimer timer;

#ifdef USE_SMARTSUIT_ANIMATION_ROLE
FLiveLinkFrameDataStruct FrameData1(FLiveLinkSmartsuitFrameData::StaticStruct());
FLiveLinkSmartsuitFrameData& AnimFrameData = *FrameData1.Cast<FLiveLinkSmartsuitFrameData>();
#else
FLiveLinkFrameDataStruct FrameData1(FLiveLinkAnimationFrameData::StaticStruct());
FLiveLinkAnimationFrameData& AnimFrameData = *FrameData1.Cast<FLiveLinkAnimationFrameData>();
#endif
//FLiveLinkAnimationFrameData& AnimFrameData = *FrameData1.Cast<FLiveLinkAnimationFrameData>();


AnimFrameData.WorldTime = FLiveLinkWorldTime(/*(double)(timer.GetCurrentTime())*/);

TArray<FTransform> transforms;
Expand Down Expand Up @@ -726,6 +750,11 @@ void FVirtualProductionSource::HandleSuits(TArray<FSuitData> suits)

AnimFrameData.Transforms.Append(transforms);

#ifdef USE_SMARTSUIT_ANIMATION_ROLE
AnimFrameData.HasLeftGlove = subject.hasLeftGlove;
AnimFrameData.HasRightGlove = subject.hasRightGlove;
#endif

if(Client)
Client->PushSubjectFrameData_AnyThread(FLiveLinkSubjectKey(SourceGuid, subject.GetSubjectName()), MoveTemp(FrameData1));
}
Expand Down Expand Up @@ -1236,7 +1265,7 @@ uint32 FVirtualProductionSource::Run()
if (FJsonSerializer::Deserialize(Reader, JsonObject))
{

VPFrame.version = JsonObject->GetIntegerField("version");
VPFrame.version = JsonObject->GetStringField("version");
//VPFrame.timestamp = JsonObject->GetNumberField("timestamp");
//VPFrame.playbackTimestamp = JsonObject->GetNumberField("");

Expand Down
1 change: 1 addition & 0 deletions Plugins/Smartsuit/Source/Smartsuit/Public/Smartsuit.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include "Modules/ModuleInterface.h"
#include "Modules/ModuleManager.h"


class ISmartsuitModule : public IModuleInterface
{
public:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,12 @@ struct FSuitData
UPROPERTY(BlueprintReadOnly, Category = Default)
bool hasGloves;

UPROPERTY(BlueprintReadOnly, Category = Default)
bool hasLeftGlove;

UPROPERTY(BlueprintReadOnly, Category = Default)
bool hasRightGlove;

UPROPERTY(BlueprintReadOnly, Category = Default)
bool hasBody;

Expand Down
2 changes: 2 additions & 0 deletions Plugins/Smartsuit/Source/Smartsuit/Public/SmartsuitPoseNode.h
Original file line number Diff line number Diff line change
Expand Up @@ -933,6 +933,8 @@ struct SMARTSUIT_API FSmartsuitPoseNode : public FAnimNode_SkeletalControlBase

void CreateRetargetAsset(const UAnimInstance* InAnimInstance);

void UpdateComponentPose_AnyThread(const FAnimationUpdateContext& Context) override;

private:
//bool firstTime = true;
// FAnimNode_SkeletalControlBase interface
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ struct FVirtualProductionFrame {

/**Indicates the VP frame version.*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Virtual Production", meta = (ToolTip = "Virtual Production version."))
int version;
FString version;

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Virtual Production", meta = (ToolTip = "List of props."))
/** Array of props. */
Expand Down
17 changes: 9 additions & 8 deletions Plugins/Smartsuit/Source/Smartsuit/Smartsuit.Build.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,23 @@ public Smartsuit(ReadOnlyTargetRules Target) : base (Target)
// );


// PrivateIncludePaths.AddRange(
// new string[] {
// "Smartsuit/Private",
// "LiveLink/Private",
// PrivateIncludePaths.AddRange(
// new string[] {
// "Smartsuit/Private",
// "LiveLink/Private",

// // ... add other private include paths required here ...
//}
// );
// // ... add other private include paths required here ...
//}
// );

PublicDefinitions.Add("USE_SMARTSUIT_ANIMATION_ROLE");

PublicDependencyModuleNames.AddRange(
new string[]
{
//"Core",
//"Core", "AnimGraph", "BlueprintGraph", "AnimGraphRuntime", "CoreUObject", "Engine", "Sockets", "Networking",
"Core", "CoreUObject", "Engine", "Sockets", "Http", "Networking", "AnimGraphRuntime", "Json", "JsonUtilities", "LiveLink", "RenderCore", "InputCore"/*, "LiveLinkInterface"*/
"Core", "CoreUObject", "Engine", "Sockets", "Http", "Networking", "AnimGraphRuntime", "Json", "JsonUtilities", "LiveLink", "RenderCore", "InputCore", "LiveLinkInterface", "LiveLinkAnimationCore"
// ... add other public dependencies that you statically link with here ...
}
);
Expand Down
Loading

0 comments on commit 18f4149

Please sign in to comment.