Skip to content
Binary file modified Editor/SettingTemplate/setting.fbx
Binary file not shown.
61 changes: 49 additions & 12 deletions Editor/SettingTemplate/setting.fbx.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions Editor/SettingTemplate/setting.m4v.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Editor/System/Core/AssetGraphPostprocessor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ private void DoPostprocessWithContext(AssetPostprocessorContext ctx) {

private void NotifyAssetPostprocessorGraphs(AssetPostprocessorContext ctx)
{
var guids = AssetDatabase.FindAssets(Model.Settings.GRAPH_SEARCH_CONDITION);
var guids = AssetDatabase.FindAssets(Model.Settings.GRAPH_SEARCH_CONDITION, new string[] { "Assets" });

var executingGraphs = new List<Model.ConfigGraph> ();

Expand Down
2 changes: 1 addition & 1 deletion Editor/System/Filters/FilterByNameAndType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public bool FilterAsset(AssetReference a) {
CheckVersionAndUpgrade ();

bool keywordMatch = Regex.IsMatch(a.importFrom, m_filterKeyword,
RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
RegexOptions.IgnorePatternWhitespace);

bool match = keywordMatch;

Expand Down
34 changes: 24 additions & 10 deletions Editor/System/Importers/ModelImporterConfigurator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -158,8 +158,15 @@ private bool IsEqual(ModelImporter target, ModelImporter reference)
if (Math.Abs(target.clipAnimations[i].additiveReferencePoseFrame -
reference.clipAnimations[i].additiveReferencePoseFrame) > kTOLERANCE)
return false;
if (target.clipAnimations[i].curves != reference.clipAnimations[i].curves)
if (target.clipAnimations[i].curves.Length != reference.clipAnimations[i].curves.Length)
return false;
for (var j = 0; j < target.clipAnimations[i].curves.Length; ++j)
{
if (target.clipAnimations[i].curves[j].name != reference.clipAnimations[i].curves[j].name)
return false;
if (!target.clipAnimations[i].curves[j].curve.Equals(reference.clipAnimations[i].curves[j].curve))
return false;
}
if (Math.Abs(target.clipAnimations[i].cycleOffset - reference.clipAnimations[i].cycleOffset) >
kTOLERANCE)
return false;
Expand Down Expand Up @@ -326,12 +333,15 @@ private bool IsEqual(ModelImporter target, ModelImporter reference)
return false;

#if UNITY_2019_2_OR_NEWER
if (target.maxBonesPerVertex != reference.maxBonesPerVertex)
return false;
if (reference.skinWeights == ModelImporterSkinWeights.Custom)
{
if (target.maxBonesPerVertex != reference.maxBonesPerVertex)
return false;
if (Math.Abs(target.minBoneWeight - reference.minBoneWeight) > kTOLERANCE)
return false;
}
if (target.meshOptimizationFlags != reference.meshOptimizationFlags)
return false;
if (Math.Abs(target.minBoneWeight - reference.minBoneWeight) > kTOLERANCE)
return false;
if (target.skinWeights != reference.skinWeights)
return false;
if (target.sortHierarchyByName != reference.sortHierarchyByName)
Expand Down Expand Up @@ -427,9 +437,6 @@ private void OverwriteImportSettings(ModelImporter target, ModelImporter referen

target.animationType = reference.animationType;
target.animationWrapMode = reference.animationWrapMode;
#if UNITY_2019_3_OR_NEWER
target.avatarSetup = reference.avatarSetup;
#endif

target.bakeIK = reference.bakeIK;
if (reference.importAnimation && m_overwriteAnimationClipSettings)
Expand Down Expand Up @@ -475,14 +482,17 @@ private void OverwriteImportSettings(ModelImporter target, ModelImporter referen
target.materialSearch = reference.materialSearch;

#if UNITY_2019_2_OR_NEWER
target.maxBonesPerVertex = reference.maxBonesPerVertex;
if (reference.skinWeights == ModelImporterSkinWeights.Custom)
{
target.maxBonesPerVertex = reference.maxBonesPerVertex;
target.minBoneWeight = reference.minBoneWeight;
}
#endif

target.meshCompression = reference.meshCompression;

#if UNITY_2019_2_OR_NEWER
target.meshOptimizationFlags = reference.meshOptimizationFlags;
target.minBoneWeight = reference.minBoneWeight;
#endif
target.motionNodeName = reference.motionNodeName;

Expand Down Expand Up @@ -517,6 +527,10 @@ private void OverwriteImportSettings(ModelImporter target, ModelImporter referen
target.useFileUnits = reference.useFileUnits;
target.useSRGBMaterialColor = reference.useSRGBMaterialColor;
target.weldVertices = reference.weldVertices;

#if UNITY_2019_3_OR_NEWER
target.avatarSetup = reference.avatarSetup;
#endif
}
}
}
9 changes: 7 additions & 2 deletions Editor/System/Model/SerializableMultiTargetInstance.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ public T Get<T> () {
[SerializeField] private string m_className;
[SerializeField] private List<Entry> m_values;

MonoScript m_Monoscript;
public MonoScript MonoScript => m_Monoscript ?? (m_Monoscript = TypeUtility.LoadMonoScript(ClassName));

public SerializableMultiTargetInstance(SerializableMultiTargetInstance rhs) {
m_className = rhs.m_className;
m_values = new List<Entry>(rhs.m_values.Count);
Expand Down Expand Up @@ -156,7 +159,7 @@ public void Set(BuildTargetGroup g, object value) {
}

int i = m_values.FindIndex(v => v.targetGroup == g);
var json = CustomScriptUtility.EncodeString(JsonUtility.ToJson(value));
var json = CustomScriptUtility.EncodeString(EditorJsonUtility.ToJson(value));
if(i >= 0) {
m_values [i].value = json;
m_values [i].instance = value;
Expand Down Expand Up @@ -203,7 +206,9 @@ public T GetDefaultValue<T>() {
return default(T);
}
UnityEngine.Assertions.Assert.IsTrue( typeof(T).IsAssignableFrom(t) );
return (T) JsonUtility.FromJson(CustomScriptUtility.DecodeString(m_values[i].value), t);
var instanse = (T)Activator.CreateInstance(t);
EditorJsonUtility.FromJsonOverwrite(CustomScriptUtility.DecodeString(m_values[i].value), instanse);
return instanse;
} else {
return default(T);
}
Expand Down
9 changes: 6 additions & 3 deletions Editor/System/Model/SerializedInstance.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using UnityEditor;

namespace UnityEngine.AssetGraph {
[System.Serializable]
Expand Down Expand Up @@ -44,7 +45,7 @@ public SerializedInstance(T obj) {
UnityEngine.Assertions.Assert.IsNotNull(obj);

m_className = obj.GetType().AssemblyQualifiedName;
m_instanceData = CustomScriptUtility.EncodeString(JsonUtility.ToJson(obj));
m_instanceData = CustomScriptUtility.EncodeString(EditorJsonUtility.ToJson(obj));
}

public void OnBeforeSerialize()
Expand All @@ -69,7 +70,9 @@ private T Deserialize() {

if(!string.IsNullOrEmpty(m_instanceData) && instanceType != null) {
string data = CustomScriptUtility.DecodeString(m_instanceData);
return (T)JsonUtility.FromJson(data, instanceType);
var instance = System.Activator.CreateInstance(instanceType) as T;
EditorJsonUtility.FromJsonOverwrite(data, instance);
return instance;
}

return default(T);
Expand All @@ -78,7 +81,7 @@ private T Deserialize() {
public void Save() {
if(m_object != null) {
m_className = m_object.GetType().AssemblyQualifiedName;
m_instanceData = CustomScriptUtility.EncodeString(JsonUtility.ToJson(m_object));
m_instanceData = CustomScriptUtility.EncodeString(EditorJsonUtility.ToJson(m_object));
}
}

Expand Down
4 changes: 4 additions & 0 deletions Editor/System/Model/V2/ConfigGraph.cs
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ public bool UseAsAssetPostprocessor
get { return m_useAsAssetPostprocessor; }
set
{
if (m_useAsAssetPostprocessor == value)
return;
m_useAsAssetPostprocessor = value;
SetGraphDirty();
}
Expand All @@ -95,6 +97,8 @@ public string Descrption
get { return m_graphDescription; }
set
{
if (m_graphDescription == value)
return;
m_graphDescription = value;
SetGraphDirty();
}
Expand Down
4 changes: 2 additions & 2 deletions Editor/System/Modifiers/SetProperty.cs
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ private void UpdateFieldInfo ()
m_properties = new List<FieldEditInfo> ();
}

var infos = m_type.GetFields (BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.DeclaredOnly);
var infos = m_type.GetFields (BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
foreach (var info in infos) {
if (!info.IsPublic) {
var attr = info.GetCustomAttributes (typeof(SerializeField), true);
Expand All @@ -347,7 +347,7 @@ private void UpdateFieldInfo ()
}
}

var props = m_type.GetProperties (BindingFlags.Instance);
var props = m_type.GetProperties (BindingFlags.Instance | BindingFlags.Public);
foreach (var p in props) {

if (!p.CanWrite) {
Expand Down
Loading