public void BakeModifierParamSet(apModifierParamSet srcParamSet, apPortrait portrait) { //switch (srcParamSet._syncTarget) //{ // case apModifierParamSet.SYNC_TARGET.Static: // _syncTarget = SYNC_TARGET.Static; // break; // case apModifierParamSet.SYNC_TARGET.Controller: // _syncTarget = SYNC_TARGET.Controller; // break; // case apModifierParamSet.SYNC_TARGET.KeyFrame: // _syncTarget = SYNC_TARGET.KeyFrame; // break; // default: // Debug.LogError("연동 에러 : ParamSet에 정의되지 않은 타입 : " + srcParamSet._syncTarget); // break; //} //_controlKeyName = srcParamSet._controlKeyName; //_conSyncValue_Bool = srcParamSet._conSyncValue_Bool; _conSyncValue_Int = srcParamSet._conSyncValue_Int; _conSyncValue_Float = srcParamSet._conSyncValue_Float; _conSyncValue_Vector2 = srcParamSet._conSyncValue_Vector2; //_conSyncValue_Vector3 = srcParamSet._conSyncValue_Vector3; //_conSyncValue_Color = srcParamSet._conSyncValue_Color; _keyframeUniqueID = srcParamSet._keyframeUniqueID; _syncKeyframe = null; _overlapWeight = srcParamSet._overlapWeight; //OverlapWeight를 집어넣자 _meshData.Clear(); _boneData.Clear(); //SrcModifier ParamSet의 ModMesh, ModBone을 Bake해주자 //Debug.LogError("TODO : Bone 데이터 연동"); for (int i = 0; i < srcParamSet._meshData.Count; i++) { apModifiedMesh srcModMesh = srcParamSet._meshData[i]; apOptModifiedMesh optModMesh = new apOptModifiedMesh(); bool isResult = optModMesh.Bake(srcModMesh, portrait); if (isResult) { _meshData.Add(optModMesh); } } //추가 : ModBone for (int i = 0; i < srcParamSet._boneData.Count; i++) { apModifiedBone srcModBone = srcParamSet._boneData[i]; apOptModifiedBone optModBone = new apOptModifiedBone(); bool isResult = optModBone.Bake(srcModBone, portrait); if (isResult) { _boneData.Add(optModBone); } } }
public void BakeModifierParamSet(apModifierParamSet srcParamSet, apPortrait portrait, bool isUseModMeshSet) { _conSyncValue_Int = srcParamSet._conSyncValue_Int; _conSyncValue_Float = srcParamSet._conSyncValue_Float; _conSyncValue_Vector2 = srcParamSet._conSyncValue_Vector2; _keyframeUniqueID = srcParamSet._keyframeUniqueID; _syncKeyframe = null; _overlapWeight = srcParamSet._overlapWeight; //OverlapWeight를 집어넣자 _meshData.Clear(); _boneData.Clear(); //19.5.23 : meshSetData 추가 if (_meshSetData == null) { _meshSetData = new List <apOptModifiedMeshSet>(); } _meshSetData.Clear(); _isUseModMeshSet = isUseModMeshSet; //<<이 값이 1.1.7부터는 true가 된다. if (!_isUseModMeshSet) { //이전버전 //SrcModifier ParamSet의 ModMesh, ModBone을 Bake해주자 for (int i = 0; i < srcParamSet._meshData.Count; i++) { apModifiedMesh srcModMesh = srcParamSet._meshData[i]; apOptModifiedMesh optModMesh = new apOptModifiedMesh(); bool isResult = optModMesh.Bake(srcModMesh, portrait); if (isResult) { _meshData.Add(optModMesh); } } } else { //변경된 버전 : 19.5.23 (v.1.1.7) for (int i = 0; i < srcParamSet._meshData.Count; i++) { apModifiedMesh srcModMesh = srcParamSet._meshData[i]; apOptModifiedMeshSet optModMeshSet = new apOptModifiedMeshSet(); bool isResult = optModMeshSet.Bake( srcParamSet._parentParamSetGroup._parentModifier, srcParamSet._parentParamSetGroup, srcModMesh, portrait); if (isResult) { _meshSetData.Add(optModMeshSet); } } } //ModBone for (int i = 0; i < srcParamSet._boneData.Count; i++) { apModifiedBone srcModBone = srcParamSet._boneData[i]; apOptModifiedBone optModBone = new apOptModifiedBone(); bool isResult = optModBone.Bake(srcModBone, portrait); if (isResult) { _boneData.Add(optModBone); } } }