Skip to content

Commit

Permalink
Fix ApplyModelTransform not applying
Browse files Browse the repository at this point in the history
  • Loading branch information
Minmoose committed Feb 21, 2025
1 parent fde246a commit aff1752
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 7 deletions.
4 changes: 2 additions & 2 deletions Brio/Capabilities/Posing/ModelPosingCapability.cs
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ public override void Dispose()
ResetTransform();
}

public void ImportModelPose(PoseFile poseFile, PoseImporterOptions options, bool isLoadingAsScene)
public void ImportModelPose(PoseFile poseFile, PoseImporterOptions options, bool isLoadingAsScene, bool applyModelTransform)
{
if(options.ApplyModelTransform)
if(applyModelTransform)
{
if(isLoadingAsScene)
{
Expand Down
13 changes: 8 additions & 5 deletions Brio/Capabilities/Posing/PosingCapability.cs
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ public void ImportPose(OneOf<PoseFile, CMToolPoseFile> rawPoseFile, PoseImporter
actionTimeline.StopSpeedAndResetTimeline(() =>
{
ImportPose_Internal(rawPoseFile, options, reset: false, reconcile: false, asExpression: asExpression, asScene: asScene,
asIPCpose: asIPCpose, asBody: asBody, asProp: asProp, transformComponents: transformComponents);
asIPCpose: asIPCpose, asBody: asBody, asProp: asProp, transformComponents: transformComponents, applyModelTransformOverride: applyModelTransformOverride);

}, !(ConfigurationService.Instance.Configuration.Posing.FreezeActorOnPoseImport || freezeOnLoad));
}
Expand Down Expand Up @@ -189,6 +189,7 @@ internal void ImportPose_Internal(OneOf<PoseFile, CMToolPoseFile> rawPoseFile, P

poseFile.SanitizeBoneNames();

bool applyModelTransform = false;
if(asExpression)
{
Brio.Log.Info("Loading as Expression");
Expand All @@ -204,7 +205,7 @@ internal void ImportPose_Internal(OneOf<PoseFile, CMToolPoseFile> rawPoseFile, P
{
options = _posingService.SceneImporterOptions;

options.ApplyModelTransform = ConfigurationService.Instance.Configuration.Import.ApplyModelTransform;
applyModelTransform |= ConfigurationService.Instance.Configuration.Import.ApplyModelTransform;
}
else if(asIPCpose)
{
Expand All @@ -215,23 +216,25 @@ internal void ImportPose_Internal(OneOf<PoseFile, CMToolPoseFile> rawPoseFile, P
options ??= _posingService.DefaultImporterOptions;
}

applyModelTransform |= options.ApplyModelTransform;

if(transformComponents.HasValue)
{
options.TransformComponents = transformComponents.Value;
}

if(applyModelTransformOverride.HasValue)
{
options.ApplyModelTransform = applyModelTransformOverride.Value;
applyModelTransform = applyModelTransformOverride.Value;
}

if(options.ApplyModelTransform && reset)
if(applyModelTransform && reset)
ModelPosing.ResetTransform();

SkeletonPosing.ImportSkeletonPose(poseFile, options, expressionPhase2);

if(asExpression == false)
ModelPosing.ImportModelPose(poseFile, options, asScene);
ModelPosing.ImportModelPose(poseFile, options, asScene, applyModelTransform);

if(generateSnapshot)
_framework.RunOnTick(() => Snapshot(reset, reconcile, asExpression: asExpression), delayTicks: 4);
Expand Down
5 changes: 5 additions & 0 deletions Brio/UI/Controls/Stateless/FileUIHelpers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,11 @@ public static void DrawImportPoseMenuPopup(PosingCapability capability, bool sho

if(ImGui.Button("Import", new(size.X, 25)))
{
//bool? modelTransformOverride = null;
//if(doTransform)
//{
// modelTransformOverride = doTransform;
//}
ShowImportPoseModal(capability, freezeOnLoad: freezeOnLoad, transformComponents: transformComponents, applyModelTransformOverride: doTransform);
}

Expand Down

0 comments on commit aff1752

Please sign in to comment.