Skip to content

BlinkのBlendShapeClipが設定されていないVRMをVRChatアバターに変換しようとすると、NullReferenceExceptionが発生する #78

@shino-a

Description

@shino-a

BlinkのClipが設定されていない場合、clipsに含まれないため、clips.FirstOrDefault()nullを返していると思われます。

mesh.AddBlendShapeFrame(
BlendShapeReplacer.BlinkShapeKeyName,
BlendShapeReplacer.MaxBlendShapeFrameWeight,
BlendShapeReplacer.GenerateShapeKey(
BlendShapeReplacer.SubtractNeutralShapeKeyValues(
clips.FirstOrDefault(c => c.Preset == BlendShapePreset.Blink).ShapeKeyValues,
clips
),
SkinnedMeshUtility.GetAllShapeKeys(mesh, useShapeKeyNormalsAndTangents)
).ToArray(),
null,
null
);

NullReferenceException: Object reference not set to an instance of an object
Esperecyan.Unity.VRMConverterForVRChat.Components.BlendShapeReplacer.EnableEyeLook (UnityEngine.GameObject avatar, System.Collections.Generic.IEnumerable`1[T] clips, System.Boolean useShapeKeyNormalsAndTangents, Esperecyan.Unity.VRMConverterForVRChat.Converter+OSCComponents oscComponents) (at ./Library/PackageCache/jp.pokemori.vrm-converter-for-vrchat@41.5.2/Editor/Components/BlendShapeReplacer.cs:349)
Esperecyan.Unity.VRMConverterForVRChat.Components.BlendShapeReplacer.Apply (UnityEngine.GameObject avatar, System.Collections.Generic.IEnumerable`1[T] clips, System.Boolean useShapeKeyNormalsAndTangents, Esperecyan.Unity.VRMConverterForVRChat.VRMBlendShapeClip vrmBlendShapeForFINGERPOINT, Esperecyan.Unity.VRMConverterForVRChat.Converter+OSCComponents oscComponents) (at ./Library/PackageCache/jp.pokemori.vrm-converter-for-vrchat@41.5.2/Editor/Components/BlendShapeReplacer.cs:198)
Esperecyan.Unity.VRMConverterForVRChat.Converter.Convert (UnityEngine.GameObject prefabInstance, System.Collections.Generic.IEnumerable`1[T] clips, System.Boolean forQuest, Esperecyan.Unity.VRMConverterForVRChat.Converter+SwayingObjectsConverterSetting swayingObjectsConverterSetting, System.Boolean takingOverSwayingParameters, Esperecyan.UniVRMExtensions.SwayingObjects.VRMSpringBonesToVRCPhysBonesConverter+ParametersConverter swayingParametersConverter, Esperecyan.Unity.VRMConverterForVRChat.VRMBlendShapeClip vrmBlendShapeForFINGERPOINT, System.Boolean keepingUpperChest, System.Single addedShouldersPositionY, System.Single addedArmaturePositionY, System.Boolean useShapeKeyNormalsAndTangents, Esperecyan.Unity.VRMConverterForVRChat.Converter+OSCComponents oscComponents, Esperecyan.Unity.VRMConverterForVRChat.Converter+PostConverting postConverting) (at ./Library/PackageCache/jp.pokemori.vrm-converter-for-vrchat@41.5.2/Editor/Converter.cs:94)
Esperecyan.Unity.VRMConverterForVRChat.UI.Wizard.OnWizardCreate () (at ./Library/PackageCache/jp.pokemori.vrm-converter-for-vrchat@41.5.2/Editor/UI/Wizard.cs:619)
...

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions