【Mac各機種への対応状況について】
現在、Cubism EditorはApple M1チップ搭載機種には対応しておりません。
詳細は 動作環境 をご参照ください。
関連するお問い合わせへの対応はこの文章をもって代えさせていただきます。
また、Cubism SDKは現在公開中の製品全てにおいてApple M1チップ搭載機種及びmacOS 11.0 Big Surには対応しておりません。
Cubism 製品のマニュアル・チュートリアルはこちら
 
Cubism Editorマニュアル    Cubism Editorチュートリアル    Cubism SDKマニュアル    Cubism SDKチュートリアル

「外部のスクリプトなどからMotionPlayer.PlayMotion()を呼び出し、引数に再生したいAnimationClipを渡す」此方のスクリプト記述方法について

お世話になります。椎香と申します。

Live2D、Unity共に初心者であり、且つC#プログラミング初心者のため、極基本的な内容で申し訳ありません。


「音声入力中の単語からキーワードを拾い、モーションを実行させる」事を目標にしています。
下記のチュートリアルの「2. AnimationClipを再生させる命令を呼び出すコンポーネントを用意」の、
 「1でCubismMotionControllerをアタッチしたGameObjectに、作成したMotionPlayerをアタッチ」までは
 完了しています。
  SDKチュートリアル「スクリプトからモーションを再生させる」
  https://docs.live2d.com/cubism-sdk-tutorials/motion-unity-ow/

しかし、
「外部のスクリプトなどからMotionPlayer.PlayMotion()を呼び出し、引数に再生したいAnimationClipを渡す」
の部分を実装できず、非常に困っています。


【前提条件】
 ・呼び出したいモーション名:mnt_001
 ・適用したいオブジェクト名:AKIRA_EXPORT_001

[呼び出す関数]-------------------------------------------------------------------
using System.Collections;
using Live2D.Cubism.Framework.Motion;
using UnityEngine;

public class MotionPlayer : MonoBehaviour
{
CubismMotionController _motionController;
private void Start()
{
_motionController = GetComponent();
Debug.Log("呼び出された");
}
public void PlayMotion(AnimationClip animation)
{
if ((_motionController == null) || (animation == null))
{
Debug.Log("Nullだった");
Debug.Log(animation.name);
return;
}
_motionController.PlayAnimation(animation, isLoop: false);
}
}
--------------------------------------------------------------------------------

 ★此処が動作せず、モーションが実行されません

[呼び出しに行く関数] ※一部抜粋------------------------------------------------

★ // MotionPlayer.PlayMotion()を呼び出し、引数にAnimationCrip(mnt_001)を指定して実行させる
private void KONNICHIWA()
{
Debug.Log("こんにちは");
★ MotionPlayer m1 = refObj.GetComponent();
★ AnimationClip crip = new AnimationClip();
★ crip.name = "mtn_001";

Debug.Log(crip.name);
★ m1.PlayMotion(crip);
}

--------------------------------------------------------------------------------

お手数をお掛けして大変恐縮ですが、どのように★の部分の記述を修正すべきか、情報を
お寄せ頂きたく存じます。よろしくお願いいたします。

コメント

  • 椎香 @SHIIKA30 さん

    _motionController.PlayAnimation(animation, isLoop: false);
    上記の行を以下のように書き換えてもモーションが再生されないか確認をお願いできますでしょうか?
    _motionController.PlayAnimation(animation, isLoop: false, priority: CubismMotionPriority.PriorityForce);
コメントするにはサインインまたは登録して下さい。