Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support UE5.4.x #22

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -977,7 +977,6 @@ void FAnimNode_SPCRJointDynamics::UpdateSurfaceCollision(float CollisionSubDelta
OutPointOnCollider += ColliderToEndVec * (CEDotCI / LineDot);
FVector TowardsCollider = OutPointOnCollider - OutIntersectionPoint;
return TowardsCollider.SizeSquared() <= OutRadius * OutRadius;
return false;
}
}
}
Expand Down Expand Up @@ -1884,7 +1883,7 @@ void FAnimNode_SPCRJointDynamics::DebugDrawConstraints()
// 拘束のデバッグ表示
if (bDebugDrawConstraints)
{
FFunctionGraphTask::CreateAndDispatchWhenReady([=]()
FFunctionGraphTask::CreateAndDispatchWhenReady([=,this]()
{
for (int32 iConstraint = 0; iConstraint < _Constraints.Num(); ++iConstraint)
{
Expand Down Expand Up @@ -1916,7 +1915,7 @@ void FAnimNode_SPCRJointDynamics::DebugDrawSurfaceCollision()
{
if (bDebugDrawSurfaceCollision)
{
FFunctionGraphTask::CreateAndDispatchWhenReady([=]()
FFunctionGraphTask::CreateAndDispatchWhenReady([=, this]()
{
for (int32 iConstraint = 0; iConstraint < _SurfaceConstraints.Num(); ++iConstraint)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ struct SPCRJOINTDYNAMICS_API FSPCRCurveZero
GENERATED_USTRUCT_BODY()

UPROPERTY(EditAnywhere, Category = Curve)
class UCurveFloat* Curve;
class UCurveFloat* Curve = nullptr;

UPROPERTY(EditAnywhere, Category = Curve)
float Power = 0.0f;
Expand Down Expand Up @@ -382,7 +382,7 @@ struct SPCRJOINTDYNAMICS_API FAnimNode_SPCRJointDynamics : public FAnimNode_Skel
TArray<FSPCRJointDynamicsBody> Bodies;

UPROPERTY(EditAnywhere, Category = Link, meta = (AlwaysAsPin))
USPCRJointDynamicsComponent* jointDynamicsComponent;
USPCRJointDynamicsComponent* jointDynamicsComponent= nullptr;

UPROPERTY(EditAnywhere, Category = Limit)
bool bLimitAngle = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ IMPLEMENT_MODULE(FSPCRJointDynamicsEd, SPCRJointDynamicsEd)
//======================================================================================
void FSPCRJointDynamicsEd::StartupModule()
{
FEditorModeRegistry::Get().RegisterMode<SPCRJointDynamics_Editor>(SPCRJointDynamics_Editor::REGISTER_MODE_ID, LOCTEXT("SPCRJointDynamics_Editor", "SPCR Joint Dynamics"), FSlateIcon(), false);
FEditorModeRegistry::Get().RegisterMode<SPCRJointDynamics_Editor>(SPCRJointDynamics_Editor::REGISTER_MODE_ID,
LOCTEXT("SPCRJointDynamics_Editor", "SPCR Joint Dynamics"), FSlateIcon(), false);
}

void FSPCRJointDynamicsEd::ShutdownModule()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -317,3 +317,9 @@ FSPCRJointDynamicsBody* SPCRJointDynamics_Editor::GetCurrColliderGraphNode()
return &SPCRAnimGraphNode->Node.Bodies[SelectedColliderIndex];
}

bool SPCRJointDynamics_Editor::SupportsPoseWatch() {
return false;
}
void SPCRJointDynamics_Editor::RegisterPoseWatchedNode(UAnimGraphNode_Base* InEditorNode, FAnimNode_Base* InRuntimeNode) {

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ IMPLEMENT_HIT_PROXY(HSPCRColliderHitProxy, HHitProxy);
SPCRJointDynamics_EditorBase::SPCRJointDynamics_EditorBase()
:AnimGraphNode(nullptr),
RuntimeNode(nullptr),
CurrentWidgetMode(FWidget::EWidgetMode::WM_Translate),
CurrentWidgetMode(UE::Widget::EWidgetMode::WM_Translate),
SelectedColliderIndex(SPCR_INVALID_COLLIDER_INDEX)
{
}
Expand All @@ -39,20 +39,20 @@ ECoordSystem SPCRJointDynamics_EditorBase::GetWidgetCoordinateSystem() const
return ECoordSystem::COORD_None;
}

FWidget::EWidgetMode SPCRJointDynamics_EditorBase::GetWidgetMode() const
UE::Widget::EWidgetMode SPCRJointDynamics_EditorBase::GetWidgetMode() const
{
if (IsValidColliderIndex())
return CurrentWidgetMode;
else
return FWidget::EWidgetMode::WM_None;
return UE::Widget::EWidgetMode::WM_None;
}

FWidget::EWidgetMode SPCRJointDynamics_EditorBase::ChangeToNextWidgetMode(FWidget::EWidgetMode CurWidgetMode)
UE::Widget::EWidgetMode SPCRJointDynamics_EditorBase::ChangeToNextWidgetMode(UE::Widget::EWidgetMode CurWidgetMode)
{
return FWidget::EWidgetMode::WM_None;
return UE::Widget::EWidgetMode::WM_None;
}

bool SPCRJointDynamics_EditorBase::SetWidgetMode(FWidget::EWidgetMode InWidgetMode)
bool SPCRJointDynamics_EditorBase::SetWidgetMode(UE::Widget::EWidgetMode InWidgetMode)
{
if (AnimGraphNode != nullptr)
{
Expand Down Expand Up @@ -166,15 +166,15 @@ bool SPCRJointDynamics_EditorBase::HandleClick(FEditorViewportClient* InViewport
if (spcrColliderHitProxy != nullptr)
{
SelectedColliderIndex = spcrColliderHitProxy->ColliderIndex;
CurrentWidgetMode = FWidget::EWidgetMode::WM_Translate;
CurrentWidgetMode = UE::Widget::EWidgetMode::WM_Translate;
isValid = true;
}
}

if(!isValid)
{
SelectedColliderIndex = SPCR_INVALID_COLLIDER_INDEX;
CurrentWidgetMode = FWidget::EWidgetMode::WM_None;
CurrentWidgetMode = UE::Widget::EWidgetMode::WM_None;
}

SetWidgetMode(CurrentWidgetMode);
Expand All @@ -188,13 +188,13 @@ bool SPCRJointDynamics_EditorBase::InputDelta(FEditorViewportClient* InViewportC

if (IsValidColliderIndex() && CurrentAxis != EAxisList::Type::None)
{
const FWidget::EWidgetMode WidgetMode = InViewportClient->GetWidgetMode();
const UE::Widget::EWidgetMode WidgetMode = InViewportClient->GetWidgetMode();

if (WidgetMode != FWidget::EWidgetMode::WM_None)
if (WidgetMode != UE::Widget::EWidgetMode::WM_None)
{
const bool IsTranslate = WidgetMode == FWidget::EWidgetMode::WM_Translate;
const bool IsRotation = WidgetMode == FWidget::EWidgetMode::WM_Rotate;
const bool IsScale = WidgetMode == FWidget::EWidgetMode::WM_Scale;
const bool IsTranslate = WidgetMode == UE::Widget::EWidgetMode::WM_Translate;
const bool IsRotation = WidgetMode == UE::Widget::EWidgetMode::WM_Rotate;
const bool IsScale = WidgetMode == UE::Widget::EWidgetMode::WM_Scale;

if (IsTranslate)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@ class SPCRJOINTDYNAMICSED_API SPCRJointDynamics_Editor : public SPCRJointDynamic
virtual bool GetCustomDrawingCoordinateSystem(FMatrix& InMatrix, void* InData) override;
virtual void DrawHUD(FEditorViewportClient* ViewportClient, FViewport* Viewport, const FSceneView* View, FCanvas* Canvas) override;

virtual bool SupportsPoseWatch();
virtual void RegisterPoseWatchedNode(UAnimGraphNode_Base* InEditorNode, FAnimNode_Base* InRuntimeNode);

private:
void RenderCapculeColliders(FPrimitiveDrawInterface* PDI, FSPCRJointDynamicsBody& OutCollider, const int ColliderIndex, const FTransform& BoneTransform, const float Radius, const float Height);
void RenderSphereColliders(FPrimitiveDrawInterface* PDI, FSPCRJointDynamicsBody& OutCollider, const int ColliderIndex, const FTransform& BoneTransform, const float Radius);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ class SPCRJOINTDYNAMICSED_API SPCRJointDynamics_EditorBase : public IAnimNodeEdi

//--------------IAnimNodeEditMode interface
virtual ECoordSystem GetWidgetCoordinateSystem() const override;
virtual FWidget::EWidgetMode GetWidgetMode() const override;
virtual FWidget::EWidgetMode ChangeToNextWidgetMode(FWidget::EWidgetMode CurWidgetMode) override;
virtual bool SetWidgetMode(FWidget::EWidgetMode InWidgetMode) override;
virtual UE::Widget::EWidgetMode GetWidgetMode() const override;
virtual UE::Widget::EWidgetMode ChangeToNextWidgetMode(UE::Widget::EWidgetMode CurWidgetMode) override;
virtual bool SetWidgetMode(UE::Widget::EWidgetMode InWidgetMode) override;
virtual FName GetSelectedBone() const override;
virtual void DoTranslation(FVector& InTranslation) override;
virtual void DoRotation(FRotator& InRotation) override;
Expand Down Expand Up @@ -86,7 +86,7 @@ class SPCRJOINTDYNAMICSED_API SPCRJointDynamics_EditorBase : public IAnimNodeEdi
class UAnimGraphNode_Base* AnimGraphNode;
struct FAnimNode_Base* RuntimeNode;

FWidget::EWidgetMode CurrentWidgetMode;
UE::Widget::EWidgetMode CurrentWidgetMode;

int SelectedColliderIndex;
};
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ public SPCRJointDynamicsEd(ReadOnlyTargetRules Target) : base(Target)
"Engine",
"InputCore",
"SPCRJointDynamics",
"AnimationEditMode",
"EditorFramework"
});
PublicDependencyModuleNames.AddRange(new string[] {
"Core",
Expand Down