/// <summary>
        /// アニメーションクリップに、指定されたマテリアルを追加します。
        /// </summary>
        /// <param name="avatar"></param>
        /// <param name="animationClip"></param>
        /// <param name="name"></param>
        /// <param name="binding"></param>
        /// <param name="secondsList"></param>
        private static void SetBlendShapeCurve(
            AnimationClip animationClip,
            GameObject avatar,
            string vrmBlendShapeName,
            IEnumerable <MaterialValueBinding> bindings,
            IEnumerable <float> secondsList
            )
        {
            var materials = avatar.transform.Find(VRChatUtility.AutoBlinkMeshPath)
                            .GetComponent <SkinnedMeshRenderer>().sharedMaterials;

            var materialIndex = materials.ToList().FindIndex(m => m.name == bindings.First().MaterialName);

            var material = Duplicator.DuplicateAssetToFolder <Material>(
                source: materials[materialIndex],
                prefabInstance: avatar,
                fileName: $"{materials[materialIndex].name}-{vrmBlendShapeName}.mat"
                );

            VRMUtility.Bake(material, bindings);

            AnimationUtility.SetObjectReferenceCurve(
                animationClip,
                new EditorCurveBinding()
            {
                path         = VRChatUtility.AutoBlinkMeshPath,
                type         = typeof(SkinnedMeshRenderer),
                propertyName = $"m_Materials.Array.data[{materialIndex}]",
            },
                secondsList
                .Select(seconds => new ObjectReferenceKeyframe()
            {
                time = seconds, value = material
            }).ToArray()
                );
        }