株式会社デジタル・フロンティア-Digital Frontier

Header

Main

  • TOP
  • DF TALK
  • crowdツールチュートリアル ~Miarmy入門!~

crowdツールチュートリアル ~Miarmy入門!~

2014/6/9

Tag: ,,,,

[あいさつ]

お久しぶりです。
最近なぜだか、知り合いからMayaの質問が良く来るようになった
crowdTDの 護守(ごのかみ) です。
 
 

今回も『プロシージャルシリーズ』といきたいのですが、
今回はcrowdTDらしくcrowdツールの紹介です。
 

前回の記事:
crowdツール共通のブレインの考え方 ~デザイナーでもわかる群集入門~

 
 

[Miarmyって?]

Miarmyとは、
Maya用群集シミュレーションプラグインです。
Maya上で完結できるのが強みで、
レンダリングもMayaでできるのでシェーダー周りの管理が楽です。

特徴 :
  ・上記のようにMayaで完結できるので使いやすい。
  ・ブレンドやブレインまわりの調整にコツがいる。

 
 
 
短いスパンのプロジェクトなどにはMiarmyは楽な印象がありますね。
 
 
 
 

[Miarmy入門!]

というわけで、前置きが長くなりましたが
今回はMiarmyの使い方を簡単にご紹介したいと思います。
インストールなどから紹介していくと長くなりますので、
詳細はbasefount公式http://www.basefount.com/miarmy
を参考にしてください。

フリー版は100体のシミュレーションまでできます。
それ以上になると有料版が必要になります。

100体とそれなりにいける気がしますが、
密度を出そうとすると普通に100体を越えるんですよね…。
それでも、フリーでここまでできるという強力さに変わりはないんですけどね。
 
 
ではいってみましょう。
 
 
 
 

1:Miarmyセットアップ

新規にシーンを開きます。
事前にプラグインをロードするのをお忘れなく。

画像ではPro版をロードしてますが、フリー版の人は上のExpressの方をロードしてください。

MiarmyのメニューからMiarmy Ready!を実行します。

Miarmy Ready!というのはMiarmyを使うためのノード類を作成するコマンドです。
いわばMiarmyの準備コマンドですね。
 
 
 
 

2:キャラクターインポート

別シーンで作ったキャラをインポートします。
とりあえず今回は簡単な骨とモデルだけにしておきましょう。
メッシュを骨にバインドしておくのを忘れずに。

インポートしたキャラを
Miarmy_Contents
└Agent_loco
    └Setup_loco
の下に入れます。

Miarmy > Original Agents > Create Original Agent
でMiarmy用の骨を作ります。

ここでコリジョンBOXの設定や回転制限を設定する必要があるんですが
尺も足りないのでそのままでいきます。

次にメッシュもMiarmy用に設定します。
Setup_locoに入れたメッシュを選択して、
Miarmy > Original Agents > Send Active Geo to Original Agent
を実行します。

Geometry_locoの下にメッシュができていれば成功です。
 
 
 
 

3:プレイスメント(配置)

Miarmy > Placement > Create Placement Node
placement Nodeを作成します。
placement Nodeというのはエージェントを配置する場所を決めるものです。
ちなみにエージェントというのはcrowdで扱うキャラクターのことです。

このノードの各Attrの値をかえることで、調整できます。
とりあえずここでは100体にしておきます。

 
 
 
 

4:ブレイン作成

ここでブレインを作っていきます。

まずはブレイン用のノードを作ります。
Miarmy > Logic and Decision > Make Decision

適当な名前を入力してcreateを押します。
Decisionにtz、valueに1.00と入力します。

tzというのはtranslateZをコントロールするという意味です。
Valueはコントロールする値を指定する部分です。
ここで入力したものはexpression的に言えば

tz += 1

ということになります。

つまり、「毎フレーム +1 z方向に進んでいく」ということになります。
 
 
 
 

5:シミュレーション

これで準備ができました。
まずは
Miarmy > Placement > Place

で実際にキャラクターを配置します。
出てくるダイアログは、HideもしくはHide and not mention againを押して下さい。
後者の方を押すと2度目以降の配置はこのダイアログが出なくなります。

