You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
209 lines
14 KiB
C#
209 lines
14 KiB
C#
|
4 years ago
|
using System.Collections;
|
||
|
|
using System.Collections.Generic;
|
||
|
|
using UnityEngine;
|
||
|
|
using SiegeSong;
|
||
|
|
|
||
|
|
namespace SiegeSong
|
||
|
|
{
|
||
|
|
public class BlendshapeLoader : MonoBehaviour
|
||
|
|
{
|
||
|
|
public Dictionary<string, float> 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<string, float> 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<string, float>();
|
||
|
|
// 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);
|
||
|
|
// }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|