using System.Collections; using System.Collections.Generic; using UnityEngine; using SiegeSong; namespace SiegeSong { public class BlendshapeLoader : MonoBehaviour { public Dictionary Blendshapes; public int HairstyleID; public int FacialHairID; public int FacialDetailID; public int HairColorR; public int HairColorG; public int HairColorB; public int HairColorA; public SkinnedMeshRenderer MeshRenderer; #region FACE public string JawDefinitionName = "JawDefinition"; public string ForeheadWidthName = "ForeheadWidth"; public string HeadShape02Name = "HeadShape02"; public string HeadShape03Name = "HeadShape03"; public string CheekboneSizeName = "CheekboneSize"; public string CheekbonesThinName = "CheekbonesThin"; public string CheeksDepthName = "CheeksDepth"; #endregion #region EYES public string EyelidsDepthName = "EyelidsDepth"; public string EyelidsSizeName = "EyelidsSize"; public string EyelidsTopName = "EyelidsTop"; public string EyelidsTopHeightName = "EyelidsTopHeight"; public string EyelidsInnerShapeName = "EyelidsInnerShape"; public string EyelidsOuterShapeName = "EyelidsOuterShape"; public string EyesAngleName = "EyesAngle"; public string EyeInsideDepthName = "EyeInsideDepth"; #endregion #region CHIN public string ChinDepthName = "ChinDepth"; public string ChinDimpleName = "ChinDimple"; public string ChinFillName = "ChinFill"; public string ChinWidthName = "ChinWidth"; public string ChinNarrowName = "ChinNarrow"; public string CleftChinName = "CleftChin"; #endregion #region MOUTH public string LipPeakName = "LipPeak"; public string LipShape1Name = "LipShape1"; public string LipShape2Name = "LipShape2"; public string LipShape3Name = "LipShape3"; public string LowerLipSizeName = "LowerLipSize"; public string LowerLipWidthName = "LowerLipWidth"; public string LowerLipDepthName = "LowerLipDepth"; public string UpperLipSizeName = "UpperLipSize"; public string UpperLipWidthName = "UpperLipWidth"; public string UpperLipDepthName = "UpperLipDepth"; public string MouthHeightName = "MouthHeight"; public string MouthSizeName = "MouthSize"; public string MouthWidthName = "MouthWidth"; #endregion #region NOSE public string NoseAngleName = "NoseAngle"; public string NoseBridgeDepthName = "NoseBridgeDepth"; public string NoseBridgeHeightName = "NoseBridgeHeight"; public string NoseBridgeScewName = "NoseBridgeScew"; public string NoseBridgeSlopeName = "NoseBridgeSlope"; public string NoseBridgeWidthName = "NoseBridgeWidth"; public string NoseBumpName = "NoseBump"; public string NoseDepthName = "NoseDepth"; public string NoseHeightName = "NoseHeight"; public string NosePinchName = "NosePinch"; public string NoseRidgeName = "NoseRidge"; public string NoseRidgeWidthName = "NoseRidgeWidth"; public string NoseSidePositionName = "NoseSidePosition"; public string NoseSizeName = "NoseSize"; #endregion void Start() { } void Update() { } public void LoadBlendshapes(Dictionary blendshapes) { Debug.Log($"csbss - {MeshRenderer.sharedMesh.blendShapeCount}"); // for (int i = 0; i < MeshRenderer.BlendShapes.Count; i++) // { // if (Blendshapes.ContainsKey(MeshRenderer.BlendShapes[i].key)) // { // MeshRenderer.BlendShapes[i].value = blendshapes[MeshRenderer.BlendShapes[i].key]; // } // } //} //public void SaveBlendshapes() //{ // var blendshapes = new Dictionary(); // for (int j = 0; j < BlendManager.blendShapeGameObjects.Count; j++) // { // if (MeshRenderer.BlendShapes[i].key == ForeheadWidthName) // blendshapes.Add(ForeheadWidthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == JawDefinitionName) // blendshapes.Add(JawDefinitionName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == HeadShape02Name) // blendshapes.Add(HeadShape02Name, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == HeadShape03Name) // blendshapes.Add(HeadShape03Name, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == CheekboneSizeName) // blendshapes.Add(CheekboneSizeName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == CheekbonesThinName) // blendshapes.Add(CheekbonesThinName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == CheeksDepthName) // blendshapes.Add(CheeksDepthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == EyelidsDepthName) // blendshapes.Add(EyelidsDepthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == EyelidsSizeName) // blendshapes.Add(EyelidsSizeName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == EyelidsTopName) // blendshapes.Add(EyelidsTopName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == EyelidsTopHeightName) // blendshapes.Add(EyelidsTopHeightName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == EyelidsInnerShapeName) // blendshapes.Add(EyelidsInnerShapeName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == EyelidsOuterShapeName) // blendshapes.Add(EyelidsOuterShapeName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == EyesAngleName) // blendshapes.Add(EyesAngleName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == EyeInsideDepthName) // blendshapes.Add(EyeInsideDepthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == ChinDepthName) // blendshapes.Add(ChinDepthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == ChinDimpleName) // blendshapes.Add(ChinDimpleName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == HeadShape03Name) // blendshapes.Add(HeadShape03Name, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == ChinFillName) // blendshapes.Add(ChinFillName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == ChinWidthName) // blendshapes.Add(ChinWidthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == ChinNarrowName) // blendshapes.Add(ChinNarrowName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == CleftChinName) // blendshapes.Add(CleftChinName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == LipPeakName) // blendshapes.Add(LipPeakName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == LipShape1Name) // blendshapes.Add(LipShape1Name, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == LipShape2Name) // blendshapes.Add(LipShape2Name, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == LipShape3Name) // blendshapes.Add(LipShape3Name, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == LowerLipSizeName) // blendshapes.Add(LowerLipSizeName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == LowerLipWidthName) // blendshapes.Add(LowerLipWidthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == LowerLipDepthName) // blendshapes.Add(LowerLipDepthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == UpperLipSizeName) // blendshapes.Add(UpperLipSizeName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == UpperLipWidthName) // blendshapes.Add(UpperLipWidthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == UpperLipDepthName) // blendshapes.Add(UpperLipDepthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == MouthHeightName) // blendshapes.Add(MouthHeightName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == MouthSizeName) // blendshapes.Add(MouthSizeName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == MouthWidthName) // blendshapes.Add(MouthWidthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NoseAngleName) // blendshapes.Add(NoseAngleName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NoseBridgeDepthName) // blendshapes.Add(NoseBridgeDepthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NoseBridgeHeightName) // blendshapes.Add(NoseBridgeHeightName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NoseBridgeScewName) // blendshapes.Add(NoseBridgeScewName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NoseBridgeSlopeName) // blendshapes.Add(NoseBridgeSlopeName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NoseBridgeWidthName) // blendshapes.Add(NoseBridgeWidthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NoseBumpName) // blendshapes.Add(NoseBumpName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NoseDepthName) // blendshapes.Add(NoseDepthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NoseHeightName) // blendshapes.Add(NoseHeightName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NosePinchName) // blendshapes.Add(NosePinchName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NoseRidgeName) // blendshapes.Add(NoseRidgeName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NoseRidgeWidthName) // blendshapes.Add(NoseRidgeWidthName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NoseSidePositionName) // blendshapes.Add(NoseSidePositionName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // if (MeshRenderer.BlendShapes[i].key == NoseSizeName) // blendshapes.Add(NoseSizeName, BlendManager.blendShapeGameObjects[j].blendShapeValues[i].value); // } } } }