Add project files.

This commit is contained in:
Razmoth
2022-09-27 17:40:31 +04:00
parent 871d908948
commit a476ace7d7
305 changed files with 71340 additions and 84 deletions

View File

@@ -0,0 +1,58 @@
using AssetStudio.FbxInterop;
using AssetStudio.PInvoke;
using System.IO;
namespace AssetStudio
{
public static partial class Fbx
{
static Fbx()
{
DllLoader.PreloadDll(FbxDll.DllName);
}
public static Vector3 QuaternionToEuler(Quaternion q)
{
AsUtilQuaternionToEuler(q.X, q.Y, q.Z, q.W, out var x, out var y, out var z);
return new Vector3(x, y, z);
}
public static Quaternion EulerToQuaternion(Vector3 v)
{
AsUtilEulerToQuaternion(v.X, v.Y, v.Z, out var x, out var y, out var z, out var w);
return new Quaternion(x, y, z, w);
}
public static class Exporter
{
public static void Export(string path, IImported imported, bool eulerFilter, float filterPrecision,
bool allNodes, bool skins, bool animation, bool blendShape, bool castToBone, float boneSize, bool exportAllUvsAsDiffuseMaps, float scaleFactor, int versionIndex, bool isAscii)
{
var file = new FileInfo(path);
var dir = file.Directory;
if (!dir.Exists)
{
dir.Create();
}
var currentDir = Directory.GetCurrentDirectory();
Directory.SetCurrentDirectory(dir.FullName);
var name = Path.GetFileName(path);
using (var exporter = new FbxExporter(name, imported, allNodes, skins, castToBone, boneSize, exportAllUvsAsDiffuseMaps, scaleFactor, versionIndex, isAscii))
{
exporter.Initialize();
exporter.ExportAll(blendShape, animation, eulerFilter, filterPrecision);
}
Directory.SetCurrentDirectory(currentDir);
}
}
}
}