public void setParameter(CubismParameter param, ParametersClass kvp) { if (param != null) { var get = (kvp.MaxValue - kvp.MinValue) * (kvp.NowValue - kvp.MinSetValue) / (kvp.MaxSetValue - kvp.MinSetValue) + kvp.MinValue; if (kvp.NowValue <= kvp.MinSetValue) { get = kvp.MinValue; } else if (kvp.NowValue >= kvp.MaxSetValue) { get = kvp.MaxValue; } if (get > kvp.MaxParamValue) { get = kvp.MaxParamValue; } else if (get < kvp.MinParamValue) { get = kvp.MinParamValue; } var smooth = Mathf.SmoothStep(param.Value, get, kvp.SmoothValue); param.Value = smooth; kvp.ParametersValue = smooth; } }
public void GetParameters() { var jsonDataPath = Application.streamingAssetsPath + "../../../Data/Parameters.json"; JObject jsonParams = Live2DParametersController.getParametersJson(jsonDataPath); var model = GetComponent <CubismModel>(); foreach (KeyValuePair <string, string> kvp in Parameters) { var paraC = new ParametersClass(); paraC.Name = kvp.Key; var para = Live2DParametersController.getParametersFromJson(kvp.Key, jsonParams, model); paraC.Parameter = para; if (para != null) { AInitedParameters.Add(para); paraC.MinValue = para.MinimumValue; paraC.MinSetValue = para.MinimumValue; paraC.MinParamValue = para.MinimumValue; paraC.MaxValue = para.MaximumValue; paraC.MaxSetValue = para.MaximumValue; paraC.MaxParamValue = para.MaximumValue; } paraC.SDKName = kvp.Value; InitedParameters.Add(kvp.Key, paraC); } }