public IEnumerator LinkPortraitAsync(apPortrait portrait, apOptModifierUnitBase parentModifier, apAsyncTimer asyncTimer)
        {
            _portrait       = portrait;
            _parentModifier = parentModifier;

            switch (_syncTarget)
            {
            case apModifierParamSetGroup.SYNC_TARGET.Static:
                break;

            case apModifierParamSetGroup.SYNC_TARGET.Controller:
                //_keyControlParam = _portrait.GetControlParam(_keyControlParamName);
                _keyControlParam = _portrait.GetControlParam(_keyControlParamID);
                break;

            case apModifierParamSetGroup.SYNC_TARGET.KeyFrame:
                _keyAnimClip = _portrait.GetAnimClip(_keyAnimClipID);
                if (_keyAnimClip == null)
                {
                    Debug.LogError("Error : No AnimClip [" + _keyAnimClipID + "]");
                    break;
                }

                _keyAnimTimeline = _keyAnimClip.GetTimeline(_keyAnimTimelineID);
                if (_keyAnimTimeline == null)
                {
                    Debug.LogError("Error : No AnimTimeline [" + _keyAnimTimelineID + "]");
                    break;
                }

                _keyAnimTimelineLayer = _keyAnimTimeline.GetTimelineLayer(_keyAnimTimelineLayerID);

                if (_keyAnimTimelineLayer == null)
                {
                    Debug.LogError("Error : No AnimTimelineLayer [" + _keyAnimTimelineLayerID + "]");
                    break;
                }

                break;

            default:
                Debug.LogError("apOptParamSetGroup : 알수 없는 타입 : " + _syncTarget);
                break;
            }

            for (int i = 0; i < _paramSetList.Count; i++)
            {
                yield return(_paramSetList[i].LinkParamSetGroupAsync(this, portrait, asyncTimer));
            }

            //Async Wait
            if (asyncTimer.IsYield())
            {
                yield return(asyncTimer.WaitAndRestart());
            }
        }
        public void LinkPortrait(apPortrait portrait, apOptModifierUnitBase parentModifier)
        {
            _portrait       = portrait;
            _parentModifier = parentModifier;

            switch (_syncTarget)
            {
            case apModifierParamSetGroup.SYNC_TARGET.Static:
                break;

            case apModifierParamSetGroup.SYNC_TARGET.Controller:
                //_keyControlParam = _portrait.GetControlParam(_keyControlParamName);
                _keyControlParam = _portrait.GetControlParam(_keyControlParamID);
                break;

            case apModifierParamSetGroup.SYNC_TARGET.KeyFrame:
                _keyAnimClip = _portrait.GetAnimClip(_keyAnimClipID);
                if (_keyAnimClip == null)
                {
                    Debug.LogError("Error : No AnimClip [" + _keyAnimClipID + "]");
                    break;
                }

                _keyAnimTimeline = _keyAnimClip.GetTimeline(_keyAnimTimelineID);
                if (_keyAnimTimeline == null)
                {
                    Debug.LogError("Error : No AnimTimeline [" + _keyAnimTimelineID + "]");
                    break;
                }

                _keyAnimTimelineLayer = _keyAnimTimeline.GetTimelineLayer(_keyAnimTimelineLayerID);

                if (_keyAnimTimelineLayer == null)
                {
                    Debug.LogError("Error : No AnimTimelineLayer [" + _keyAnimTimelineLayerID + "]");
                    break;
                }

                break;

            default:
                Debug.LogError("apOptParamSetGroup : 알수 없는 타입 : " + _syncTarget);
                break;
            }

            for (int i = 0; i < _paramSetList.Count; i++)
            {
                _paramSetList[i].LinkParamSetGroup(this, portrait);
            }

            // 삭제 19.5.20 : _calculatedWeightedVertexList 변수 삭제
            //for (int i = 0; i < _calculatedWeightedVertexList.Count; i++)
            //{
            //	_calculatedWeightedVertexList[i].Link(portrait.GetOptTransform(_calculatedWeightedVertexList[i]._meshTransform_ID));
            //}
        }