Esempio n. 1
0
    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;
        }
    }
Esempio n. 2
0
    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_Voxel clone = ScriptableObject.CreateInstance <NPVoxNormalProcessor_Voxel>();

        clone.m_normalMode             = m_normalMode;
        clone.m_passVoxel.m_normalMode = m_passVoxel.m_normalMode;

        foreach (int filter in m_voxelGroupFilter)
        {
            clone.m_voxelGroupFilter.Add(filter);
        }

        return(clone);
    }