モーリーのメモ

アプリ開発等(プログラミング、CG作成)、興味を持ったことを実践してまとめるブログです。

モーリーのメモ

メッシュとボーンで1枚絵からアニメーションを作る!:DragonBones

【 今回やること! 】

  • DragonBonesを使ってアニメーションを作成します。
  • 作成したアニメーションをCocos Creatorで使用します。
 
 DragonBonesは、無料で使える2Dアニメーション作成ツールです。メッシュとボーンを使って、1枚の絵でアニメーションを作成することも出来ます。
 
 今回作成するアニメーションです。*画像をクリックすると再生します。
  
 Cocos Creator自体にもアニメーション作成機能はありますが、DragonBonesの方が機能は豊富です。複数の画像からアニメーションを作る際の階層の管理もしやすいです。
 
 Cocos Creatorには、DragonBones用のコンポーネントがあるので、作成したアニメーションを簡単に使用できます。
 
 それでは作成を開始します!

使用環境

 私が使用している環境です。

DragonBonesをインストール

  1. 下記のURLを開く
    dragonbones.com
  2. Mac v5.6』をクリック
    『DragonBonesPro-v5.6.0.dmg』がダウンロードされます。
  3. 『DragonBonesPro-v5.6.0.dmg』をダブルクリックして開く
  4. 『DragonBonesProInstaller』を右クリックし、『開始』をクリック
    f:id:mmorley:20190707133245p:plain:w350
  5. 『開く』をクリック
    セキュリティの設定により、メッセージが表示されない場合があります。
    f:id:mmorley:20190707133643p:plain:w350
  6. 『Install Now』をクリック
    f:id:mmorley:20190707134159p:plain:w350
  7. ユーザ名とパスワードが求められたら入力する
  8. 『Run Now』をクリック
    f:id:mmorley:20190707135915p:plain:w350
    インストール完了!

アカウントの登録

  1. 『Log in』をクリック
    f:id:mmorley:20190708231723p:plain:w450
  2. 下図の情報を入力して『Register』をクリック
    f:id:mmorley:20190708232047p:plain:w350
  3. 『Next』をクリック
    f:id:mmorley:20190708232215p:plain:w350
  4. 登録したメールアドレスに『Code』が送付されるので、下図の項目を入力して『Register』をクリック
    f:id:mmorley:20190708232712p:plain:w350
  5. 『Confirm』をクリック
    f:id:mmorley:20190708232744p:plain:w300
    登録完了!

サンプルプロジェクトの素材を利用する

 DragonBonesにあらかじめ用意されているサンプルプロジェクトの素材を利用してアニメーションを作成します。

  1. サンプルプロジェクトの『Spine Convert』をクリック
    f:id:mmorley:20190707202856p:plain:w450
  2. 『File』→『Save Project』をクリック
  3. 名前を変更して、『Finish』をクリック
    *別名で保存しないと、後で同じサンプルプロジェクトを開いた時に上書きされてしまいます。
    f:id:mmorley:20190725211400p:plain

    『Library』パネルで作業

  4. 『Library』パネル内を右クリックし、『New Symbol』をクリック
    f:id:mmorley:20190708105005p:plain:w450
  5. 『Symbol Name』に"DragonWing"を入力し、『Finish』をクリック
    f:id:mmorley:20190708173753p:plain:w350
  6. ツリーを展開して、(『Library』-『NewDragon』-)『chibangR2』を、『Scene』パネルの『root』にドラッグ&ドロップ
    f:id:mmorley:20190708231409p:plain:w450
    座標(0, 0)に『chibangR2』が配置されます。

