Compare commits
11 Commits
349976b787
...
Decompile
| Author | SHA1 | Date | |
|---|---|---|---|
| a00490fb35 | |||
| f3e104a200 | |||
| 793e544eb0 | |||
| e4566118f7 | |||
| 7637ff2ac0 | |||
| 6c2bb74df3 | |||
| 34507ca208 | |||
| 15efd5b720 | |||
| ff3a3c522e | |||
| bf39155bf3 | |||
| 5d4f773fe5 |
@@ -0,0 +1,49 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7464217327116044082
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8068461331216787135}
|
||||
- component: {fileID: 6752720059844632398}
|
||||
m_Layer: 0
|
||||
m_Name: EdenAUtoMorpher_ProfileSaver
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8068461331216787135
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7464217327116044082}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &6752720059844632398
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7464217327116044082}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2fd1a8210b48a8d49843a3f2859e67b6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sourceAvatar: {fileID: 0}
|
||||
sourceBodyMeshes: []
|
||||
profileName:
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e67ca88eb0cf57141b82536914d0cace
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
67
Assets/@Eden_Tools/Eden_AutoMorpher/EdenAutoMorpher.prefab
Normal file
67
Assets/@Eden_Tools/Eden_AutoMorpher/EdenAutoMorpher.prefab
Normal file
@@ -0,0 +1,67 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1593401673962086623
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1906542585506803867}
|
||||
- component: {fileID: 2852885081601766632}
|
||||
m_Layer: 0
|
||||
m_Name: EdenAutoMorpher
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1906542585506803867
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1593401673962086623}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2852885081601766632
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1593401673962086623}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 50552370e41d31140a52da99bcc7ab74, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sourceAvatarObject: {fileID: 0}
|
||||
sourceClothesObject: {fileID: 0}
|
||||
sourceBodyMeshes: []
|
||||
profileName: Milfy
|
||||
targetAvatarObject: {fileID: 0}
|
||||
targetClothesObject: {fileID: 0}
|
||||
targetClothesObjectOriginal: {fileID: 0}
|
||||
targetBodyMeshes: []
|
||||
minMargin: 0.003
|
||||
worldRadius: 0.1
|
||||
sigma: 0.85
|
||||
smoothingIteration: 1
|
||||
fittingExpandIteration: 10
|
||||
fittingShrinkIteration: 12
|
||||
isBodyAutoSetup: 1
|
||||
isReparentAccessoryBonesToTargetAvatar: 1
|
||||
skipFootFitting: 0
|
||||
transferWeightToAvatar: 0
|
||||
addAnchorBone: 1
|
||||
armatureBoneScaleCopy: 0
|
||||
isRemoveAutoMorphedClothes: 1
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4512c204bb8c0a742b80d55d66adc895
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/@Eden_Tools/Eden_AutoMorpher/Editor.meta
Normal file
8
Assets/@Eden_Tools/Eden_AutoMorpher/Editor.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dcd2dae79e135544e8f59bbfd335d224
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,139 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpherEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.AutoMorpherLogCollector
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
public class AutoMorpherLogCollector
|
||||
{
|
||||
private struct LogEntry
|
||||
{
|
||||
public DateTime utcTime;
|
||||
|
||||
public LogType type;
|
||||
|
||||
public string condition;
|
||||
|
||||
public string stackTrace;
|
||||
}
|
||||
|
||||
private bool _isCapturing;
|
||||
|
||||
private DateTime _captureStartUtc;
|
||||
|
||||
private readonly List<LogEntry> _entries = new List<LogEntry>(2048);
|
||||
|
||||
private int entriesCapacity = 5000;
|
||||
|
||||
private const string logSavePath = "Assets/@Eden_Tools/Eden_AutoMorpher/Logs";
|
||||
|
||||
public void BeginCapture()
|
||||
{
|
||||
if (!this._isCapturing)
|
||||
{
|
||||
this._isCapturing = true;
|
||||
this._entries.Clear();
|
||||
this._captureStartUtc = DateTime.UtcNow;
|
||||
Application.logMessageReceived += this.OnLogMessageReceived;
|
||||
}
|
||||
}
|
||||
|
||||
public void EndCapture()
|
||||
{
|
||||
if (this._isCapturing)
|
||||
{
|
||||
this._isCapturing = false;
|
||||
Application.logMessageReceived -= this.OnLogMessageReceived;
|
||||
}
|
||||
}
|
||||
|
||||
public string SaveToTextFile(string defaultFileName, bool includeWarningsAndInfo)
|
||||
{
|
||||
this.EnsureLogDirectoryExists();
|
||||
string text = defaultFileName;
|
||||
if (string.IsNullOrEmpty(text))
|
||||
{
|
||||
text = "EdenAutoMorpher_Report.txt";
|
||||
}
|
||||
if (!text.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
text += ".txt";
|
||||
}
|
||||
string text2 = Path.Combine("Assets/@Eden_Tools/Eden_AutoMorpher/Logs", text);
|
||||
string contents = this.BuildReportText(includeWarningsAndInfo);
|
||||
File.WriteAllText(text2, contents, Encoding.UTF8);
|
||||
AssetDatabase.Refresh();
|
||||
Debug.Log("[AutoMorpher] Log report saved: " + text2);
|
||||
return text2;
|
||||
}
|
||||
|
||||
private void EnsureLogDirectoryExists()
|
||||
{
|
||||
if (AssetDatabase.IsValidFolder("Assets/@Eden_Tools/Eden_AutoMorpher/Logs"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
string[] array = "Assets/@Eden_Tools/Eden_AutoMorpher/Logs".Split('/', StringSplitOptions.None);
|
||||
string text = array[0];
|
||||
for (int i = 1; i < array.Length; i++)
|
||||
{
|
||||
string text2 = text + "/" + array[i];
|
||||
if (!AssetDatabase.IsValidFolder(text2))
|
||||
{
|
||||
AssetDatabase.CreateFolder(text, array[i]);
|
||||
}
|
||||
text = text2;
|
||||
}
|
||||
}
|
||||
|
||||
public string BuildReportText(bool includeWarningsAndInfo)
|
||||
{
|
||||
StringBuilder stringBuilder = new StringBuilder(65536);
|
||||
stringBuilder.AppendLine("==== EDEN AUTO MORPHER LOG REPORT ====");
|
||||
stringBuilder.AppendLine($"Captured (UTC) : {this._captureStartUtc:yyyy-MM-dd HH:mm:ss} ~ {DateTime.UtcNow:yyyy-MM-dd HH:mm:ss}");
|
||||
stringBuilder.AppendLine("Unity Version : " + Application.unityVersion);
|
||||
stringBuilder.AppendLine($"Platform : {Application.platform}");
|
||||
stringBuilder.AppendLine("Project : " + Application.productName);
|
||||
stringBuilder.AppendLine();
|
||||
stringBuilder.AppendLine("---- Logs ----");
|
||||
for (int i = 0; i < this._entries.Count; i++)
|
||||
{
|
||||
LogEntry logEntry = this._entries[i];
|
||||
if (includeWarningsAndInfo || logEntry.type == LogType.Error || logEntry.type == LogType.Assert || logEntry.type == LogType.Exception)
|
||||
{
|
||||
stringBuilder.AppendLine($"[{i:0000}] - [{logEntry.type}] | {logEntry.utcTime:HH:mm:ss.fff} UTC");
|
||||
stringBuilder.AppendLine(logEntry.condition ?? string.Empty);
|
||||
if (!string.IsNullOrEmpty(logEntry.stackTrace))
|
||||
{
|
||||
stringBuilder.AppendLine("Details:");
|
||||
stringBuilder.AppendLine(logEntry.stackTrace);
|
||||
}
|
||||
stringBuilder.AppendLine();
|
||||
}
|
||||
}
|
||||
return stringBuilder.ToString();
|
||||
}
|
||||
|
||||
private void OnLogMessageReceived(string condition, string stackTrace, LogType type)
|
||||
{
|
||||
if (this._isCapturing)
|
||||
{
|
||||
this._entries.Add(new LogEntry
|
||||
{
|
||||
utcTime = DateTime.UtcNow,
|
||||
type = type,
|
||||
condition = condition,
|
||||
stackTrace = stackTrace
|
||||
});
|
||||
if (this._entries.Count > this.entriesCapacity)
|
||||
{
|
||||
this._entries.RemoveRange(0, 1000);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 48dbd59641bef954eb938512667a41d1
|
||||
@@ -0,0 +1,304 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpherEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.AutoMorpherValidator
|
||||
using Eden.AutoMorpher;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
|
||||
public class AutoMorpherValidator
|
||||
{
|
||||
public bool ValidateAutoModeObjects(GameObject sourceAvatar, GameObject sourceClothes, GameObject targetAvatar, out string errorMessage)
|
||||
{
|
||||
return this.ValidateAutoModeObjects_Internal(sourceAvatar, sourceClothes, targetAvatar, out errorMessage);
|
||||
}
|
||||
|
||||
public bool ValidateManualMode_AutoSetup_Objects(GameObject sourceAvatar, GameObject sourceClothes, GameObject targetAvatar, out string errorMessage)
|
||||
{
|
||||
return this.ValidateManualMode_AutoSetup_Objects_Internal(sourceAvatar, sourceClothes, targetAvatar, out errorMessage);
|
||||
}
|
||||
|
||||
public bool ValidateManualModeObjects(GameObject sourceAvatar, GameObject sourceClothes, GameObject targetAvatar, GameObject targetClothes, out string errorMessage)
|
||||
{
|
||||
return this.ValidateManualModeObjects_Internal(sourceAvatar, sourceClothes, targetAvatar, targetClothes, out errorMessage);
|
||||
}
|
||||
|
||||
public bool ValidateProfileModeObjects(GameObject sourceClothes, GameObject targetAvatar, out string errorMessage)
|
||||
{
|
||||
return this.ValidateProfileModeObjects_Internal(sourceClothes, targetAvatar, out errorMessage);
|
||||
}
|
||||
|
||||
public bool ValidateAutoModeObjects_Internal(GameObject sourceAvatar, GameObject sourceClothes, GameObject targetAvatar, out string errorMessage)
|
||||
{
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
this.ObjectNullCheck(stringBuilder, (sourceAvatar, "- Source Avatar Object"), (sourceClothes, "- Source Clothes Object"), (targetAvatar, "- Target Avatar Object"));
|
||||
if (sourceClothes != null)
|
||||
{
|
||||
this.ClothesChildCheck(stringBuilder, sourceAvatar, sourceClothes, LanguageManager.Get("UI.Validator.SourceClothesChildCheck"));
|
||||
this.HasSMRInClothes(stringBuilder, sourceClothes, "ClothesObject - There is No SkinnedMeshRenderer");
|
||||
this.HasLocalArmature(stringBuilder, sourceClothes, "Source " + LanguageManager.Get("UI.Validator.ClothesArmatureCheck"));
|
||||
}
|
||||
if (sourceAvatar != null)
|
||||
{
|
||||
this.IsHumanoid(stringBuilder, sourceAvatar, LanguageManager.Get("UI.Validator.SourceAvatarAnimatorCheck"));
|
||||
}
|
||||
if (targetAvatar != null)
|
||||
{
|
||||
this.IsHumanoid(stringBuilder, targetAvatar, LanguageManager.Get("UI.Validator.TargetAvatarAnimatorCheck"));
|
||||
}
|
||||
if (stringBuilder.Length == 0)
|
||||
{
|
||||
errorMessage = null;
|
||||
return true;
|
||||
}
|
||||
errorMessage = "Auto Mode: " + LanguageManager.Get("UI.Validator.Can'tFitting") + stringBuilder.ToString();
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool ValidateProfileModeObjects_Internal(GameObject sourceClothes, GameObject targetAvatar, out string errorMessage)
|
||||
{
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
this.ObjectNullCheck(stringBuilder, (sourceClothes, "- Source Clothes Object"), (targetAvatar, "- Target Avatar Object"));
|
||||
if (sourceClothes != null)
|
||||
{
|
||||
this.HasSMRInClothes(stringBuilder, sourceClothes, "ClothesObject - There is No SkinnedMeshRenderer");
|
||||
this.HasLocalArmature(stringBuilder, sourceClothes, "Source " + LanguageManager.Get("UI.Validator.ClothesArmatureCheck"));
|
||||
}
|
||||
if (targetAvatar != null)
|
||||
{
|
||||
this.IsHumanoid(stringBuilder, targetAvatar, LanguageManager.Get("UI.Validator.TargetAvatarAnimatorCheck"));
|
||||
}
|
||||
if (stringBuilder.Length == 0)
|
||||
{
|
||||
errorMessage = null;
|
||||
return true;
|
||||
}
|
||||
errorMessage = "Profile Mode: " + LanguageManager.Get("UI.Validator.Can'tFitting") + stringBuilder.ToString();
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool ValidateManualMode_AutoSetup_Objects_Internal(GameObject sourceAvatar, GameObject sourceClothes, GameObject targetAvatar, out string errorMessage)
|
||||
{
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
this.ObjectNullCheck(stringBuilder, (sourceAvatar, "- Source Avatar Object"), (sourceClothes, "- Source Clothes Object"), (targetAvatar, "- Target Avatar Object"));
|
||||
if (sourceClothes != null)
|
||||
{
|
||||
this.ClothesChildCheck(stringBuilder, sourceAvatar, sourceClothes, LanguageManager.Get("UI.Validator.SourceClothesChildCheck"));
|
||||
this.HasSMRInClothes(stringBuilder, sourceClothes, "ClothesObject - There is No SkinnedMeshRenderer");
|
||||
this.HasLocalArmature(stringBuilder, sourceClothes, "Source " + LanguageManager.Get("UI.Validator.ClothesArmatureCheck"));
|
||||
}
|
||||
if (sourceAvatar != null)
|
||||
{
|
||||
this.IsHumanoid(stringBuilder, sourceAvatar, LanguageManager.Get("UI.Validator.SourceAvatarAnimatorCheck"));
|
||||
}
|
||||
if (targetAvatar != null)
|
||||
{
|
||||
this.IsHumanoid(stringBuilder, targetAvatar, LanguageManager.Get("UI.Validator.TargetAvatarAnimatorCheck"));
|
||||
}
|
||||
if (stringBuilder.Length == 0)
|
||||
{
|
||||
errorMessage = null;
|
||||
return true;
|
||||
}
|
||||
errorMessage = "Manual Mode - Auto Setup: " + LanguageManager.Get("UI.Validator.Can'tFitting") + stringBuilder.ToString();
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool ValidateManualModeObjects_Internal(GameObject sourceAvatar, GameObject sourceClothes, GameObject targetAvatar, GameObject targetClothes, out string errorMessage)
|
||||
{
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
this.ObjectNullCheck(stringBuilder, (sourceAvatar, "- Source Avatar Object"), (sourceClothes, "- Source Clothes Object"), (targetAvatar, "- Target Avatar Object"), (targetClothes, "- Target Clothes Object"));
|
||||
if (sourceClothes != null)
|
||||
{
|
||||
this.ClothesChildCheck(stringBuilder, sourceAvatar, sourceClothes, LanguageManager.Get("UI.Validator.SourceClothesChildCheck"));
|
||||
this.HasSMRInClothes(stringBuilder, sourceClothes, "ClothesObject - There is No SkinnedMeshRenderer");
|
||||
this.HasLocalArmature(stringBuilder, sourceClothes, "Source " + LanguageManager.Get("UI.Validator.ClothesArmatureCheck"));
|
||||
}
|
||||
if (targetClothes != null)
|
||||
{
|
||||
this.ClothesChildCheck(stringBuilder, targetAvatar, targetClothes, LanguageManager.Get("UI.Validator.TargetClothesChildCheck"));
|
||||
this.HasSMRInClothes(stringBuilder, targetClothes, "ClothesObject - There is No SkinnedMeshRenderer");
|
||||
this.HasLocalArmature(stringBuilder, targetClothes, "Target " + LanguageManager.Get("UI.Validator.ClothesArmatureCheck"));
|
||||
}
|
||||
if (sourceAvatar != null)
|
||||
{
|
||||
this.IsHumanoid(stringBuilder, sourceAvatar, LanguageManager.Get("UI.Validator.SourceAvatarAnimatorCheck"));
|
||||
}
|
||||
if (targetAvatar != null)
|
||||
{
|
||||
this.IsHumanoid(stringBuilder, targetAvatar, LanguageManager.Get("UI.Validator.TargetAvatarAnimatorCheck"));
|
||||
}
|
||||
if (sourceClothes != null && targetClothes != null)
|
||||
{
|
||||
this.AppendSmrAndVertexCheck(stringBuilder, sourceClothes, targetClothes);
|
||||
}
|
||||
if (stringBuilder.Length == 0)
|
||||
{
|
||||
errorMessage = null;
|
||||
return true;
|
||||
}
|
||||
errorMessage = "Manual Mode: " + LanguageManager.Get("UI.Validator.Can'tFitting") + stringBuilder.ToString();
|
||||
return false;
|
||||
}
|
||||
|
||||
private void ObjectNullCheck(StringBuilder sb, params (GameObject obj, string label)[] refs)
|
||||
{
|
||||
bool flag = false;
|
||||
for (int i = 0; i < refs.Length; i++)
|
||||
{
|
||||
if (refs[i].obj == null)
|
||||
{
|
||||
flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!flag)
|
||||
{
|
||||
return;
|
||||
}
|
||||
sb.AppendLine(LanguageManager.Get("UI.Validator.ReferenceCheck"));
|
||||
for (int j = 0; j < refs.Length; j++)
|
||||
{
|
||||
if (refs[j].obj == null)
|
||||
{
|
||||
sb.AppendLine(refs[j].label);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ClothesChildCheck(StringBuilder sb, GameObject parentObject, GameObject childObject, string messageOnInvalid)
|
||||
{
|
||||
if (!(childObject == null) && (parentObject == null || !childObject.transform.IsChildOf(parentObject.transform)))
|
||||
{
|
||||
if (sb.Length > 0)
|
||||
{
|
||||
sb.AppendLine();
|
||||
}
|
||||
sb.AppendLine(messageOnInvalid);
|
||||
}
|
||||
}
|
||||
|
||||
private void HasSMRInClothes(StringBuilder sb, GameObject clothesRoot, string messageOnInvalid)
|
||||
{
|
||||
if (clothesRoot == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
SkinnedMeshRenderer[] componentsInChildren = clothesRoot.GetComponentsInChildren<SkinnedMeshRenderer>(includeInactive: true);
|
||||
if (componentsInChildren == null || componentsInChildren.Length == 0)
|
||||
{
|
||||
if (sb.Length > 0)
|
||||
{
|
||||
sb.AppendLine();
|
||||
}
|
||||
sb.AppendLine(messageOnInvalid);
|
||||
}
|
||||
}
|
||||
|
||||
private void HasLocalArmature(StringBuilder sb, GameObject clothesRoot, string messageOnInvalid)
|
||||
{
|
||||
if (clothesRoot == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
SkinnedMeshRenderer[] componentsInChildren = clothesRoot.GetComponentsInChildren<SkinnedMeshRenderer>(includeInactive: true);
|
||||
if (componentsInChildren == null || componentsInChildren.Length == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Transform transform = clothesRoot.transform;
|
||||
bool flag = true;
|
||||
SkinnedMeshRenderer[] array = componentsInChildren;
|
||||
for (int i = 0; i < array.Length; i++)
|
||||
{
|
||||
Transform[] bones = array[i].bones;
|
||||
if (bones == null || bones.Length == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
Transform[] array2 = bones;
|
||||
foreach (Transform transform2 in array2)
|
||||
{
|
||||
if (!(transform2 == null) && !transform2.transform.IsChildOf(transform))
|
||||
{
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!flag)
|
||||
{
|
||||
if (sb.Length > 0)
|
||||
{
|
||||
sb.AppendLine();
|
||||
}
|
||||
sb.AppendLine(messageOnInvalid);
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsHumanoid(StringBuilder sb, GameObject avatarObject, string messageOnInvalid)
|
||||
{
|
||||
if (avatarObject == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
Animator component = avatarObject.GetComponent<Animator>();
|
||||
if (component == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (component.avatar == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (!component.avatar.isHuman)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void AppendSmrAndVertexCheck(StringBuilder sb, GameObject sourceClothes, GameObject targetClothes)
|
||||
{
|
||||
if (sourceClothes == null || targetClothes == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
SkinnedMeshRenderer[] componentsInChildren = sourceClothes.GetComponentsInChildren<SkinnedMeshRenderer>(includeInactive: true);
|
||||
SkinnedMeshRenderer[] componentsInChildren2 = targetClothes.GetComponentsInChildren<SkinnedMeshRenderer>(includeInactive: true);
|
||||
int num = ((componentsInChildren != null) ? componentsInChildren.Length : 0);
|
||||
int num2 = ((componentsInChildren2 != null) ? componentsInChildren2.Length : 0);
|
||||
if (num != num2)
|
||||
{
|
||||
if (sb.Length > 0)
|
||||
{
|
||||
sb.AppendLine();
|
||||
}
|
||||
sb.AppendLine(LanguageManager.Get("UI.Validator.CheckRendererCountCheck"));
|
||||
sb.AppendLine($"- Source Clothes SMR : {num}");
|
||||
sb.AppendLine($"- Target Clothes SMR : {num2}");
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < num; i++)
|
||||
{
|
||||
SkinnedMeshRenderer skinnedMeshRenderer = componentsInChildren[i];
|
||||
SkinnedMeshRenderer skinnedMeshRenderer2 = componentsInChildren2[i];
|
||||
if (skinnedMeshRenderer == null || skinnedMeshRenderer2 == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
Mesh sharedMesh = skinnedMeshRenderer.sharedMesh;
|
||||
Mesh sharedMesh2 = skinnedMeshRenderer2.sharedMesh;
|
||||
if (!(sharedMesh == null) && !(sharedMesh2 == null) && sharedMesh.vertexCount != sharedMesh2.vertexCount)
|
||||
{
|
||||
if (sb.Length > 0)
|
||||
{
|
||||
sb.AppendLine();
|
||||
}
|
||||
sb.AppendLine(LanguageManager.Get("UI.Validator.VertexCountCheck"));
|
||||
sb.AppendLine($"- Source: {skinnedMeshRenderer.name} (vertices: {sharedMesh.vertexCount})");
|
||||
sb.AppendLine($"- Target: {skinnedMeshRenderer2.name} (vertices: {sharedMesh2.vertexCount})");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 367e223b416de1d4d92bdcaee21b1df7
|
||||
1007
Assets/@Eden_Tools/Eden_AutoMorpher/Editor/EdenAutoMorpherEditor.cs
Normal file
1007
Assets/@Eden_Tools/Eden_AutoMorpher/Editor/EdenAutoMorpherEditor.cs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2a5cebf384008fb4fa1e1141a4845238
|
||||
16
Assets/@Eden_Tools/Eden_AutoMorpher/Editor/ResultInfo.cs
Normal file
16
Assets/@Eden_Tools/Eden_AutoMorpher/Editor/ResultInfo.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpherEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.ResultInfo
|
||||
public class ResultInfo
|
||||
{
|
||||
public bool isComplicated;
|
||||
|
||||
public string processTyep = "";
|
||||
|
||||
public string processEndState = "";
|
||||
|
||||
public string processTime = "";
|
||||
|
||||
public string errorMessage = "";
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 45a0e5ffc6837dc48b871f340e85e7a4
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 42ffaa733fd3b8f4bb16b48ac9321699
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9edd784ea5aea9d419070655b91a1ade
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f4b157cb0292d6a43b5b593c5d80b658
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,195 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Editor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaverEditor
|
||||
using Eden.AutoMorpher;
|
||||
using System;
|
||||
using System.IO;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
[CustomEditor(typeof(EdenAutoMorpher_ProfileSaver))]
|
||||
public class EdenAutoMorpher_ProfileSaverEditor : Editor
|
||||
{
|
||||
private EdenAutoMorpher_ProfileSaver saver;
|
||||
|
||||
private ProfileUtils profileUtils;
|
||||
|
||||
private string errorMessage;
|
||||
|
||||
private bool hasError;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
this.saver = (EdenAutoMorpher_ProfileSaver)base.target;
|
||||
this.profileUtils = new ProfileUtils();
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
base.serializedObject.Update();
|
||||
this.DrawProfileVersion();
|
||||
EditorGUILayout.Space(8f);
|
||||
this.DrawGuideMessage();
|
||||
EditorGUILayout.Space(10f);
|
||||
this.DrawRequiredInputFields();
|
||||
EditorGUILayout.Space(10f);
|
||||
this.DrawSavePath();
|
||||
EditorGUILayout.Space(8f);
|
||||
this.ValidateInputs();
|
||||
this.DrawErrorMessage();
|
||||
EditorGUILayout.Space(12f);
|
||||
this.DrawSaveButton();
|
||||
base.serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
|
||||
private void DrawProfileVersion()
|
||||
{
|
||||
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0038: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_005d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
|
||||
int profileVersion = this.profileUtils.GetProfileVersion();
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField("EDEN Auto Morpher - Profile Saver", EditorStyles.boldLabel);
|
||||
GUILayout.FlexibleSpace();
|
||||
Language currentLanguage = LanguageManager.CurrentLanguage;
|
||||
Language val = currentLanguage;
|
||||
val = (Language)(object)EditorGUILayout.EnumPopup((Enum)(object)currentLanguage, GUILayout.Width(80f));
|
||||
if (val != currentLanguage)
|
||||
{
|
||||
LanguageManager.SetLanguage(val);
|
||||
GUI.FocusControl(null);
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
EditorGUILayout.LabelField($"Profile Version : {profileVersion}", EditorStyles.boldLabel);
|
||||
EditorGUILayout.Space(6f);
|
||||
}
|
||||
|
||||
private void DrawGuideMessage()
|
||||
{
|
||||
EditorGUILayout.HelpBox("\n" + LanguageManager.Get("UI.ProfileSaver.Guide") + "\n", MessageType.Info);
|
||||
}
|
||||
|
||||
private void DrawRequiredInputFields()
|
||||
{
|
||||
EditorGUILayout.LabelField("Required Input Fields", EditorStyles.boldLabel);
|
||||
using (new EditorGUILayout.VerticalScope(EditorStyles.helpBox))
|
||||
{
|
||||
EditorGUI.indentLevel++;
|
||||
EditorGUILayout.Space(4f);
|
||||
EditorGUILayout.PropertyField(base.serializedObject.FindProperty("profileName"), new GUIContent("Profile Name", LanguageManager.Get("UI.ProfileSaver.ProfileName.Tooltip")));
|
||||
EditorGUILayout.Space(6f);
|
||||
EditorGUILayout.PropertyField(base.serializedObject.FindProperty("sourceAvatar"), new GUIContent("Source Avatar", LanguageManager.Get("UI.ProfileSaver.SourceAvatar.Tooltip")));
|
||||
EditorGUILayout.Space(6f);
|
||||
EditorGUI.indentLevel++;
|
||||
EditorGUILayout.PropertyField(base.serializedObject.FindProperty("sourceBodyMeshes"), new GUIContent("Source Body Meshes", LanguageManager.Get("UI.ProfileSaver.SourceBodyMeshes.Tooltip")), true);
|
||||
EditorGUILayout.Space(4f);
|
||||
EditorGUI.indentLevel--;
|
||||
EditorGUI.indentLevel--;
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawSavePath()
|
||||
{
|
||||
EditorGUILayout.LabelField("Save Path", EditorStyles.boldLabel);
|
||||
string text = Path.Combine(this.profileUtils.GetProfileBasePath(), this.saver.profileName ?? string.Empty);
|
||||
using (new EditorGUI.DisabledScope(disabled: true))
|
||||
{
|
||||
EditorGUILayout.TextField(text);
|
||||
}
|
||||
}
|
||||
|
||||
private void ValidateInputs()
|
||||
{
|
||||
this.errorMessage = "\n";
|
||||
this.hasError = false;
|
||||
if (string.IsNullOrEmpty(this.saver.profileName))
|
||||
{
|
||||
this.errorMessage = this.errorMessage + LanguageManager.Get("UI.ProfileSaver.Error.ProfileNameEmpty") + "\n";
|
||||
this.hasError = true;
|
||||
}
|
||||
if (this.saver.sourceAvatar == null)
|
||||
{
|
||||
this.errorMessage = this.errorMessage + LanguageManager.Get("UI.ProfileSaver.Error.SourceAvatarNull") + "\n";
|
||||
this.hasError = true;
|
||||
}
|
||||
else if (this.saver.sourceAvatar.GetComponent<Animator>() == null)
|
||||
{
|
||||
this.errorMessage = this.errorMessage + LanguageManager.Get("UI.ProfileSaver.Error.SourceAvatarAnimatorMissing") + "\n";
|
||||
this.hasError = true;
|
||||
}
|
||||
if (this.saver.sourceBodyMeshes == null || this.saver.sourceBodyMeshes.Count == 0)
|
||||
{
|
||||
this.errorMessage = this.errorMessage + LanguageManager.Get("UI.ProfileSaver.Error.SourceBodyMeshesEmpty") + "\n";
|
||||
this.hasError = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (this.IsBodyMeshesContainNull())
|
||||
{
|
||||
this.errorMessage = this.errorMessage + LanguageManager.Get("UI.ProfileSaver.Error.SourceBodyMeshesContainNull") + "\n";
|
||||
this.hasError = true;
|
||||
}
|
||||
if (this.saver.sourceAvatar != null && this.IsBodyMeshNotChildOfAvatar())
|
||||
{
|
||||
this.errorMessage = this.errorMessage + LanguageManager.Get("UI.ProfileSaver.Error.BodyMeshNotChildOfAvatar") + "\n";
|
||||
this.hasError = true;
|
||||
}
|
||||
}
|
||||
if (!this.saver.IsExistBaseData())
|
||||
{
|
||||
this.errorMessage = this.errorMessage + LanguageManager.Get("UI.ProfileSaver.Error.BaseDataMissing") + "\n";
|
||||
this.hasError = true;
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsBodyMeshesContainNull()
|
||||
{
|
||||
foreach (SkinnedMeshRenderer sourceBodyMesh in this.saver.sourceBodyMeshes)
|
||||
{
|
||||
if (sourceBodyMesh == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool IsBodyMeshNotChildOfAvatar()
|
||||
{
|
||||
foreach (SkinnedMeshRenderer sourceBodyMesh in this.saver.sourceBodyMeshes)
|
||||
{
|
||||
if (sourceBodyMesh != null && !sourceBodyMesh.transform.IsChildOf(this.saver.sourceAvatar.transform))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void DrawErrorMessage()
|
||||
{
|
||||
if (this.hasError)
|
||||
{
|
||||
EditorGUILayout.HelpBox(this.errorMessage, MessageType.Error);
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawSaveButton()
|
||||
{
|
||||
using (new EditorGUI.DisabledScope(this.hasError))
|
||||
{
|
||||
if (GUILayout.Button("Save Profile", GUILayout.Height(34f)))
|
||||
{
|
||||
this.saver.SaveProfile();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 06e603c0e6910f74e8ae69f4b1025e99
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.BaseKey3
|
||||
public struct BaseKey3
|
||||
{
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.BoneData
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.BoneSpatialData
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.EdenAutoMorpher_ProfileSaver
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
@@ -21,33 +19,21 @@ public class EdenAutoMorpher_ProfileSaver : MonoBehaviour
|
||||
[ContextMenu("SaveProfile")]
|
||||
public void SaveProfile()
|
||||
{
|
||||
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_001e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0023: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0042: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0052: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0062: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01ed: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01f9: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0205: Unknown result type (might be due to invalid IL or missing references)
|
||||
Vector3 position = this.sourceAvatar.position;
|
||||
Quaternion rotation = this.sourceAvatar.rotation;
|
||||
Vector3 localScale = this.sourceAvatar.localScale;
|
||||
Transform parent = this.sourceAvatar.parent;
|
||||
this.sourceAvatar.SetParent((Transform)null);
|
||||
this.sourceAvatar.SetParent(null);
|
||||
this.sourceAvatar.position = Vector3.zero;
|
||||
this.sourceAvatar.rotation = Quaternion.identity;
|
||||
this.sourceAvatar.localScale = Vector3.one;
|
||||
ProfileData newProfileData = new ProfileData();
|
||||
ProfileUtils profileUtils = new ProfileUtils();
|
||||
newProfileData.version = profileUtils.GetProfileVersion();
|
||||
Animator component = ((Component)this.sourceAvatar).GetComponent<Animator>();
|
||||
Animator component = this.sourceAvatar.GetComponent<Animator>();
|
||||
if (component == null)
|
||||
{
|
||||
Debug.LogError((object)("[EdenAutoMorpher_ProfileSaver] Source Avatar Has No Animator\nSet Animator to Source Avatar " + this.sourceAvatar.name));
|
||||
Debug.LogError("[EdenAutoMorpher_ProfileSaver] Source Avatar Has No Animator\nSet Animator to Source Avatar " + this.sourceAvatar.name);
|
||||
}
|
||||
Dictionary<HumanBodyBones, HashSet<Transform>> humanoidMeshBoneMap = profileUtils.GetHumanoidMeshBoneMap(component, this.sourceBodyMeshes);
|
||||
List<ProfileBakedBodyMesh> list = new List<ProfileBakedBodyMesh>();
|
||||
@@ -78,172 +64,188 @@ public class EdenAutoMorpher_ProfileSaver : MonoBehaviour
|
||||
ProfileUtils profileUtils = new ProfileUtils();
|
||||
HumanBodyBones[] influencedBones = new HumanBodyBones[1] { HumanBodyBones.Neck };
|
||||
newProfileData.NeckSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.Neck, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[3] { HumanBodyBones.LeftUpperArm, HumanBodyBones.LeftLowerArm, HumanBodyBones.LeftHand };
|
||||
influencedBones = new HumanBodyBones[3]
|
||||
{
|
||||
HumanBodyBones.LeftUpperArm,
|
||||
HumanBodyBones.LeftLowerArm,
|
||||
HumanBodyBones.LeftHand
|
||||
};
|
||||
newProfileData.LeftUpperArmSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftUpperArm, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[3] { HumanBodyBones.RightUpperArm, HumanBodyBones.RightLowerArm, HumanBodyBones.RightHand };
|
||||
influencedBones = new HumanBodyBones[3]
|
||||
{
|
||||
HumanBodyBones.RightUpperArm,
|
||||
HumanBodyBones.RightLowerArm,
|
||||
HumanBodyBones.RightHand
|
||||
};
|
||||
newProfileData.RightUpperArmSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightUpperArm, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftLowerArm };
|
||||
newProfileData.LeftLowerArmSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftLowerArm, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightLowerArm };
|
||||
newProfileData.RightLowerArmSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightLowerArm, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftHand };
|
||||
newProfileData.LeftLowerArm_HandSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftLowerArm, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightHand };
|
||||
newProfileData.RightLowerArm_HandSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightLowerArm, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[2] { HumanBodyBones.LeftUpperLeg, HumanBodyBones.LeftLowerLeg };
|
||||
influencedBones = new HumanBodyBones[2]
|
||||
{
|
||||
HumanBodyBones.LeftUpperLeg,
|
||||
HumanBodyBones.LeftLowerLeg
|
||||
};
|
||||
newProfileData.LeftUpperLegSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftUpperLeg, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[2] { HumanBodyBones.RightUpperLeg, HumanBodyBones.RightLowerLeg };
|
||||
influencedBones = new HumanBodyBones[2]
|
||||
{
|
||||
HumanBodyBones.RightUpperLeg,
|
||||
HumanBodyBones.RightLowerLeg
|
||||
};
|
||||
newProfileData.RightUpperLegSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightUpperLeg, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftFoot };
|
||||
newProfileData.LeftFootSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftFoot, influencedBones, sourceBoneMap, sourceBodyBakedMeshes, addChildBones: true);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightFoot };
|
||||
newProfileData.RightFootSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightFoot, influencedBones, sourceBoneMap, sourceBodyBakedMeshes, addChildBones: true);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.Chest };
|
||||
newProfileData.ChestSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.Chest, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.UpperChest };
|
||||
newProfileData.UpperChestSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.UpperChest, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[2] { HumanBodyBones.Chest, HumanBodyBones.UpperChest };
|
||||
influencedBones = new HumanBodyBones[2]
|
||||
{
|
||||
HumanBodyBones.Chest,
|
||||
HumanBodyBones.UpperChest
|
||||
};
|
||||
newProfileData.IntegratedChestSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.Chest, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.Spine };
|
||||
newProfileData.SpineSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.Spine, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftHand };
|
||||
newProfileData.LeftHandSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftHand, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[3] { HumanBodyBones.LeftThumbProximal, HumanBodyBones.LeftThumbIntermediate, HumanBodyBones.LeftThumbDistal };
|
||||
influencedBones = new HumanBodyBones[3]
|
||||
{
|
||||
HumanBodyBones.LeftThumbProximal,
|
||||
HumanBodyBones.LeftThumbIntermediate,
|
||||
HumanBodyBones.LeftThumbDistal
|
||||
};
|
||||
newProfileData.LeftHandThumbSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftThumbProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes, addChildBones: true);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftThumbProximal };
|
||||
newProfileData.LeftHandThumbProximalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftThumbProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftThumbIntermediate };
|
||||
newProfileData.LeftHandThumbIntermediateSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftThumbIntermediate, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftThumbDistal };
|
||||
newProfileData.LeftHandThumbDistalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftThumbDistal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[3] { HumanBodyBones.LeftIndexProximal, HumanBodyBones.LeftIndexIntermediate, HumanBodyBones.LeftIndexDistal };
|
||||
influencedBones = new HumanBodyBones[3]
|
||||
{
|
||||
HumanBodyBones.LeftIndexProximal,
|
||||
HumanBodyBones.LeftIndexIntermediate,
|
||||
HumanBodyBones.LeftIndexDistal
|
||||
};
|
||||
newProfileData.LeftHandIndexSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftIndexProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes, addChildBones: true);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftIndexProximal };
|
||||
newProfileData.LeftHandIndexProximalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftIndexProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftIndexIntermediate };
|
||||
newProfileData.LeftHandIndexIntermediateSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftIndexIntermediate, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftIndexDistal };
|
||||
newProfileData.LeftHandIndexDistalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftIndexDistal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[3] { HumanBodyBones.LeftMiddleProximal, HumanBodyBones.LeftMiddleIntermediate, HumanBodyBones.LeftMiddleDistal };
|
||||
influencedBones = new HumanBodyBones[3]
|
||||
{
|
||||
HumanBodyBones.LeftMiddleProximal,
|
||||
HumanBodyBones.LeftMiddleIntermediate,
|
||||
HumanBodyBones.LeftMiddleDistal
|
||||
};
|
||||
newProfileData.LeftHandMiddleSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftMiddleProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes, addChildBones: true);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftMiddleProximal };
|
||||
newProfileData.LeftHandMiddleProximalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftMiddleProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftMiddleIntermediate };
|
||||
newProfileData.LeftHandMiddleIntermediateSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftMiddleIntermediate, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftMiddleDistal };
|
||||
newProfileData.LeftHandMiddleDistalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftMiddleDistal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[3] { HumanBodyBones.LeftRingProximal, HumanBodyBones.LeftRingIntermediate, HumanBodyBones.LeftRingDistal };
|
||||
influencedBones = new HumanBodyBones[3]
|
||||
{
|
||||
HumanBodyBones.LeftRingProximal,
|
||||
HumanBodyBones.LeftRingIntermediate,
|
||||
HumanBodyBones.LeftRingDistal
|
||||
};
|
||||
newProfileData.LeftHandRingSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftRingProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes, addChildBones: true);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftRingProximal };
|
||||
newProfileData.LeftHandRingProximalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftRingProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftRingIntermediate };
|
||||
newProfileData.LeftHandRingIntermediateSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftRingIntermediate, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftRingDistal };
|
||||
newProfileData.LeftHandRingDistalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftRingDistal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[3] { HumanBodyBones.LeftLittleProximal, HumanBodyBones.LeftLittleIntermediate, HumanBodyBones.LeftLittleDistal };
|
||||
influencedBones = new HumanBodyBones[3]
|
||||
{
|
||||
HumanBodyBones.LeftLittleProximal,
|
||||
HumanBodyBones.LeftLittleIntermediate,
|
||||
HumanBodyBones.LeftLittleDistal
|
||||
};
|
||||
newProfileData.LeftHandLittleSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftLittleProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes, addChildBones: true);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftLittleProximal };
|
||||
newProfileData.LeftHandLittleProximalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftLittleProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftLittleIntermediate };
|
||||
newProfileData.LeftHandLittleIntermediateSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftLittleIntermediate, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.LeftLittleDistal };
|
||||
newProfileData.LeftHandLittleDistalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.LeftLittleDistal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightHand };
|
||||
newProfileData.RightHandSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightHand, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[3] { HumanBodyBones.RightThumbProximal, HumanBodyBones.RightThumbIntermediate, HumanBodyBones.RightThumbDistal };
|
||||
influencedBones = new HumanBodyBones[3]
|
||||
{
|
||||
HumanBodyBones.RightThumbProximal,
|
||||
HumanBodyBones.RightThumbIntermediate,
|
||||
HumanBodyBones.RightThumbDistal
|
||||
};
|
||||
newProfileData.RightHandThumbSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightThumbProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes, addChildBones: true);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightThumbProximal };
|
||||
newProfileData.RightHandThumbProximalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightThumbProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightThumbIntermediate };
|
||||
newProfileData.RightHandThumbIntermediateSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightThumbIntermediate, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightThumbDistal };
|
||||
newProfileData.RightHandThumbDistalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightThumbDistal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[3] { HumanBodyBones.RightIndexProximal, HumanBodyBones.RightIndexIntermediate, HumanBodyBones.RightIndexDistal };
|
||||
influencedBones = new HumanBodyBones[3]
|
||||
{
|
||||
HumanBodyBones.RightIndexProximal,
|
||||
HumanBodyBones.RightIndexIntermediate,
|
||||
HumanBodyBones.RightIndexDistal
|
||||
};
|
||||
newProfileData.RightHandIndexSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightIndexProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes, addChildBones: true);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightIndexProximal };
|
||||
newProfileData.RightHandIndexProximalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightIndexProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightIndexIntermediate };
|
||||
newProfileData.RightHandIndexIntermediateSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightIndexIntermediate, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightIndexDistal };
|
||||
newProfileData.RightHandIndexDistalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightIndexDistal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[3] { HumanBodyBones.RightMiddleProximal, HumanBodyBones.RightMiddleIntermediate, HumanBodyBones.RightMiddleDistal };
|
||||
influencedBones = new HumanBodyBones[3]
|
||||
{
|
||||
HumanBodyBones.RightMiddleProximal,
|
||||
HumanBodyBones.RightMiddleIntermediate,
|
||||
HumanBodyBones.RightMiddleDistal
|
||||
};
|
||||
newProfileData.RightHandMiddleSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightMiddleProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes, addChildBones: true);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightMiddleProximal };
|
||||
newProfileData.RightHandMiddleProximalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightMiddleProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightMiddleIntermediate };
|
||||
newProfileData.RightHandMiddleIntermediateSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightMiddleIntermediate, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightMiddleDistal };
|
||||
newProfileData.RightHandMiddleDistalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightMiddleDistal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[3] { HumanBodyBones.RightRingProximal, HumanBodyBones.RightRingIntermediate, HumanBodyBones.RightRingDistal };
|
||||
influencedBones = new HumanBodyBones[3]
|
||||
{
|
||||
HumanBodyBones.RightRingProximal,
|
||||
HumanBodyBones.RightRingIntermediate,
|
||||
HumanBodyBones.RightRingDistal
|
||||
};
|
||||
newProfileData.RightHandRingSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightRingProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes, addChildBones: true);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightRingProximal };
|
||||
newProfileData.RightHandRingProximalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightRingProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightRingIntermediate };
|
||||
newProfileData.RightHandRingIntermediateSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightRingIntermediate, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightRingDistal };
|
||||
newProfileData.RightHandRingDistalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightRingDistal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[3] { HumanBodyBones.RightLittleProximal, HumanBodyBones.RightLittleIntermediate, HumanBodyBones.RightLittleDistal };
|
||||
influencedBones = new HumanBodyBones[3]
|
||||
{
|
||||
HumanBodyBones.RightLittleProximal,
|
||||
HumanBodyBones.RightLittleIntermediate,
|
||||
HumanBodyBones.RightLittleDistal
|
||||
};
|
||||
newProfileData.RightHandLittleSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightLittleProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes, addChildBones: true);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightLittleProximal };
|
||||
newProfileData.RightHandLittleProximalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightLittleProximal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightLittleIntermediate };
|
||||
newProfileData.RightHandLittleIntermediateSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightLittleIntermediate, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
|
||||
influencedBones = new HumanBodyBones[1] { HumanBodyBones.RightLittleDistal };
|
||||
newProfileData.RightHandLittleDistalSpatialData = profileUtils.GetBoneSpatialData(HumanBodyBones.RightLittleDistal, influencedBones, sourceBoneMap, sourceBodyBakedMeshes);
|
||||
}
|
||||
@@ -261,7 +263,7 @@ public class EdenAutoMorpher_ProfileSaver : MonoBehaviour
|
||||
}
|
||||
if (hashSet.Count == 0)
|
||||
{
|
||||
Debug.LogWarning((object)"[EdenAutoMorpher_ProfileSaver] SaveBoneData - avatarBones is empty.");
|
||||
Debug.LogWarning("[EdenAutoMorpher_ProfileSaver] SaveBoneData - avatarBones is empty.");
|
||||
newProfileData.boneRootId = -1;
|
||||
newProfileData.bones = new List<BoneData>();
|
||||
}
|
||||
@@ -274,14 +276,6 @@ public class EdenAutoMorpher_ProfileSaver : MonoBehaviour
|
||||
|
||||
private void AdjustAvatarHigh(Transform sourceRoot, Dictionary<HumanBodyBones, HashSet<Transform>> sourceBoneMap, float targetHeight)
|
||||
{
|
||||
//IL_0027: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0032: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0071: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0073: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0076: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_007b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_007e: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (!sourceBoneMap.TryGetValue(HumanBodyBones.Neck, out var value) || value.Count == 0)
|
||||
{
|
||||
Debug.LogError("[EdenAutoMorpher_ProfileSaver] Can't Find Neck Bones");
|
||||
@@ -311,14 +305,14 @@ public class EdenAutoMorpher_ProfileSaver : MonoBehaviour
|
||||
Debug.LogError("[EdenAutoMorpher_ProfileSaver] profileName is empty.");
|
||||
return;
|
||||
}
|
||||
string path = profileName.EndsWith(".json") ? profileName : (profileName + ".json");
|
||||
string path = (profileName.EndsWith(".json") ? profileName : (profileName + ".json"));
|
||||
string text = Path.Combine(Application.dataPath, savePath ?? string.Empty);
|
||||
if (!Directory.Exists(text))
|
||||
{
|
||||
Directory.CreateDirectory(text);
|
||||
}
|
||||
string text2 = Path.Combine(text, path);
|
||||
string contents = JsonUtility.ToJson(profileData, true);
|
||||
string contents = JsonUtility.ToJson(profileData, prettyPrint: true);
|
||||
File.WriteAllText(text2, contents);
|
||||
Debug.Log("[EdenAutoMorpher_ProfileSaver] Profile saved successfully.\nPath: " + text2);
|
||||
AssetDatabase.Refresh();
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.PCAData
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.ProfileBVH
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.ProfileBakedBodyMesh
|
||||
using UnityEngine;
|
||||
|
||||
@@ -16,7 +14,7 @@ public class ProfileBakedBodyMesh
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!((Object)(object)this.smr != (Object)null))
|
||||
if (!(this.smr != null))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
@@ -28,7 +26,7 @@ public class ProfileBakedBodyMesh
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!((Object)(object)this.smr != (Object)null))
|
||||
if (!(this.smr != null))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
@@ -38,16 +36,14 @@ public class ProfileBakedBodyMesh
|
||||
|
||||
public ProfileBakedBodyMesh(SkinnedMeshRenderer _smr)
|
||||
{
|
||||
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006d: Expected O, but got Unknown
|
||||
if ((Object)(object)_smr == (Object)null)
|
||||
if (_smr == null)
|
||||
{
|
||||
Debug.LogError((object)("[ProfileUtil - ProfileBakedBodyMesh] BakeBodyMesh Init : SkinnedMeshRenderer " + ((Object)((Component)_smr).gameObject).name + " is null"));
|
||||
Debug.LogError("[ProfileUtil - ProfileBakedBodyMesh] BakeBodyMesh Init : SkinnedMeshRenderer " + _smr.gameObject.name + " is null");
|
||||
}
|
||||
this.smr = _smr;
|
||||
if ((Object)(object)_smr.sharedMesh == (Object)null)
|
||||
if (_smr.sharedMesh == null)
|
||||
{
|
||||
Debug.LogError((object)("[ProfileUtil - ProfileBakedBodyMesh] BakeBodyMesh Init : SkinnedMeshRenderer " + ((Object)((Component)_smr).gameObject).name + " has null sharedMesh."));
|
||||
Debug.LogError("[ProfileUtil - ProfileBakedBodyMesh] BakeBodyMesh Init : SkinnedMeshRenderer " + _smr.gameObject.name + " has null sharedMesh.");
|
||||
}
|
||||
this.bakedMesh = new Mesh();
|
||||
this.smr.BakeMesh(this.bakedMesh);
|
||||
@@ -68,38 +64,25 @@ public class ProfileBakedBodyMesh
|
||||
|
||||
private Vector3[] CalculateWorldVertices(SkinnedMeshRenderer smr, Mesh bakedMesh)
|
||||
{
|
||||
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0049: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0075: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_008b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0090: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0091: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0096: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_009b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
|
||||
if ((Object)(object)smr == (Object)null)
|
||||
if (smr == null)
|
||||
{
|
||||
Debug.LogError((object)("[ProfileUtil - ProfileBakedBodyMesh] CalculateWorldVertices: smr " + ((Object)((Component)smr).gameObject).name + " == null"));
|
||||
Debug.LogError("[ProfileUtil - ProfileBakedBodyMesh] CalculateWorldVertices: smr " + smr.gameObject.name + " == null");
|
||||
return null;
|
||||
}
|
||||
if ((Object)(object)bakedMesh == (Object)null)
|
||||
if (bakedMesh == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
Transform transform = ((Component)smr).transform;
|
||||
Transform transform = smr.transform;
|
||||
Vector3 lossyScale = transform.lossyScale;
|
||||
Vector3 val = new Vector3(1f / Mathf.Max(lossyScale.x, 1E-08f), 1f / Mathf.Max(lossyScale.y, 1E-08f), 1f / Mathf.Max(lossyScale.z, 1E-08f));
|
||||
Matrix4x4 val2 = transform.localToWorldMatrix * Matrix4x4.Scale(val);
|
||||
Vector3 vector = new Vector3(1f / Mathf.Max(lossyScale.x, 1E-08f), 1f / Mathf.Max(lossyScale.y, 1E-08f), 1f / Mathf.Max(lossyScale.z, 1E-08f));
|
||||
Matrix4x4 matrix4x = transform.localToWorldMatrix * Matrix4x4.Scale(vector);
|
||||
Vector3[] vertices = bakedMesh.vertices;
|
||||
int num = vertices.Length;
|
||||
Vector3[] array = (Vector3[])(object)new Vector3[num];
|
||||
Vector3[] array = new Vector3[num];
|
||||
for (int i = 0; i < num; i++)
|
||||
{
|
||||
array[i] = val2.MultiplyPoint3x4(vertices[i]);
|
||||
array[i] = matrix4x.MultiplyPoint3x4(vertices[i]);
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.ProfileData
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.ProfileUtil_IndexUtil
|
||||
using UnityEngine;
|
||||
|
||||
@@ -62,7 +60,7 @@ public class ProfileUtil_IndexUtil
|
||||
{
|
||||
if (this._blockSize <= 1)
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtil_IndexUtil] BlockPermutations.Build - invalid blockSize");
|
||||
Debug.LogError("[ProfileUtil_IndexUtil] BlockPermutations.Build - invalid blockSize");
|
||||
return;
|
||||
}
|
||||
XorShift32 rng = new XorShift32((uint)(seed ^ -1556008596));
|
||||
@@ -196,21 +194,14 @@ public class ProfileUtil_IndexUtil
|
||||
|
||||
public void EncodeInto(Vector3[] input, Vector3[] output)
|
||||
{
|
||||
//IL_006f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0094: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00e8: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (input == null || output == null)
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtil_IndexUtil] EncodeInto - null args");
|
||||
Debug.LogError("[ProfileUtil_IndexUtil] EncodeInto - null args");
|
||||
return;
|
||||
}
|
||||
if (output.Length < input.Length)
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtil_IndexUtil] EncodeInto - output too small");
|
||||
Debug.LogError("[ProfileUtil_IndexUtil] EncodeInto - output too small");
|
||||
return;
|
||||
}
|
||||
int num = input.Length;
|
||||
@@ -223,10 +214,10 @@ public class ProfileUtil_IndexUtil
|
||||
this._perm.GetPermutationsForLen(num5, out var pxUse, out var pyUse, out var pzUse, out var pallUse);
|
||||
for (int j = 0; j < num5; j++)
|
||||
{
|
||||
Vector3 val = input[num4 + j];
|
||||
this._xTmp[pxUse[j]] = val.x;
|
||||
this._yTmp[pyUse[j]] = val.y;
|
||||
this._zTmp[pzUse[j]] = val.z;
|
||||
Vector3 vector = input[num4 + j];
|
||||
this._xTmp[pxUse[j]] = vector.x;
|
||||
this._yTmp[pyUse[j]] = vector.y;
|
||||
this._zTmp[pzUse[j]] = vector.z;
|
||||
}
|
||||
for (int k = 0; k < num5; k++)
|
||||
{
|
||||
@@ -238,21 +229,14 @@ public class ProfileUtil_IndexUtil
|
||||
|
||||
public void DecodeInto(Vector3[] encoded, Vector3[] output)
|
||||
{
|
||||
//IL_0076: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_007b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0085: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0095: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00e8: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (encoded == null || output == null)
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtil_IndexUtil] DecodeInto - null args");
|
||||
Debug.LogError("[ProfileUtil_IndexUtil] DecodeInto - null args");
|
||||
return;
|
||||
}
|
||||
if (output.Length < encoded.Length)
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtil_IndexUtil] DecodeInto - output too small");
|
||||
Debug.LogError("[ProfileUtil_IndexUtil] DecodeInto - output too small");
|
||||
return;
|
||||
}
|
||||
int num = encoded.Length;
|
||||
@@ -266,10 +250,10 @@ public class ProfileUtil_IndexUtil
|
||||
for (int j = 0; j < num5; j++)
|
||||
{
|
||||
int num6 = pallUse[j];
|
||||
Vector3 val = encoded[num4 + num6];
|
||||
this._xTmp[j] = val.x;
|
||||
this._yTmp[j] = val.y;
|
||||
this._zTmp[j] = val.z;
|
||||
Vector3 vector = encoded[num4 + num6];
|
||||
this._xTmp[j] = vector.x;
|
||||
this._yTmp[j] = vector.y;
|
||||
this._zTmp[j] = vector.z;
|
||||
}
|
||||
for (int k = 0; k < num5; k++)
|
||||
{
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.ProfileUtils
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
@@ -59,7 +57,6 @@ public class ProfileUtils
|
||||
|
||||
public BoneSpatialData GetBoneSpatialData(HumanBodyBones refBone, HumanBodyBones[] influencedBones, Dictionary<HumanBodyBones, HashSet<Transform>> boneMap, List<ProfileBakedBodyMesh> sourceBodyBakedMeshes, bool addChildBones = false)
|
||||
{
|
||||
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
|
||||
return this.poseUtil.GetBoneSpatialData(refBone, influencedBones, boneMap, sourceBodyBakedMeshes, addChildBones);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.ProfileUtils_BVHUtil
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -19,12 +17,6 @@ public class ProfileUtils_BVHUtil
|
||||
|
||||
public ProfileBVH BuildFromSkinnedMeshes(Transform rootTransform, List<ProfileBakedBodyMesh> bakedBodyMeshes)
|
||||
{
|
||||
//IL_0095: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_009a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0100: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0105: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_010a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0112: Unknown result type (might be due to invalid IL or missing references)
|
||||
ProfileBVH profileBVH = new ProfileBVH
|
||||
{
|
||||
vertices = new List<Vector3>(1024)
|
||||
@@ -85,43 +77,6 @@ public class ProfileUtils_BVHUtil
|
||||
|
||||
private int BuildRecursive(ProfileBVH bvh, int[] triIndices, int start, int count, List<profileBVHNode> outNodes)
|
||||
{
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0053: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0062: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0067: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00bd: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00be: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0092: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_009b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0070: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_007c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0085: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0102: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0109: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0127: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_012e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0112: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0119: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0137: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_013e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0170: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0182: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0187: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0196: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_019b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_019d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_019f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01a4: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01b0: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
|
||||
int count2 = outNodes.Count;
|
||||
profileBVHNode profileBVHNode2 = new profileBVHNode();
|
||||
Bounds bounds = default(Bounds);
|
||||
@@ -129,21 +84,21 @@ public class ProfileUtils_BVHUtil
|
||||
for (int i = start; i < start + count; i++)
|
||||
{
|
||||
profileBVHData profileBVHData2 = bvh.datas[triIndices[i]];
|
||||
Vector3 val = bvh.vertices[profileBVHData2.verA];
|
||||
Vector3 val2 = bvh.vertices[profileBVHData2.verB];
|
||||
Vector3 val3 = bvh.vertices[profileBVHData2.verC];
|
||||
Vector3 vector = bvh.vertices[profileBVHData2.verA];
|
||||
Vector3 point = bvh.vertices[profileBVHData2.verB];
|
||||
Vector3 point2 = bvh.vertices[profileBVHData2.verC];
|
||||
if (flag)
|
||||
{
|
||||
bounds = new Bounds(val, Vector3.zero);
|
||||
bounds.Encapsulate(val2);
|
||||
bounds.Encapsulate(val3);
|
||||
bounds = new Bounds(vector, Vector3.zero);
|
||||
bounds.Encapsulate(point);
|
||||
bounds.Encapsulate(point2);
|
||||
flag = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
bounds.Encapsulate(val);
|
||||
bounds.Encapsulate(val2);
|
||||
bounds.Encapsulate(val3);
|
||||
bounds.Encapsulate(vector);
|
||||
bounds.Encapsulate(point);
|
||||
bounds.Encapsulate(point2);
|
||||
}
|
||||
}
|
||||
profileBVHNode2.bounds = bounds;
|
||||
@@ -171,11 +126,10 @@ public class ProfileUtils_BVHUtil
|
||||
for (int j = start; j < start + count; j++)
|
||||
{
|
||||
profileBVHData profileBVHData3 = bvh.datas[triIndices[j]];
|
||||
Vector3 val4 = bvh.vertices[profileBVHData3.verA];
|
||||
Vector3 val5 = bvh.vertices[profileBVHData3.verB];
|
||||
Vector3 val6 = bvh.vertices[profileBVHData3.verC];
|
||||
Vector3 val7 = (val4 + val5 + val6) / 3f;
|
||||
num2 += val7[num];
|
||||
Vector3 vector2 = bvh.vertices[profileBVHData3.verA];
|
||||
Vector3 vector3 = bvh.vertices[profileBVHData3.verB];
|
||||
Vector3 vector4 = bvh.vertices[profileBVHData3.verC];
|
||||
num2 += ((vector2 + vector3 + vector4) / 3f)[num];
|
||||
}
|
||||
num2 /= (float)count;
|
||||
int num3 = this.Partition(bvh, triIndices, start, count, num, num2);
|
||||
@@ -197,32 +151,20 @@ public class ProfileUtils_BVHUtil
|
||||
|
||||
private int Partition(ProfileBVH bvh, int[] triIndices, int start, int count, int axis, float splitPos)
|
||||
{
|
||||
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0069: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_007c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_008f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0094: Unknown result type (might be due to invalid IL or missing references)
|
||||
int num = start;
|
||||
int num2 = start + count - 1;
|
||||
while (num <= num2)
|
||||
{
|
||||
profileBVHData profileBVHData2 = bvh.datas[triIndices[num]];
|
||||
profileBVHData profileBVHData3 = bvh.datas[triIndices[num2]];
|
||||
Vector3 val = bvh.vertices[profileBVHData2.verA];
|
||||
Vector3 val2 = bvh.vertices[profileBVHData2.verB];
|
||||
Vector3 val3 = bvh.vertices[profileBVHData2.verC];
|
||||
Vector3 val4 = bvh.vertices[profileBVHData3.verA];
|
||||
Vector3 val5 = bvh.vertices[profileBVHData3.verB];
|
||||
Vector3 val6 = bvh.vertices[profileBVHData3.verC];
|
||||
float num3 = (val[axis] + val2[axis] + val3[axis]) / 3f;
|
||||
_ = (val4[axis] + val5[axis] + val6[axis]) / 3f;
|
||||
Vector3 vector = bvh.vertices[profileBVHData2.verA];
|
||||
Vector3 vector2 = bvh.vertices[profileBVHData2.verB];
|
||||
Vector3 vector3 = bvh.vertices[profileBVHData2.verC];
|
||||
Vector3 vector4 = bvh.vertices[profileBVHData3.verA];
|
||||
Vector3 vector5 = bvh.vertices[profileBVHData3.verB];
|
||||
Vector3 vector6 = bvh.vertices[profileBVHData3.verC];
|
||||
float num3 = (vector[axis] + vector2[axis] + vector3[axis]) / 3f;
|
||||
_ = (vector4[axis] + vector5[axis] + vector6[axis]) / 3f;
|
||||
if (num3 < splitPos)
|
||||
{
|
||||
num++;
|
||||
@@ -241,15 +183,9 @@ public class ProfileUtils_BVHUtil
|
||||
|
||||
public void SaveProfileBVH(ProfileBVH bvh, string savePath, string profileName)
|
||||
{
|
||||
//IL_009a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0160: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01e4: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01f8: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (bvh == null || bvh.vertices == null || bvh.datas == null || bvh.nodes == null || bvh.dataIndices == null)
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtils_BVHUtil] SaveProfileBVH - bvh or fields are null");
|
||||
Debug.LogError("[ProfileUtils_BVHUtil] SaveProfileBVH - bvh or fields are null");
|
||||
return;
|
||||
}
|
||||
ProfileUtils profileUtils = new ProfileUtils();
|
||||
@@ -260,7 +196,7 @@ public class ProfileUtils_BVHUtil
|
||||
BaseKey3[] array = new ProfileUtils_VertexUtil().LoadTable(profileUtils.GetBaseDataPath(), out version, out countInFile);
|
||||
if (array == null || array.Length == 0)
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtils_BVHUtil] SaveProfileBVH - failed to load base vertex table");
|
||||
Debug.LogError("[ProfileUtils_BVHUtil] SaveProfileBVH - failed to load base vertex table");
|
||||
return;
|
||||
}
|
||||
Vector3[] array2 = bvh.vertices.ToArray();
|
||||
@@ -270,7 +206,7 @@ public class ProfileUtils_BVHUtil
|
||||
}
|
||||
ProfileUtil_IndexUtil profileUtil_IndexUtil = new ProfileUtil_IndexUtil();
|
||||
profileUtil_IndexUtil.Build(num);
|
||||
Vector3[] array3 = (Vector3[])(object)new Vector3[array2.Length];
|
||||
Vector3[] array3 = new Vector3[array2.Length];
|
||||
profileUtil_IndexUtil.EncodeInto(array2, array3);
|
||||
StringBuilder stringBuilder = new StringBuilder(1024);
|
||||
stringBuilder.Append(profileUtils.GetProfileMagic());
|
||||
@@ -317,9 +253,6 @@ public class ProfileUtils_BVHUtil
|
||||
|
||||
private void AppendHexVec3(StringBuilder sb, Vector3 v)
|
||||
{
|
||||
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
|
||||
this.AppendHexFloat(sb, v.x);
|
||||
this.AppendHexFloat(sb, v.y);
|
||||
this.AppendHexFloat(sb, v.z);
|
||||
@@ -340,10 +273,6 @@ public class ProfileUtils_BVHUtil
|
||||
|
||||
private Vector3 TransformVec3(Vector3 v, BaseKey3 k)
|
||||
{
|
||||
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0013: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0025: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
|
||||
return new Vector3(this.TransformFloatBits(v.x, k.x), this.TransformFloatBits(v.y, k.y), this.TransformFloatBits(v.z, k.z));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.ProfileUtils_BoneUtil
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -11,8 +9,6 @@ public class ProfileUtils_BoneUtil
|
||||
{
|
||||
public HashSet<Transform> GetBodyMeshBones(SkinnedMeshRenderer smr, float weightThreshold = 0.0001f)
|
||||
{
|
||||
//IL_003e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
|
||||
Mesh sharedMesh = smr.sharedMesh;
|
||||
if (sharedMesh == null)
|
||||
{
|
||||
@@ -25,22 +21,22 @@ public class ProfileUtils_BoneUtil
|
||||
BoneWeight[] array = boneWeights;
|
||||
for (int i = 0; i < array.Length; i++)
|
||||
{
|
||||
BoneWeight val = array[i];
|
||||
if (val.weight0 > weightThreshold)
|
||||
BoneWeight boneWeight = array[i];
|
||||
if (boneWeight.weight0 > weightThreshold)
|
||||
{
|
||||
hashSet.Add(val.boneIndex0);
|
||||
hashSet.Add(boneWeight.boneIndex0);
|
||||
}
|
||||
if (val.weight1 > weightThreshold)
|
||||
if (boneWeight.weight1 > weightThreshold)
|
||||
{
|
||||
hashSet.Add(val.boneIndex1);
|
||||
hashSet.Add(boneWeight.boneIndex1);
|
||||
}
|
||||
if (val.weight2 > weightThreshold)
|
||||
if (boneWeight.weight2 > weightThreshold)
|
||||
{
|
||||
hashSet.Add(val.boneIndex2);
|
||||
hashSet.Add(boneWeight.boneIndex2);
|
||||
}
|
||||
if (val.weight3 > weightThreshold)
|
||||
if (boneWeight.weight3 > weightThreshold)
|
||||
{
|
||||
hashSet.Add(val.boneIndex3);
|
||||
hashSet.Add(boneWeight.boneIndex3);
|
||||
}
|
||||
}
|
||||
HashSet<Transform> hashSet2 = new HashSet<Transform>();
|
||||
@@ -56,9 +52,6 @@ public class ProfileUtils_BoneUtil
|
||||
|
||||
public Dictionary<HumanBodyBones, HashSet<Transform>> GetHumanoidMeshBoneMap(Animator animator, IReadOnlyList<SkinnedMeshRenderer> bodyMeshes, float posTolerance = 0.0001f, float weightThreshold = 0.0001f)
|
||||
{
|
||||
//IL_009f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0106: Unknown result type (might be due to invalid IL or missing references)
|
||||
Dictionary<HumanBodyBones, HashSet<Transform>> dictionary = new Dictionary<HumanBodyBones, HashSet<Transform>>();
|
||||
if (animator == null)
|
||||
{
|
||||
@@ -85,8 +78,8 @@ public class ProfileUtils_BoneUtil
|
||||
}
|
||||
for (int i = 0; i < 55; i++)
|
||||
{
|
||||
HumanBodyBones val = (HumanBodyBones)i;
|
||||
Transform boneTransform = animator.GetBoneTransform(val);
|
||||
HumanBodyBones humanBodyBones = (HumanBodyBones)i;
|
||||
Transform boneTransform = animator.GetBoneTransform(humanBodyBones);
|
||||
if (boneTransform == null)
|
||||
{
|
||||
continue;
|
||||
@@ -97,19 +90,17 @@ public class ProfileUtils_BoneUtil
|
||||
{
|
||||
hashSet2.Add(item);
|
||||
}
|
||||
dictionary[val] = hashSet2;
|
||||
dictionary[humanBodyBones] = hashSet2;
|
||||
}
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
public HashSet<Transform> GetActiveBones(SkinnedMeshRenderer smr, float weightThreshold = 0.0001f)
|
||||
{
|
||||
//IL_003e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
|
||||
Mesh sharedMesh = smr.sharedMesh;
|
||||
if (sharedMesh == null)
|
||||
{
|
||||
Debug.LogError((object)"SkinnedMeshRenderer에 연결된 Mesh가 없습니다.");
|
||||
Debug.LogError("SkinnedMeshRenderer에 연결된 Mesh가 없습니다.");
|
||||
return new HashSet<Transform>();
|
||||
}
|
||||
Transform[] bones = smr.bones;
|
||||
@@ -118,22 +109,22 @@ public class ProfileUtils_BoneUtil
|
||||
BoneWeight[] array = boneWeights;
|
||||
for (int i = 0; i < array.Length; i++)
|
||||
{
|
||||
BoneWeight val = array[i];
|
||||
if (val.weight0 > weightThreshold)
|
||||
BoneWeight boneWeight = array[i];
|
||||
if (boneWeight.weight0 > weightThreshold)
|
||||
{
|
||||
hashSet.Add(val.boneIndex0);
|
||||
hashSet.Add(boneWeight.boneIndex0);
|
||||
}
|
||||
if (val.weight1 > weightThreshold)
|
||||
if (boneWeight.weight1 > weightThreshold)
|
||||
{
|
||||
hashSet.Add(val.boneIndex1);
|
||||
hashSet.Add(boneWeight.boneIndex1);
|
||||
}
|
||||
if (val.weight2 > weightThreshold)
|
||||
if (boneWeight.weight2 > weightThreshold)
|
||||
{
|
||||
hashSet.Add(val.boneIndex2);
|
||||
hashSet.Add(boneWeight.boneIndex2);
|
||||
}
|
||||
if (val.weight3 > weightThreshold)
|
||||
if (boneWeight.weight3 > weightThreshold)
|
||||
{
|
||||
hashSet.Add(val.boneIndex3);
|
||||
hashSet.Add(boneWeight.boneIndex3);
|
||||
}
|
||||
}
|
||||
HashSet<Transform> hashSet2 = new HashSet<Transform>();
|
||||
@@ -149,12 +140,6 @@ public class ProfileUtils_BoneUtil
|
||||
|
||||
private List<Transform> FindBonesByPosition(Transform boneToCheck, HashSet<Transform> smrBoneSet, float posTolerance = 0.0001f)
|
||||
{
|
||||
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_001b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0069: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006e: Unknown result type (might be due to invalid IL or missing references)
|
||||
List<Transform> list = new List<Transform>();
|
||||
if (boneToCheck == null)
|
||||
{
|
||||
@@ -164,15 +149,11 @@ public class ProfileUtils_BoneUtil
|
||||
Vector3 position = boneToCheck.position;
|
||||
foreach (Transform item in smrBoneSet)
|
||||
{
|
||||
if (!(item == null) && !(item == boneToCheck) && this.NameMatches(item.gameObject.name, boneToCheck.gameObject.name))
|
||||
{
|
||||
Vector3 val = item.position - position;
|
||||
if (val.sqrMagnitude <= num)
|
||||
if (!(item == null) && !(item == boneToCheck) && this.NameMatches(item.gameObject.name, boneToCheck.gameObject.name) && (item.position - position).sqrMagnitude <= num)
|
||||
{
|
||||
list.Add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@@ -208,46 +189,6 @@ public class ProfileUtils_BoneUtil
|
||||
|
||||
public List<BoneData> GetBoneDatas(Transform rootTransform, HashSet<Transform> avatarBones, Dictionary<HumanBodyBones, HashSet<Transform>> sourceBoneMap)
|
||||
{
|
||||
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_010c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0111: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0117: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_011c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0122: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0127: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01d5: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01d7: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01f8: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01fd: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01e9: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0202: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0221: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0226: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_022d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0232: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0214: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0237: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_023b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0240: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0256: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_025b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0260: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0267: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0274: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_027b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0288: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_028f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_02f3: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_02f5: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_030d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_030f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0315: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0317: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_031d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_031f: Unknown result type (might be due to invalid IL or missing references)
|
||||
Dictionary<Transform, HumanBodyBones> dictionary = new Dictionary<Transform, HumanBodyBones>();
|
||||
foreach (KeyValuePair<HumanBodyBones, HashSet<Transform>> item2 in sourceBoneMap)
|
||||
{
|
||||
@@ -269,10 +210,10 @@ public class ProfileUtils_BoneUtil
|
||||
BoneData item = new BoneData
|
||||
{
|
||||
id = 0,
|
||||
boneName = rootTransform != null ? rootTransform.name : "Root",
|
||||
boneName = ((rootTransform != null) ? rootTransform.name : "Root"),
|
||||
parentName = null,
|
||||
hierarchyPath = "",
|
||||
hBone = (HumanBodyBones)55,
|
||||
hBone = HumanBodyBones.LastBone,
|
||||
parentId = -1,
|
||||
childrenIds = new List<int>(),
|
||||
rootLocalPosition = Vector3.zero,
|
||||
@@ -291,27 +232,27 @@ public class ProfileUtils_BoneUtil
|
||||
dictionary2[item4] = num++;
|
||||
string hierarchyPath = this.GetHierarchyPath(rootTransform, item4);
|
||||
HumanBodyBones value2;
|
||||
HumanBodyBones hBone = (HumanBodyBones)((!dictionary.TryGetValue(item4, out value2)) ? 55 : ((int)value2));
|
||||
Vector3 rootLocalPosition = (rootTransform != null) ? rootTransform.InverseTransformPoint(item4.position) : item4.position;
|
||||
Quaternion rootLocalRotation = (rootTransform != null) ? (Quaternion.Inverse(rootTransform.rotation) * item4.rotation) : item4.rotation;
|
||||
Vector3 lossyScale = item4.lossyScale;
|
||||
HumanBodyBones hBone = (dictionary.TryGetValue(item4, out value2) ? value2 : HumanBodyBones.LastBone);
|
||||
Vector3 rootLocalPosition = ((rootTransform != null) ? rootTransform.InverseTransformPoint(item4.position) : item4.position);
|
||||
Quaternion rootLocalRotation = ((rootTransform != null) ? (Quaternion.Inverse(rootTransform.rotation) * item4.rotation) : item4.rotation);
|
||||
Vector3 rootLocalScale = item4.lossyScale;
|
||||
if (rootTransform != null)
|
||||
{
|
||||
Vector3 lossyScale2 = rootTransform.lossyScale;
|
||||
lossyScale = new Vector3(this.SafeDiv(lossyScale.x, lossyScale2.x), this.SafeDiv(lossyScale.y, lossyScale2.y), this.SafeDiv(lossyScale.z, lossyScale2.z));
|
||||
Vector3 lossyScale = rootTransform.lossyScale;
|
||||
rootLocalScale = new Vector3(this.SafeDiv(rootLocalScale.x, lossyScale.x), this.SafeDiv(rootLocalScale.y, lossyScale.y), this.SafeDiv(rootLocalScale.z, lossyScale.z));
|
||||
}
|
||||
list.Add(new BoneData
|
||||
{
|
||||
id = dictionary2[item4],
|
||||
boneName = item4.name,
|
||||
parentName = (item4.parent != null) ? (item4.parent).name : "",
|
||||
parentName = ((item4.parent != null) ? item4.parent.name : ""),
|
||||
hierarchyPath = hierarchyPath,
|
||||
hBone = hBone,
|
||||
parentId = -1,
|
||||
childrenIds = new List<int>(),
|
||||
rootLocalPosition = rootLocalPosition,
|
||||
rootLocalRotation = rootLocalRotation,
|
||||
rootLocalScale = lossyScale
|
||||
rootLocalScale = rootLocalScale
|
||||
});
|
||||
}
|
||||
Dictionary<int, List<int>> dictionary3 = new Dictionary<int, List<int>>();
|
||||
@@ -363,11 +304,11 @@ public class ProfileUtils_BoneUtil
|
||||
private int GetDepthFromSkeletonRoot(Transform root, Transform t)
|
||||
{
|
||||
int num = 0;
|
||||
Transform val = t;
|
||||
while (val != null && val != root)
|
||||
Transform transform = t;
|
||||
while (transform != null && transform != root)
|
||||
{
|
||||
num++;
|
||||
val = val.parent;
|
||||
transform = transform.parent;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
@@ -384,7 +325,7 @@ public class ProfileUtils_BoneUtil
|
||||
}
|
||||
if (!t.IsChildOf(root) && t != root)
|
||||
{
|
||||
Debug.LogError((object)("[ProfileUtils_BoneUtil] GetHierarchyPath - bone " + t.name + " is not child of root " + root.name));
|
||||
Debug.LogError("[ProfileUtils_BoneUtil] GetHierarchyPath - bone " + t.name + " is not child of root " + root.name);
|
||||
return "";
|
||||
}
|
||||
if (t == root)
|
||||
@@ -392,11 +333,11 @@ public class ProfileUtils_BoneUtil
|
||||
return "";
|
||||
}
|
||||
Stack<string> stack = new Stack<string>();
|
||||
Transform val = t;
|
||||
while (val != null && val != root)
|
||||
Transform transform = t;
|
||||
while (transform != null && transform != root)
|
||||
{
|
||||
stack.Push(val.name);
|
||||
val = val.parent;
|
||||
stack.Push(transform.name);
|
||||
transform = transform.parent;
|
||||
}
|
||||
return string.Join("/", stack);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.ProfileUtils_PCAUtil
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
@@ -9,62 +7,18 @@ public class ProfileUtils_PCAUtil
|
||||
{
|
||||
public PCAData ComputeRegionStats(IList<Vector3> points)
|
||||
{
|
||||
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0025: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_002e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0033: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0042: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0047: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_007c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0087: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_008a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0091: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_009d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_017c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0181: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01a0: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01a5: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0206: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0207: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_020d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_020f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01c8: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01c9: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01d2: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01d7: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01dc: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01e1: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01e3: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01e8: Unknown result type (might be due to invalid IL or missing references)
|
||||
PCAData pCAData = new PCAData();
|
||||
if (points == null || points.Count == 0)
|
||||
{
|
||||
return pCAData;
|
||||
}
|
||||
int count = points.Count;
|
||||
Vector3 val = Vector3.zero;
|
||||
Vector3 zero = Vector3.zero;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
val += points[i];
|
||||
zero += points[i];
|
||||
}
|
||||
val /= (float)count;
|
||||
zero /= (float)count;
|
||||
float num = 0f;
|
||||
float num2 = 0f;
|
||||
float num3 = 0f;
|
||||
@@ -73,13 +27,13 @@ public class ProfileUtils_PCAUtil
|
||||
float num6 = 0f;
|
||||
for (int j = 0; j < count; j++)
|
||||
{
|
||||
Vector3 val2 = points[j] - val;
|
||||
num += val2.x * val2.x;
|
||||
num2 += val2.x * val2.y;
|
||||
num3 += val2.x * val2.z;
|
||||
num4 += val2.y * val2.y;
|
||||
num5 += val2.y * val2.z;
|
||||
num6 += val2.z * val2.z;
|
||||
Vector3 vector = points[j] - zero;
|
||||
num += vector.x * vector.x;
|
||||
num2 += vector.x * vector.y;
|
||||
num3 += vector.x * vector.z;
|
||||
num4 += vector.y * vector.y;
|
||||
num5 += vector.y * vector.z;
|
||||
num6 += vector.z * vector.z;
|
||||
}
|
||||
float num7 = 1f / (float)count;
|
||||
num *= num7;
|
||||
@@ -104,7 +58,7 @@ public class ProfileUtils_PCAUtil
|
||||
float num11 = 0f;
|
||||
for (int k = 0; k < count; k++)
|
||||
{
|
||||
float num12 = Vector3.Dot(points[k] - val, normalized);
|
||||
float num12 = Vector3.Dot(points[k] - zero, normalized);
|
||||
if (num12 < num9)
|
||||
{
|
||||
num9 = num12;
|
||||
@@ -113,12 +67,11 @@ public class ProfileUtils_PCAUtil
|
||||
{
|
||||
num10 = num12;
|
||||
}
|
||||
Vector3 val3 = val + normalized * num12;
|
||||
Vector3 val4 = points[k] - val3;
|
||||
float magnitude = val4.magnitude;
|
||||
Vector3 vector2 = zero + normalized * num12;
|
||||
float magnitude = (points[k] - vector2).magnitude;
|
||||
num11 += magnitude;
|
||||
}
|
||||
pCAData.pcaCenter = val;
|
||||
pCAData.pcaCenter = zero;
|
||||
pCAData.pcaPrincipalAxis = normalized;
|
||||
pCAData.pcaLength = num10 - num9;
|
||||
pCAData.pcaAvgRadius = num11 / (float)count;
|
||||
@@ -127,12 +80,6 @@ public class ProfileUtils_PCAUtil
|
||||
|
||||
private void JacobiEigenDecomposition3x3(float c00, float c01, float c02, float c11, float c12, float c22, out float[] eigenValues, out Vector3[] eigenVectors)
|
||||
{
|
||||
//IL_032d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0332: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0353: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0358: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0379: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_037e: Unknown result type (might be due to invalid IL or missing references)
|
||||
float[,] array = new float[3, 3]
|
||||
{
|
||||
{ c00, c01, c02 },
|
||||
@@ -171,37 +118,37 @@ public class ProfileUtils_PCAUtil
|
||||
float num6 = array[num, num];
|
||||
float num7 = array[num2, num2];
|
||||
float num8 = array[num, num2];
|
||||
float num9 = 0.5f * Mathf.Atan2(2f * num8, num7 - num6);
|
||||
float num10 = Mathf.Cos(num9);
|
||||
float num11 = Mathf.Sin(num9);
|
||||
float f = 0.5f * Mathf.Atan2(2f * num8, num7 - num6);
|
||||
float num9 = Mathf.Cos(f);
|
||||
float num10 = Mathf.Sin(f);
|
||||
for (int j = 0; j < 3; j++)
|
||||
{
|
||||
if (j != num && j != num2)
|
||||
{
|
||||
float num12 = array[j, num];
|
||||
float num13 = array[j, num2];
|
||||
array[j, num] = num10 * num12 - num11 * num13;
|
||||
float num11 = array[j, num];
|
||||
float num12 = array[j, num2];
|
||||
array[j, num] = num9 * num11 - num10 * num12;
|
||||
array[num, j] = array[j, num];
|
||||
array[j, num2] = num11 * num12 + num10 * num13;
|
||||
array[j, num2] = num10 * num11 + num9 * num12;
|
||||
array[num2, j] = array[j, num2];
|
||||
}
|
||||
}
|
||||
float num14 = num10 * num10 * num6 - 2f * num11 * num10 * num8 + num11 * num11 * num7;
|
||||
float num15 = num11 * num11 * num6 + 2f * num11 * num10 * num8 + num10 * num10 * num7;
|
||||
array[num, num] = num14;
|
||||
array[num2, num2] = num15;
|
||||
float num13 = num9 * num9 * num6 - 2f * num10 * num9 * num8 + num10 * num10 * num7;
|
||||
float num14 = num10 * num10 * num6 + 2f * num10 * num9 * num8 + num9 * num9 * num7;
|
||||
array[num, num] = num13;
|
||||
array[num2, num2] = num14;
|
||||
array[num, num2] = 0f;
|
||||
array[num2, num] = 0f;
|
||||
for (int k = 0; k < 3; k++)
|
||||
{
|
||||
float num16 = array2[k, num];
|
||||
float num17 = array2[k, num2];
|
||||
array2[k, num] = num10 * num16 - num11 * num17;
|
||||
array2[k, num2] = num11 * num16 + num10 * num17;
|
||||
float num15 = array2[k, num];
|
||||
float num16 = array2[k, num2];
|
||||
array2[k, num] = num9 * num15 - num10 * num16;
|
||||
array2[k, num2] = num10 * num15 + num9 * num16;
|
||||
}
|
||||
}
|
||||
eigenValues = new float[3];
|
||||
eigenVectors = (Vector3[])(object)new Vector3[3];
|
||||
eigenVectors = new Vector3[3];
|
||||
eigenValues[0] = array[0, 0];
|
||||
eigenValues[1] = array[1, 1];
|
||||
eigenValues[2] = array[2, 2];
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.ProfileUtils_PoseUtil
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -10,30 +8,22 @@ public class ProfileUtils_PoseUtil
|
||||
{
|
||||
public BoneSpatialData GetBoneSpatialData(HumanBodyBones refBone, HumanBodyBones[] influencedBones, Dictionary<HumanBodyBones, HashSet<Transform>> boneMap, List<ProfileBakedBodyMesh> sourceBodyBakedMeshes, bool addChildBones = false)
|
||||
{
|
||||
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
BoneSpatialData boneSpatialData = new BoneSpatialData();
|
||||
boneSpatialData.refBone = refBone;
|
||||
Transform baseBoneFromBoneMap = this.GetBaseBoneFromBoneMap(boneMap, refBone);
|
||||
if ((Object)(object)baseBoneFromBoneMap == (Object)null)
|
||||
if (baseBoneFromBoneMap == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
List<Vector3> refVertices = this.GetRefVertices(influencedBones, boneMap, sourceBodyBakedMeshes, addChildBones);
|
||||
boneSpatialData.pcaData = this.GetPCAData(baseBoneFromBoneMap, refVertices);
|
||||
Transform baseBoneFromBoneMap2 = this.GetBaseBoneFromBoneMap(boneMap, (HumanBodyBones)0);
|
||||
Transform baseBoneFromBoneMap2 = this.GetBaseBoneFromBoneMap(boneMap, HumanBodyBones.Hips);
|
||||
boneSpatialData.volumeData = this.GetVolumeData(baseBoneFromBoneMap, baseBoneFromBoneMap2, refVertices);
|
||||
return boneSpatialData;
|
||||
}
|
||||
|
||||
private List<Vector3> GetRefVertices(HumanBodyBones[] influencedBones, Dictionary<HumanBodyBones, HashSet<Transform>> boneMap, List<ProfileBakedBodyMesh> sourceBodyBakedMeshes, bool addChildBones = false, float weightThreshold = 0.15f, int sampleStep = 1)
|
||||
{
|
||||
//IL_001b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_001e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_018b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0190: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0212: Unknown result type (might be due to invalid IL or missing references)
|
||||
List<Vector3> list = new List<Vector3>();
|
||||
HashSet<Transform> targetBoneSet = new HashSet<Transform>();
|
||||
foreach (HumanBodyBones key in influencedBones)
|
||||
@@ -44,7 +34,7 @@ public class ProfileUtils_PoseUtil
|
||||
}
|
||||
foreach (Transform item in value)
|
||||
{
|
||||
if ((Object)(object)item != (Object)null)
|
||||
if (item != null)
|
||||
{
|
||||
targetBoneSet.Add(item);
|
||||
}
|
||||
@@ -53,7 +43,7 @@ public class ProfileUtils_PoseUtil
|
||||
if (targetBoneSet.Count == 0)
|
||||
{
|
||||
string text = string.Join(", ", influencedBones.Select((HumanBodyBones b) => b.ToString()));
|
||||
Debug.LogError((object)("[ProfileSaver_PoseUtil] CollectBodyPartVerticesWorld: targetBoneSet is empty.\nMissing Humanoid Set : " + text));
|
||||
Debug.LogError("[ProfileSaver_PoseUtil] CollectBodyPartVerticesWorld: targetBoneSet is empty.\nMissing Humanoid Set : " + text);
|
||||
return list;
|
||||
}
|
||||
if (addChildBones)
|
||||
@@ -82,12 +72,12 @@ public class ProfileUtils_PoseUtil
|
||||
int num = Mathf.Min(worldVertices.Length, boneWeights.Length);
|
||||
for (int num2 = 0; num2 < num; num2 += sampleStep)
|
||||
{
|
||||
BoneWeight val = boneWeights[num2];
|
||||
BoneWeight boneWeight = boneWeights[num2];
|
||||
float wSum = 0f;
|
||||
Acc(val.boneIndex0, val.weight0);
|
||||
Acc(val.boneIndex1, val.weight1);
|
||||
Acc(val.boneIndex2, val.weight2);
|
||||
Acc(val.boneIndex3, val.weight3);
|
||||
Acc(boneWeight.boneIndex0, boneWeight.weight0);
|
||||
Acc(boneWeight.boneIndex1, boneWeight.weight1);
|
||||
Acc(boneWeight.boneIndex2, boneWeight.weight2);
|
||||
Acc(boneWeight.boneIndex3, boneWeight.weight3);
|
||||
if (!(wSum < weightThreshold))
|
||||
{
|
||||
list.Add(worldVertices[num2]);
|
||||
@@ -96,8 +86,8 @@ public class ProfileUtils_PoseUtil
|
||||
{
|
||||
if (index >= 0 && index < bones.Length && !(w <= 0f))
|
||||
{
|
||||
Transform val2 = bones[index];
|
||||
if ((Object)(object)val2 != (Object)null && targetBoneSet.Contains(val2))
|
||||
Transform transform = bones[index];
|
||||
if (transform != null && targetBoneSet.Contains(transform))
|
||||
{
|
||||
wSum += w;
|
||||
}
|
||||
@@ -108,7 +98,7 @@ public class ProfileUtils_PoseUtil
|
||||
return list;
|
||||
void AddDescendants(Transform t)
|
||||
{
|
||||
if (!((Object)(object)t == (Object)null) && targetBoneSet.Add(t))
|
||||
if (!(t == null) && targetBoneSet.Add(t))
|
||||
{
|
||||
for (int j = 0; j < t.childCount; j++)
|
||||
{
|
||||
@@ -120,32 +110,23 @@ public class ProfileUtils_PoseUtil
|
||||
|
||||
private PCAData GetPCAData(Transform originTransform, List<Vector3> points)
|
||||
{
|
||||
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0031: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_003b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_003e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
|
||||
PCAData pCAData = new ProfileUtils_PCAUtil().ComputeRegionStats(points);
|
||||
if ((Object)(object)originTransform == (Object)null)
|
||||
if (originTransform == null)
|
||||
{
|
||||
return pCAData;
|
||||
}
|
||||
PCAData obj = new PCAData
|
||||
PCAData result = new PCAData
|
||||
{
|
||||
pcaCenter = originTransform.InverseTransformPoint(pCAData.pcaCenter)
|
||||
pcaCenter = originTransform.InverseTransformPoint(pCAData.pcaCenter),
|
||||
pcaPrincipalAxis = originTransform.InverseTransformDirection(pCAData.pcaPrincipalAxis).normalized,
|
||||
pcaLength = pCAData.pcaLength,
|
||||
pcaAvgRadius = pCAData.pcaAvgRadius
|
||||
};
|
||||
Vector3 val = originTransform.InverseTransformDirection(pCAData.pcaPrincipalAxis);
|
||||
obj.pcaPrincipalAxis = val.normalized;
|
||||
obj.pcaLength = pCAData.pcaLength;
|
||||
obj.pcaAvgRadius = pCAData.pcaAvgRadius;
|
||||
if (Mathf.Abs(pCAData.pcaLength) < 0.0001f)
|
||||
{
|
||||
Debug.LogWarning((object)("[ProfileUtils_PoseUtil] GetPCAData - " + ((Object)originTransform).name + " Pca Length is to Small"));
|
||||
Debug.LogWarning("[ProfileUtils_PoseUtil] GetPCAData - " + originTransform.name + " Pca Length is to Small");
|
||||
}
|
||||
return obj;
|
||||
return result;
|
||||
}
|
||||
|
||||
private VolumeData GetVolumeData(Transform originTransform, Transform axisTransform, List<Vector3> points)
|
||||
@@ -155,7 +136,6 @@ public class ProfileUtils_PoseUtil
|
||||
|
||||
private Transform GetBaseBoneFromBoneMap(Dictionary<HumanBodyBones, HashSet<Transform>> boneMap, HumanBodyBones bone)
|
||||
{
|
||||
//IL_0004: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (boneMap == null || !boneMap.TryGetValue(bone, out var value) || value == null)
|
||||
{
|
||||
return null;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.ProfileUtils_VertexUtil
|
||||
using System;
|
||||
using System.IO;
|
||||
@@ -15,13 +13,13 @@ public class ProfileUtils_VertexUtil
|
||||
countInFile = 0;
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtil_VertexUtil] LoadTable - path is null or empty");
|
||||
Debug.LogError("[ProfileUtil_VertexUtil] LoadTable - path is null or empty");
|
||||
return null;
|
||||
}
|
||||
path = Path.Combine(Application.dataPath, path);
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtil_VertexUtil] LoadTable - file not found");
|
||||
Debug.LogError("[ProfileUtil_VertexUtil] LoadTable - file not found");
|
||||
return null;
|
||||
}
|
||||
string text;
|
||||
@@ -31,14 +29,14 @@ public class ProfileUtils_VertexUtil
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.LogError((object)("[ProfileUtil_VertexUtil] LoadTable - read failed: " + ex.Message));
|
||||
Debug.LogError("[ProfileUtil_VertexUtil] LoadTable - read failed: " + ex.Message);
|
||||
return null;
|
||||
}
|
||||
int num = 0;
|
||||
string baseMagic = new ProfileUtils().GetBaseMagic();
|
||||
if (text.Length < 4 || text.Substring(0, 4) != baseMagic)
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtil_VertexUtil] LoadTable - MAGIC mismatch");
|
||||
Debug.LogError("[ProfileUtil_VertexUtil] LoadTable - MAGIC mismatch");
|
||||
return null;
|
||||
}
|
||||
num += 4;
|
||||
@@ -46,7 +44,7 @@ public class ProfileUtils_VertexUtil
|
||||
countInFile = this.ReadHexIntSafe(text, ref num);
|
||||
if (countInFile <= 0)
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtil_VertexUtil] LoadTable - invalid count");
|
||||
Debug.LogError("[ProfileUtil_VertexUtil] LoadTable - invalid count");
|
||||
return null;
|
||||
}
|
||||
BaseKey3[] array = new BaseKey3[countInFile];
|
||||
@@ -61,7 +59,7 @@ public class ProfileUtils_VertexUtil
|
||||
{
|
||||
if (p + 8 > s.Length)
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtil_VertexUtil] ReadHexIntSafe - out of range");
|
||||
Debug.LogError("[ProfileUtil_VertexUtil] ReadHexIntSafe - out of range");
|
||||
return 0;
|
||||
}
|
||||
string value = s.Substring(p, 8);
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.ProfileUtils_VolumeUtil
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
@@ -9,75 +7,19 @@ public class ProfileUtils_VolumeUtil
|
||||
{
|
||||
public VolumeData GetVolumeData(Transform originTransform, Transform axisTransform, List<Vector3> points, int sampleStep = 1)
|
||||
{
|
||||
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_004d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_004f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0054: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_008e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0094: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0099: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_009e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_009f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0106: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0107: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_010d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_010e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0114: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0115: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_011d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0122: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0125: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_012a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_012f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0134: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_013c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0141: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0144: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0149: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_014e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0153: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_015b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0160: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0163: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0168: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_016d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0172: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_017a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_017f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0182: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0187: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_018c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0191: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0199: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_019e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01b0: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01b8: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01bd: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01c0: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01c5: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01ca: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01cf: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
|
||||
if ((Object)(object)originTransform == (Object)null)
|
||||
if (originTransform == null)
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtils_VolumeUtil] originTransform is null");
|
||||
Debug.LogError("[ProfileUtils_VolumeUtil] originTransform is null");
|
||||
return null;
|
||||
}
|
||||
if ((Object)(object)axisTransform == (Object)null)
|
||||
if (axisTransform == null)
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtils_VolumeUtil] axisTransform is null");
|
||||
Debug.LogError("[ProfileUtils_VolumeUtil] axisTransform is null");
|
||||
return null;
|
||||
}
|
||||
if (points == null || points.Count == 0)
|
||||
{
|
||||
Debug.LogError((object)"[ProfileUtils_VolumeUtil] There is No Points to calculate volume");
|
||||
Debug.LogError("[ProfileUtils_VolumeUtil] There is No Points to calculate volume");
|
||||
return null;
|
||||
}
|
||||
VolumeData volumeData = new VolumeData();
|
||||
@@ -92,8 +34,8 @@ public class ProfileUtils_VolumeUtil
|
||||
float num6 = float.NegativeInfinity;
|
||||
for (int i = 0; i < points.Count; i += sampleStep)
|
||||
{
|
||||
Vector3 val = points[i] - originTransform.position;
|
||||
float num7 = Vector3.Dot(val, up);
|
||||
Vector3 lhs = points[i] - originTransform.position;
|
||||
float num7 = Vector3.Dot(lhs, up);
|
||||
if (num7 < num)
|
||||
{
|
||||
num = num7;
|
||||
@@ -102,7 +44,7 @@ public class ProfileUtils_VolumeUtil
|
||||
{
|
||||
num2 = num7;
|
||||
}
|
||||
float num8 = Vector3.Dot(val, forward);
|
||||
float num8 = Vector3.Dot(lhs, forward);
|
||||
if (num8 < num3)
|
||||
{
|
||||
num3 = num8;
|
||||
@@ -111,7 +53,7 @@ public class ProfileUtils_VolumeUtil
|
||||
{
|
||||
num4 = num8;
|
||||
}
|
||||
float num9 = Vector3.Dot(val, right);
|
||||
float num9 = Vector3.Dot(lhs, right);
|
||||
if (num9 < num5)
|
||||
{
|
||||
num5 = num9;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.VolumeData
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.profileBVHData
|
||||
public class profileBVHData
|
||||
{
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// EdenAutoMorpher_ProfileSaver_Script, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.profile.profileBVHNode
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
8
Assets/@Eden_Tools/Eden_AutoMorpher/Profiles.meta
Normal file
8
Assets/@Eden_Tools/Eden_AutoMorpher/Profiles.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e2a1bcfd751cc3849a426ce40c0cc77a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/@Eden_Tools/Eden_AutoMorpher/Profiles/Milfy.meta
Normal file
8
Assets/@Eden_Tools/Eden_AutoMorpher/Profiles/Milfy.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e7a2f45922601af4b8c5ddf7a2690616
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 089a65b7b2de5d340be9185301f4742b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
5307
Assets/@Eden_Tools/Eden_AutoMorpher/Profiles/Milfy/Milfy.json
Normal file
5307
Assets/@Eden_Tools/Eden_AutoMorpher/Profiles/Milfy/Milfy.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fac35f9984a9b074b96aef1277e7c9e2
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fa918e3ca04b78e468ae9f5a1de3a753
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1ae9d7589452c7249b1f5273111af6fc
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8f11fb0ea5a15f347b7e8562f8b474f8
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5a6c324ec591f174cbc97744c8447ff6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6e4bed78da4a082428935e1820a5034f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7d5c9a011babea74aba9abf5a8f4bf56
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ef45d213589843a4ebe6d9b7a5b24247
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 175670fba1461ee44938eef5d12c329e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 42349d897410ba04dbc6958029fe7b7c
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7b3fe5d7e8d8b8d46b1961db5f53753e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea3639083c9301544b84c17809fce603
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 24eca8dc2fe8df84f9a0ea6d286044fb
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1041a0f4b4eaa5445800c894655b3715
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 796fdb117d06e9e4e8a438c432ee5660
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
5307
Assets/@Eden_Tools/Eden_AutoMorpher/Profiles/Milltina/Milltina.json
Normal file
5307
Assets/@Eden_Tools/Eden_AutoMorpher/Profiles/Milltina/Milltina.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dc87e2182d5939948940c02f64b9e182
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 071fbdd5892194649b9b696fd0aa1731
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 554f22e23c8a40a4883d0d0e06e9c23c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9e1a86580b159024db259379c26bf6e7
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8b275a48d7f60fe4094d87f6e8d794c7
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aca6746310802bd419fa20b9fade0d7e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6355ee57a3b6af845a420a6e2b89cbaa
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f7e56f4380cff3f48b70eea3b08610d4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 28383dcfb0c7b0d4289a0a21049c7a1f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 46c294f977212ed41854119953e65770
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cb9f831979c888b46a40d033d2e14e4a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 22325538598a92042b0860464f8ce5f4
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3088c31b31ba3c24dab3ecc61f68e3e1
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f84918f456d193e46a7f2e997dedf74c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c6d7cfecbb6500844baf4d53ef60f8af
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 79ee172128d610543bfa36fa6c7ba86d
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf1fba1412638c34694e700e14970a6e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d8fe05d4b6351f24d974e74ec277dee3
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
5307
Assets/@Eden_Tools/Eden_AutoMorpher/Profiles/Shinano/Shinano.json
Normal file
5307
Assets/@Eden_Tools/Eden_AutoMorpher/Profiles/Shinano/Shinano.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: af06c95be22d7234484723e8b1c04996
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7f187a7d6e822ea468d2ce5bc361acd7
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user