public override void Import() { base.Import(); // Normal processor migration code if (NormalProcessors && NormalProcessors.RequiresMigration) { NormalProcessors.hideFlags = HideFlags.HideInHierarchy; if (NormalModePerVoxelGroup != null && NormalModePerVoxelGroup.Length > 0) { for (int i = 0; i < NormalModePerVoxelGroup.Length; i++) { NPVoxNormalProcessor_Voxel processorVoxel = NormalProcessors.AddProcessor <NPVoxNormalProcessor_Voxel>(); processorVoxel.NormalMode = NormalModePerVoxelGroup[i]; processorVoxel.AddVoxelGroupFilter(i); } } else { NPVoxNormalProcessor_Voxel processorVoxel = NormalProcessors.AddProcessor <NPVoxNormalProcessor_Voxel>(); processorVoxel.NormalMode = NormalMode; } NPVoxNormalProcessor_Variance processorVariance = NormalProcessors.AddProcessor <NPVoxNormalProcessor_Variance>(); processorVariance.NormalVarianceSeed = NormalVarianceSeed; processorVariance.NormalVariance = NormalVariance; NormalProcessors.AddToAsset(UnityEditor.AssetDatabase.GetAssetPath(this)); UnityEditor.EditorUtility.SetDirty(NormalProcessors); NormalProcessors.RequiresMigration = false; } }
public override void Import() { base.Import(); if (NormalProcessors == null) { NormalProcessors = ScriptableObject.CreateInstance <NPVoxNormalProcessorList>(); } // Normal processor migration code if (NormalProcessors && NormalProcessors.RequiresMigration) { if (UnityEditor.AssetDatabase.GetAssetPath(NormalProcessors).Length == 0) { NormalProcessors.hideFlags = HideFlags.HideInHierarchy; if (NormalModePerVoxelGroup != null && NormalModePerVoxelGroup.Length > 0) { for (int i = 0; i < NormalModePerVoxelGroup.Length; i++) { NPVoxNormalProcessor_Voxel processorVoxel = NormalProcessors.AddProcessor <NPVoxNormalProcessor_Voxel>(); processorVoxel.NormalMode = NormalModePerVoxelGroup[i]; processorVoxel.AddVoxelGroupFilter(i); } } else { NPVoxNormalProcessor_Voxel processorVoxel = NormalProcessors.AddProcessor <NPVoxNormalProcessor_Voxel>(); processorVoxel.NormalMode = NormalMode; } NPVoxNormalProcessor_Variance processorVariance = NormalProcessors.AddProcessor <NPVoxNormalProcessor_Variance>(); processorVariance.NormalVarianceSeed = NormalVarianceSeed; processorVariance.NormalVariance = NormalVariance; NormalProcessors.AddToAsset(UnityEditor.AssetDatabase.GetAssetPath(this)); UnityEditor.EditorUtility.SetDirty(NormalProcessors); NormalProcessors.RequiresMigration = false; } NormalProcessors.RequiresMigration = false; } m_voxMeshData = NPVoxMeshGenerator.GenerateVoxMeshData(GetVoxModel(), VoxelSize, Optimization, BloodColorIndex, Loop, Cutout, Include); if (NormalProcessors != null) { NormalProcessors.OnImport(); } }
public override object Clone() { NPVoxNormalProcessor_Variance clone = ScriptableObject.CreateInstance <NPVoxNormalProcessor_Variance>(); clone.m_normalVariance = m_normalVariance; clone.m_normalVarianceSeed = UnityEngine.Random.Range(0, int.MaxValue); clone.m_passVariance.m_normalVariance = m_passVariance.m_normalVariance; clone.m_passVariance.m_normalVarianceSeed = clone.m_normalVarianceSeed; foreach (int filter in m_voxelGroupFilter) { clone.m_voxelGroupFilter.Add(filter); } return(clone); }