ボーンを設定する

    描画エリアで作業

  1. 『Create Bone』をクリックしてオンにする
    f:id:mmorley:20190710112350p:plain:w450
  2. 下図のようにボーンを配置する
    *gifです。画像をクリックすると再生します。

    ボーンの名前を下図のようにします。*自動割当される名前は、ボーンの位置や作成順で変わります。
    f:id:mmorley:20190729153853p:plain:w250
    補足:描画エリアの操作
    • 拡大縮小表示:マウスのホイールスクロール、またはホイールボタンでドラッグ
    • 表示場所の移動:マウスの右ボタンでドラッグ

    『Scene』パネルで作業

  3. 下記の操作で、ボーンの親子関係を下図のようにする
    • 『chibangR23』を『chibangR2』にドラッグ&ドロップ
    • 『chibangR25』を『chibangR2』にドラッグ&ドロップ
    f:id:mmorley:20190710161307p:plain:w450

メッシュを設定する

    『Scene』パネルで作業

  1. 画像の『chibangR2』をクリックして選択
    f:id:mmorley:20190710174343p:plain

    『Property』パネルで作業

  2. 『Mesh』にチェックを入れる
  3. 『Edit Mesh』をクリック
    f:id:mmorley:20190710231748p:plain

    描画エリアで作業

  4. 『New Edge』をクリック
    f:id:mmorley:20190711092759p:plain:w350
  5. 『現在のメッシュが削除されますが、メッシュを再作成して良いですか?』と聞かれるので『Confirm』をクリック
    *今後この確認が不要な場合は、チェックを入れます。
    f:id:mmorley:20190711114927p:plain
  6. 画像のアウトラインをクリック
    *gifです。画像をクリックすると再生します。

  7. 『Create』をクリック
    f:id:mmorley:20190711171832p:plain
  8. 画像の内側の骨格に沿って頂点を追加
    作業に邪魔なボーンは非表示または操作不可にすることが出来ます。(下記の補足を参考)
    *gifです。画像をクリックすると再生します。

    補足:非表示・操作不可の切り替え
    • 『Scene』パネルで非表示・操作不可を切り替える
      f:id:mmorley:20190711180627p:plain:w250
  9. 『Select』をクリック
    f:id:mmorley:20190712094941p:plain

    『Propety』パネルで作業

  10. 『Add Bone to Bind』をクリック
    f:id:mmorley:20190712111911p:plain

    描画エリアで作業

  11. 全てのボーンを1つずつクリックして追加
    f:id:mmorley:20190712143132p:plain:w450
  12. 『Weight』をクリック
    f:id:mmorley:20190712143352p:plain
  13. 各頂点のWeight(円グラフ)を下図のように調整(下記の補足を参考)
    *Weight:ボーンを動かした時に、頂点が追従して動く割合
    f:id:mmorley:20190713210514p:plain
    補足:Weightの調整方法
    • ボーンと頂点をクリックし、描画エリアの何もない場所でドラッグ
      *gifです。画像をクリックすると再生します。

    • 頂点をクリックし、『Property』パネルで調整する
      *gifです。画像をクリックすると再生します。

    • ボーンをクリックし、『option』を押しながら頂点をクリックして塗りつぶす
      *gifです。画像をクリックすると再生します。

    • ボーンを動かしながら調整する
      *gifです。画像をクリックすると再生します。