この状態で再生すると各エージェントが移動します。

(クリックで再生)

次はキャッシュをとります。
Miarmy > Miarmy Tools…

ここにキャッシュのパスと名前等を指定します。

Make Agent Cacheを押すとキャッシュが始まります。

Enable Agent Cache
にチェックを入れるとキャッシュを有効化することができます。

 
 
 
 

6:メッシュ化

このままではレンダリングできないので、
シミュレーションしたものをメッシュ化します。
Miarmy > RENDER > Render Global…

OtherRendersタブにメッシュのキャッシュのパスを入力します。

ややこしいですが、
さっき設定したところはアニメーション用のキャッシュで、
ここで設定するのはメッシュ用のキャッシュと考えていただければと思います。

設定したら、
Miarmy > RENDER > Mesh Drive 3.0 > Export Cache
でメッシュのキャッシュを出します。

このメッシュのキャッシュシステムをMiarmyではMesh Driveと呼んでいるようです。
キャッシュをとる際はplaceしてないといけないので注意です。

キャッシュをとったら、
Miarmy > Placement > De-place
で配置を解除します。

その後、
Miarmy > RENDER > Mesh Drive 3.0 > Duplicate Meshes and Randomize Texture
を実行します。

ここではとりあえずDuplicate Randomを選択します。
これでメッシュ化が行われました。

最後にMesh Driveを有効にします。
Miarmy > RENDER > Mesh Drive 3.0 > Enable Mesh Drive

これでメッシュがフレーム毎に動くようになったはずです。
ちなみに、メッシュはバウンディングボックス表示されています。

 

後はレンダリングすれば完了です。
レンダリングすると、セットしたメッシュがしっかりとレンダリングされるのがわかります。

(クリックで再生)
 
 

メニューをあっちこっち行ったり、やることが多いのでけっこう戸惑うかもしれません。
どこにどのコマンドがあるのかとか分かりづらいのも難点ですよね。
 
 
 
 

[おまけ]

というわけで、メニューを行ったり来たり探したりする問題を
解決するためのツールを作りました。
今回はこのツールを配布したいと思います。
Miarmy GUI Collectionです。

一度上のチュートリアルをやっていただいた方にはわかると思いますが、
Miarmyはウィンドウの種類がものすごく多いんですよね。
しかも、ウィンドウを表示するためのコマンドへのアクセスのし難さも問題です。

そこでGUIを表示するコマンドをウィンドウにまとめたものがこのツールになります。

=> Miarmy GUI Collection ダウンロード

※免責事項※
本記事内で公開している全ての手法及びファイルの有用性、安全性について、当方は一切の保証を与えるものではありません。
これらの手法及びファイルを使用したことによって引き起こる直接的、間接的な損害に対し、
当方は一切責任を負うものではありません。
自己責任でご活用ください

※注意事項※
・使用方法は同封のreadmeをご参照ください。
使用する際はMiarmyのプラグインを読んだ状態でお願いします。
・初回のウィンドウ起動には、環境にもよりますが10秒ほどかかります。

Miarmy GUI Collectionの実行コマンドはこんな風にシェルフに登録しておくと使いやすいです。

ちなみにGUI内の各アイコンはpngを上書きすれば変えることができます。

GUI内の各カテゴリの開閉アクションは、私にとってのpython師匠
巽さんのものを使わせてもらってます。ありがとうございます!

[PySide] mayaのFrameLayoutを自作する
http://mtazmi-lab.blogspot.jp/2013/05/PySide-FrameLayout.html

存分にパカパカしてください。フハハハ

 
 
 
 

[おわりに]

今回はMiarmyをご紹介しました。
間の操作もつきつめればつめるほどたくさんあるんですが、
ものすごく長くなってしまうので今回は全体の流れをメインでご紹介しました。

Miarmyは開発スピードがそれなりに早いので
すぐに新機能や新バージョンが出てきます。
バグもすぐ修正してくれるので使う側としては非常にありがたいですよね。
 

それでは今回はこのへんで(:3ノシ )ヘ
 
 
 
 

コメント

コメントはありません

コメントフォーム

コメントは承認制ですので、即時に反映されません。ご了承ください。

CAPTCHA


 

*