/// <summary>
        /// MaterialSet으로 부터 생성한다.
        /// </summary>
        /// <param name="srcMat"></param>
        /// <param name="uniqueID"></param>
        /// <param name="isFromPreset"></param>
        /// <param name="isDefault"></param>
        public void CopyFromSrc(apMaterialSet srcMat, int uniqueID, bool isFromPreset, bool isPreset, bool isDefault)
        {
            _uniqueID = uniqueID;
            _name     = srcMat._name;


            if (!isPreset)
            {
                //프리셋이 아닌 경우
                _isReserved = false;
                if (isFromPreset)
                {
                    //Src가 Preset인 경우
                    _linkedPresetID       = srcMat._uniqueID;
                    _linkedPresetMaterial = srcMat;
                }
                else
                {
                    //Src가 일반 MaterialSet인 경우
                    //같은 프리셋 공유
                    _linkedPresetID       = srcMat._linkedPresetID;
                    _linkedPresetMaterial = srcMat._linkedPresetMaterial;
                }


                _isDefault = isDefault;
            }
            else
            {
                //프리셋인 경우
                _isReserved           = false;
                _linkedPresetID       = -1;
                _linkedPresetMaterial = null;
            }

            _icon = srcMat._icon;


            _shaderPath_Normal_AlphaBlend        = srcMat._shaderPath_Normal_AlphaBlend;
            _shaderPath_Normal_Additive          = srcMat._shaderPath_Normal_Additive;
            _shaderPath_Normal_SoftAdditive      = srcMat._shaderPath_Normal_SoftAdditive;
            _shaderPath_Normal_Multiplicative    = srcMat._shaderPath_Normal_Multiplicative;
            _shaderPath_Clipped_AlphaBlend       = srcMat._shaderPath_Clipped_AlphaBlend;
            _shaderPath_Clipped_Additive         = srcMat._shaderPath_Clipped_Additive;
            _shaderPath_Clipped_SoftAdditive     = srcMat._shaderPath_Clipped_SoftAdditive;
            _shaderPath_Clipped_Multiplicative   = srcMat._shaderPath_Clipped_Multiplicative;
            _shaderPath_L_Normal_AlphaBlend      = srcMat._shaderPath_L_Normal_AlphaBlend;
            _shaderPath_L_Normal_Additive        = srcMat._shaderPath_L_Normal_Additive;
            _shaderPath_L_Normal_SoftAdditive    = srcMat._shaderPath_L_Normal_SoftAdditive;
            _shaderPath_L_Normal_Multiplicative  = srcMat._shaderPath_L_Normal_Multiplicative;
            _shaderPath_L_Clipped_AlphaBlend     = srcMat._shaderPath_L_Clipped_AlphaBlend;
            _shaderPath_L_Clipped_Additive       = srcMat._shaderPath_L_Clipped_Additive;
            _shaderPath_L_Clipped_SoftAdditive   = srcMat._shaderPath_L_Clipped_SoftAdditive;
            _shaderPath_L_Clipped_Multiplicative = srcMat._shaderPath_L_Clipped_Multiplicative;
            _shaderPath_AlphaMask = srcMat._shaderPath_AlphaMask;

            _propertySets.Clear();

            _isNeedToSetBlackColoredAmbient = srcMat._isNeedToSetBlackColoredAmbient;

#if UNITY_EDITOR
            LoadShaderAssets();
#endif

            //프로퍼티 복사
            for (int i = 0; i < srcMat._propertySets.Count; i++)
            {
                PropertySet newPropSet = new PropertySet();
                newPropSet.CopyFromSrc(srcMat._propertySets[i]);

                _propertySets.Add(newPropSet);
            }
        }