アニメーションを作成

    描画エリアで作業

  1. 『Animation』をクリック
    f:id:mmorley:20190716154428p:plain:w500
  2. 『comannd + a』を押して、ボーンと画像を全選択する
  3. ボーンを1つ(どれでも良い)を右クリック
    ボーンだけが選択されます。
  4. 回転のフラッグをクリック
    f:id:mmorley:20190716170559p:plain:w350
    『Timeline』パネルに全てのボーンの現在の角度がキーフレームとして登録されます。

    『Timeline』パネルで作業

  5. 『0フレーム目』の白いひし形をクリックして、キーフレームを選択し、『control + c』を押してコピーする
    f:id:mmorley:20190717145246p:plain:w450
  6. 『24フレーム目』をクリックして、『control + v』を押してペーストする
    f:id:mmorley:20190717162553p:plain:w450
  7. 『12フレーム目』をクリックして、『Auto Key』をクリックする
    f:id:mmorley:20190717172321p:plain:w450
    ボーンを動かすと、現在のフレームにキーフレームが登録されるようになります。

    描画エリアで作業

  8. 何もない場所を右クリックして、選択状態を解除する
  9. 『Rotate』をクリック
    f:id:mmorley:20190717212823p:plain
  10. 各ボーンをそれぞれ回転させて動きを付ける
    *gifです。画像をクリックすると再生します。

    12フレーム目にキーフレームが登録されます。
    f:id:mmorley:20190719174110p:plain
    アニメーションの作成は以上です。
  11. 『File』→『Save Project』をクリックして保存
  12. 作成したアニメーションを確認する
    1. 何もない場所を右クリックして、選択状態を解除する
    2. 『Bone Visible』をクリックして、ボーンを非表示にする
      f:id:mmorley:20190719174430p:plain
    3. Play Forward』をクリックして、アニメーションを再生
      f:id:mmorley:20190719174325p:plain
      *gifです。画像をクリックすると再生します。

Cocos Creator用にエクスポートする

    『DragonBones』で作業

  1. 『Export Project』をクリック
    f:id:mmorley:20190722154416p:plain
    Export』ウィンドウが開きます。

    『Export』ウィンドウで作業

  2. 『Change』をクリック
    f:id:mmorley:20190722160710p:plain
  3. 『Opened Symbol』を選択して、『Finish』をクリック
    f:id:mmorley:20190725000937p:plain
  4. 『Finish』をクリック
    f:id:mmorley:20190726155114p:plain:w450
  5. 『Confirm』をクリック
    f:id:mmorley:20190726155528p:plain

Cocos Creatorで『DragonWing』を読み込む

    『Cocos Creator』のダッシュボードで作業

  1. 『Empty Project』を選択し、任意のパスとプロジェクト名を入力して『Create』をクリック
    f:id:mmorley:20190721154609p:plain:w450

    『Cocos Creator』のエディターで作業

  2. 『File』→『Save Scene』をクリック
  3. ファイル名を"Main.fire"にして、『Save』をクリック
    f:id:mmorley:20190726220209p:plain:w450

    『Assets』パネルで作業

  4. エクスポートした下記の3つのファイルを『Assets』パネルの『assets』にドラッグ&ドロップするf:id:mmorley:20190726225717p:plain

    『Node Tree』パネルで作業

  5. Canvas』を右クリックして、『Create』→『Create Empty Node』をクリック
  6. 作成した『New Node』を右クリックして、『Rename』をクリックし、名前に"DragonWing"を入力
    f:id:mmorley:20190722095039p:plain
  7. 作成した『DragonWing』をクリックして選択

    『Properties』パネルで作業

  8. 『Add Compornent』をクリックして、『Renderer Component』→『DragonBones』をクリック
  9. 『dragonBones.AmatureDisplay』を下記のように設定
    • 『Assets』パネルから『DragonWing_ske』を『Dragon Assets』にドラッグ&ドロップする
    • 『Assets』パネルから『DragonWing_tex』を『Dragon Atlas Assets』にドラッグ&ドロップする
    • 『Animation』で、『animation0』を選択
    f:id:mmorley:20190727220519p:plain:w550
設定は以上です。
プレビューボタンを押して、動作を確認して下さい。
 
今回の作業は、以上です。お疲れ様でした。

あとがき

 ボーンを動かした時に、伸び縮みさせたい場所と歪んでほしくない場所が思い通りになるようにメッシュを設定するのは難しいです。
 また、今回使用した画像もそうですが、画像の周囲に余白がないと、画像のアウトラインにメッシュを作成しにくいです。場合によってはボーンを動かした際に画像の境界が変な歪み方をします。自分で画像を用意する場合は周囲に余白を付けたほうが良いかも知れません。