From 3b3fe6cb957eebf0c389cea4a7ed8be395e4d069 Mon Sep 17 00:00:00 2001 From: 4sval Date: Wed, 15 Feb 2023 00:54:12 +0100 Subject: [PATCH] fixed outliner messing up vertex normal scale --- CUE4Parse | 2 +- FModel/Resources/outline.vert | 4 ++-- FModel/ViewModels/CUE4ParseViewModel.cs | 1 + FModel/Views/Snooper/Renderer.cs | 3 +++ 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CUE4Parse b/CUE4Parse index 91741c40..f8e462f7 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit 91741c40ca8545c7ea3730493c58475ee93ee465 +Subproject commit f8e462f7f12432626b9400409fd50f685309516a diff --git a/FModel/Resources/outline.vert b/FModel/Resources/outline.vert index a7b20e4d..56de336d 100644 --- a/FModel/Resources/outline.vert +++ b/FModel/Resources/outline.vert @@ -45,8 +45,8 @@ void main() } finalPos = vInstanceMatrix * finalPos; - float scaleFactor = distance(vec3(finalPos), uViewPos) * 0.0025; - vec4 nor = transpose(inverse(vInstanceMatrix)) * finalNormal * scaleFactor; + float scaleFactor = distance(vec3(finalPos), uViewPos) * 0.0035; + vec4 nor = transpose(inverse(vInstanceMatrix)) * normalize(finalNormal) * scaleFactor; finalPos.xyz += nor.xyz; gl_Position = uProjection * uView * finalPos; diff --git a/FModel/ViewModels/CUE4ParseViewModel.cs b/FModel/ViewModels/CUE4ParseViewModel.cs index dd44ba00..9f5b0c8a 100644 --- a/FModel/ViewModels/CUE4ParseViewModel.cs +++ b/FModel/ViewModels/CUE4ParseViewModel.cs @@ -818,6 +818,7 @@ public class CUE4ParseViewModel : ViewModel } case UAnimSequence when isNone && ModelIsWaitingAnimation: case UAnimMontage when isNone && ModelIsWaitingAnimation: + case UAnimComposite when isNone && ModelIsWaitingAnimation: { SnooperViewer.Renderer.Animate(export); SnooperViewer.Run(); diff --git a/FModel/Views/Snooper/Renderer.cs b/FModel/Views/Snooper/Renderer.cs index b07e3d1c..65a19bda 100644 --- a/FModel/Views/Snooper/Renderer.cs +++ b/FModel/Views/Snooper/Renderer.cs @@ -103,6 +103,9 @@ public class Renderer : IDisposable case UAnimMontage animMontage when animMontage.Skeleton.TryLoad(out USkeleton skeleton): model.Skeleton.SetAnimation(skeleton.ConvertAnims(animMontage), AnimateWithRotationOnly); break; + case UAnimComposite animComposite when animComposite.Skeleton.TryLoad(out USkeleton skeleton): + model.Skeleton.SetAnimation(skeleton.ConvertAnims(animComposite), AnimateWithRotationOnly); + break; } Options.AnimateMesh(false); }