neutral 関連個所(シリアライズ周り)を修正

This commit is contained in:
ousttrue 2022-02-01 14:31:51 +09:00
parent 6a4fb470ea
commit 945873a5b3
4 changed files with 3 additions and 10 deletions

View File

@ -49,6 +49,7 @@ namespace UniVRM10
if (expressions.Preset?.LookDown != null) yield return ExpressionKey.LookDown.SubAssetKey;
if (expressions.Preset?.LookLeft != null) yield return ExpressionKey.LookLeft.SubAssetKey;
if (expressions.Preset?.LookRight != null) yield return ExpressionKey.LookRight.SubAssetKey;
if (expressions.Preset?.Neutral != null) yield return ExpressionKey.Neutral.SubAssetKey;
if (expressions.Custom != null)
{

View File

@ -9,8 +9,6 @@ namespace UniVRM10
[Serializable]
public sealed class VRM10ObjectExpression
{
public const string NEUTRAL_KEY = "Neutral";
#region Preset
[SerializeField, Header("Emotion")]
public VRM10Expression Happy;

View File

@ -628,6 +628,7 @@ namespace UniVRM10
LookDown = ExportExpression(vrmController.Vrm.Expression.LookDown, vrmController, model, converter),
LookLeft = ExportExpression(vrmController.Vrm.Expression.LookLeft, vrmController, model, converter),
LookRight = ExportExpression(vrmController.Vrm.Expression.LookRight, vrmController, model, converter),
Neutral = ExportExpression(vrmController.Vrm.Expression.Neutral, vrmController, model, converter),
},
Custom = vrmController.Vrm.Expression.CustomClips.ToDictionary(c => c.name, c => ExportExpression(c, vrmController, model, converter)),
};

View File

@ -421,20 +421,13 @@ namespace UniVRM10
vrm.Expression.LookDown = GetOrLoadExpression(ExpressionKey.LookDown.SubAssetKey, ExpressionPreset.lookDown, vrmExtension.Expressions?.Preset?.LookDown);
vrm.Expression.LookLeft = GetOrLoadExpression(ExpressionKey.LookLeft.SubAssetKey, ExpressionPreset.lookLeft, vrmExtension.Expressions?.Preset?.LookLeft);
vrm.Expression.LookRight = GetOrLoadExpression(ExpressionKey.LookRight.SubAssetKey, ExpressionPreset.lookRight, vrmExtension.Expressions?.Preset?.LookRight);
vrm.Expression.Neutral = GetOrLoadExpression(ExpressionKey.Neutral.SubAssetKey, ExpressionPreset.neutral, vrmExtension.Expressions?.Preset?.Neutral);
if (vrmExtension?.Expressions?.Custom != null)
{
foreach (var (name, expression) in vrmExtension.Expressions.Custom.Select(kv => (kv.Key, kv.Value)))
{
var key = ExpressionKey.CreateCustom(name);
var preset = ExpressionPreset.custom;
if (preset == ExpressionPreset.custom && name == VRM10ObjectExpression.NEUTRAL_KEY)
{
// TODO:
// 注意JsonSchema の更新待ち?
key = ExpressionKey.CreateFromPreset(ExpressionPreset.neutral);
Debug.Log($"set neutral");
preset = ExpressionPreset.neutral;
}
var clip = GetOrLoadExpression(key.SubAssetKey, preset, expression);
if (clip != null)
{