mirror of
https://github.com/4sval/FModel.git
synced 2026-04-25 15:39:01 -05:00
mesh export poc
This commit is contained in:
parent
586d221573
commit
d03dc3e4e2
|
|
@ -1 +1 @@
|
||||||
Subproject commit 6507993eaea053dfea289bb1e852e7bbf0d13a9e
|
Subproject commit e479196098533761dadd601500369fcecc1baaef
|
||||||
|
|
@ -28,7 +28,9 @@ namespace FModel
|
||||||
|
|
||||||
protected override void OnStartup(StartupEventArgs e)
|
protected override void OnStartup(StartupEventArgs e)
|
||||||
{
|
{
|
||||||
|
#if DEBUG
|
||||||
AttachConsole(-1);
|
AttachConsole(-1);
|
||||||
|
#endif
|
||||||
base.OnStartup(e);
|
base.OnStartup(e);
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|
|
||||||
|
|
@ -129,12 +129,12 @@
|
||||||
<MenuItem Header="Save Textures" IsCheckable="True" StaysOpenOnClick="True"
|
<MenuItem Header="Save Textures" IsCheckable="True" StaysOpenOnClick="True"
|
||||||
InputGestureText="{Binding AutoSaveTextures, Source={x:Static local:Settings.UserSettings.Default}}"
|
InputGestureText="{Binding AutoSaveTextures, Source={x:Static local:Settings.UserSettings.Default}}"
|
||||||
IsChecked="{Binding IsAutoSaveTextures, Source={x:Static local:Settings.UserSettings.Default}}" />
|
IsChecked="{Binding IsAutoSaveTextures, Source={x:Static local:Settings.UserSettings.Default}}" />
|
||||||
<!--<MenuItem Header="Save Meshes" IsCheckable="True" StaysOpenOnClick="True"
|
|
||||||
InputGestureText="{Binding AutoSaveMeshes, Source={x:Static local:Settings.UserSettings.Default}}"
|
|
||||||
IsChecked="{Binding IsAutoSaveMeshes, Source={x:Static local:Settings.UserSettings.Default}}" />-->
|
|
||||||
<MenuItem Header="Save Materials" IsCheckable="True" StaysOpenOnClick="True"
|
<MenuItem Header="Save Materials" IsCheckable="True" StaysOpenOnClick="True"
|
||||||
InputGestureText="{Binding AutoSaveMaterials, Source={x:Static local:Settings.UserSettings.Default}}"
|
InputGestureText="{Binding AutoSaveMaterials, Source={x:Static local:Settings.UserSettings.Default}}"
|
||||||
IsChecked="{Binding IsAutoSaveMaterials, Source={x:Static local:Settings.UserSettings.Default}}" />
|
IsChecked="{Binding IsAutoSaveMaterials, Source={x:Static local:Settings.UserSettings.Default}}" />
|
||||||
|
<MenuItem Header="Save Meshes" IsCheckable="True" StaysOpenOnClick="True"
|
||||||
|
InputGestureText="{Binding AutoSaveMeshes, Source={x:Static local:Settings.UserSettings.Default}}"
|
||||||
|
IsChecked="{Binding IsAutoSaveMeshes, Source={x:Static local:Settings.UserSettings.Default}}" />
|
||||||
<MenuItem Header="Open Sounds" IsCheckable="True" StaysOpenOnClick="True"
|
<MenuItem Header="Open Sounds" IsCheckable="True" StaysOpenOnClick="True"
|
||||||
InputGestureText="{Binding AutoOpenSounds, Source={x:Static local:Settings.UserSettings.Default}}"
|
InputGestureText="{Binding AutoOpenSounds, Source={x:Static local:Settings.UserSettings.Default}}"
|
||||||
IsChecked="{Binding IsAutoOpenSounds, Source={x:Static local:Settings.UserSettings.Default}}" />
|
IsChecked="{Binding IsAutoOpenSounds, Source={x:Static local:Settings.UserSettings.Default}}" />
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ using CUE4Parse.UE4.AssetRegistry;
|
||||||
using CUE4Parse.UE4.Assets.Exports;
|
using CUE4Parse.UE4.Assets.Exports;
|
||||||
using CUE4Parse.UE4.Assets.Exports.Material;
|
using CUE4Parse.UE4.Assets.Exports.Material;
|
||||||
using CUE4Parse.UE4.Assets.Exports.Sound;
|
using CUE4Parse.UE4.Assets.Exports.Sound;
|
||||||
|
using CUE4Parse.UE4.Assets.Exports.StaticMesh;
|
||||||
using CUE4Parse.UE4.Assets.Exports.Texture;
|
using CUE4Parse.UE4.Assets.Exports.Texture;
|
||||||
using CUE4Parse.UE4.Assets.Exports.Wwise;
|
using CUE4Parse.UE4.Assets.Exports.Wwise;
|
||||||
using CUE4Parse.UE4.Localization;
|
using CUE4Parse.UE4.Localization;
|
||||||
|
|
@ -24,6 +25,7 @@ using CUE4Parse.UE4.Objects.UObject;
|
||||||
using CUE4Parse.UE4.Oodle.Objects;
|
using CUE4Parse.UE4.Oodle.Objects;
|
||||||
using CUE4Parse.UE4.Wwise;
|
using CUE4Parse.UE4.Wwise;
|
||||||
using CUE4Parse_Conversion.Materials;
|
using CUE4Parse_Conversion.Materials;
|
||||||
|
using CUE4Parse_Conversion.Meshes;
|
||||||
using CUE4Parse_Conversion.Sounds;
|
using CUE4Parse_Conversion.Sounds;
|
||||||
using CUE4Parse_Conversion.Textures;
|
using CUE4Parse_Conversion.Textures;
|
||||||
using EpicManifestParser.Objects;
|
using EpicManifestParser.Objects;
|
||||||
|
|
@ -583,6 +585,28 @@ namespace FModel.ViewModels
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
case UStaticMesh mesh when UserSettings.Default.IsAutoSaveMeshes:
|
||||||
|
{
|
||||||
|
var msh = new MeshExporter(mesh.Convert(), true);
|
||||||
|
foreach (var staticMesh in msh.StaticMeshes)
|
||||||
|
{
|
||||||
|
if (staticMesh.TryWriteTo(
|
||||||
|
Path.Combine(UserSettings.Default.OutputDirectory, "Saves"), out var savedFileName))
|
||||||
|
{
|
||||||
|
Log.Information("{FileName} successfully saved", savedFileName);
|
||||||
|
FLogger.AppendInformation();
|
||||||
|
FLogger.AppendText($"Successfully saved '{savedFileName}'", Constants.WHITE, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Log.Error("{FileName} could not be saved", savedFileName);
|
||||||
|
FLogger.AppendError();
|
||||||
|
FLogger.AppendText($"Could not saved '{savedFileName}'", Constants.WHITE, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
using var package = new CreatorPackage(export, UserSettings.Default.CosmeticStyle);
|
using var package = new CreatorPackage(export, UserSettings.Default.CosmeticStyle);
|
||||||
|
|
|
||||||
|
|
@ -290,12 +290,12 @@
|
||||||
<TextBlock Grid.Row="10" Grid.Column="0" Text="Auto Save Textures *" VerticalAlignment="Center" Margin="0 0 0 5" />
|
<TextBlock Grid.Row="10" Grid.Column="0" Text="Auto Save Textures *" VerticalAlignment="Center" Margin="0 0 0 5" />
|
||||||
<controls:HotkeyTextBox Grid.Row="10" Grid.Column="2" Style="{StaticResource TextBoxDefaultStyle}" Margin="0 0 0 5"
|
<controls:HotkeyTextBox Grid.Row="10" Grid.Column="2" Style="{StaticResource TextBoxDefaultStyle}" Margin="0 0 0 5"
|
||||||
HotKey="{Binding AutoSaveTextures, Source={x:Static local:Settings.UserSettings.Default}, Mode=TwoWay}" />
|
HotKey="{Binding AutoSaveTextures, Source={x:Static local:Settings.UserSettings.Default}, Mode=TwoWay}" />
|
||||||
<!-- <TextBlock Grid.Row="11" Grid.Column="0" Text="Auto Save Meshes *" VerticalAlignment="Center" Margin="0 0 0 5" /> -->
|
<TextBlock Grid.Row="11" Grid.Column="0" Text="Auto Save Materials *" VerticalAlignment="Center" Margin="0 0 0 5" />
|
||||||
<!-- <controls:HotkeyTextBox Grid.Row="11" Grid.Column="2" Style="{StaticResource TextBoxDefaultStyle}" Margin="0 0 0 5" -->
|
<controls:HotkeyTextBox Grid.Row="11" Grid.Column="2" Style="{StaticResource TextBoxDefaultStyle}" Margin="0 0 0 5"
|
||||||
<!-- HotKey="{Binding AutoSaveMeshes, Source={x:Static local:Settings.UserSettings.Default}, Mode=TwoWay}" /> -->
|
|
||||||
<TextBlock Grid.Row="12" Grid.Column="0" Text="Auto Save Materials *" VerticalAlignment="Center" Margin="0 0 0 5" />
|
|
||||||
<controls:HotkeyTextBox Grid.Row="12" Grid.Column="2" Style="{StaticResource TextBoxDefaultStyle}" Margin="0 0 0 5"
|
|
||||||
HotKey="{Binding AutoSaveMaterials, Source={x:Static local:Settings.UserSettings.Default}, Mode=TwoWay}" />
|
HotKey="{Binding AutoSaveMaterials, Source={x:Static local:Settings.UserSettings.Default}, Mode=TwoWay}" />
|
||||||
|
<TextBlock Grid.Row="12" Grid.Column="0" Text="Auto Save Meshes *" VerticalAlignment="Center" Margin="0 0 0 5" />
|
||||||
|
<controls:HotkeyTextBox Grid.Row="12" Grid.Column="2" Style="{StaticResource TextBoxDefaultStyle}" Margin="0 0 0 5"
|
||||||
|
HotKey="{Binding AutoSaveMeshes, Source={x:Static local:Settings.UserSettings.Default}, Mode=TwoWay}" />
|
||||||
<TextBlock Grid.Row="13" Grid.Column="0" Text="Auto Open Sounds *" VerticalAlignment="Center" />
|
<TextBlock Grid.Row="13" Grid.Column="0" Text="Auto Open Sounds *" VerticalAlignment="Center" />
|
||||||
<controls:HotkeyTextBox Grid.Row="13" Grid.Column="2" Style="{StaticResource TextBoxDefaultStyle}"
|
<controls:HotkeyTextBox Grid.Row="13" Grid.Column="2" Style="{StaticResource TextBoxDefaultStyle}"
|
||||||
HotKey="{Binding AutoOpenSounds, Source={x:Static local:Settings.UserSettings.Default}, Mode=TwoWay}" />
|
HotKey="{Binding AutoOpenSounds, Source={x:Static local:Settings.UserSettings.Default}, Mode=TwoWay}" />
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user