crowdツールチュートリアル ~Miarmyで遊ぼう!~
2015/5/18
[あいさつ]
お久しぶりです。
なんだか知らないうちに一年経ってしまった
crowdTDの 護守(ごのかみ) です。
本当はもっと早くに投稿する予定でしたが、
忙殺されましてね…
その忙殺されたお仕事は
もう少し先ですが公開されますのでお楽しみに。
さて、今回は前回ご紹介したMiarmyを使用してみたいと思います。
題して、
『Miarmyで遊ぼう!』
前回の記事:
crowdツールチュートリアル ~Miarmy入門!~
[introduction]
まずは、こちらをご覧ください。
一時期界隈で話題に上がってたので
もしかしたら見たことあるかもしれません。
動画の説明文にあるようにMiarmyで作られています。
今回はこれを作ってみようと思います。
いきなりハードル高いって思いますか?
実はそうでもないんです。
ちょちょいっと設定してあげればできちゃいます。
1:セットアップ
前提条件として今回は
・Maya2014
・Miarmy version 3.5.21
を使っています。
ちなみに、Miarmyの最新バージョンは3.6.17です。(記事執筆時)
すぐできるみたいなこと書きましたが
Agentは準備している前提で進めます。
「説明されないとわかんないよ!」って方は
公式のチュートリアル動画の1~3、21を参考に。
https://www.youtube.com/playlist?list=PLalQe7BG7XcL8YXywnLD6QSnIN-dV2VZe
もしくは、公式で配布しているサンプルデータを使用してください。
https://onedrive.live.com/?cid=50E5893406EEF5F7&id=50e5893406eef5f7!821
Agentのアクションで必要なのは走るモーションだけです。
いきなりハードル上がってますね…すいません…
しかし、こっからは本当に簡単です。
まずは、セットアップしたAgentデータを読み込みます。
読み込んだら、Agentにdynamicsを仕込みます。
dummyShape(cubeで表示されているもの)を選択して、
Collide Feelをonにします。
これを足、腕、胴体にやります。
このCollide Feelをonにすることで、MiarmyがこのdummyShapeを
コリジョン判定してくれるわけです。
2:brain
brainを作ります。
本来ダイナミクスを使うとAgentはいわゆるラグドール状態になってしまいます。
体が脱力した感じでだらーんとなってしまうんですよね。
しかし、動画で見ていただいたようにダイナミクス判定をしてもラグドールにならず、
しっかりとモーションを再生しています。
これは、Miarmyに付属している機能で“servo”と呼ばれるものです。
ここのbrainでその“servo”を設定します。
まずは、走るモーション用のbrainを作ります。
Miarmy > Logic and Decision > Make Decision
defaultと名前を入力してcreateを押します。
設定は画像を参照してください。
ちなみに公式のサンプルデータにはこれは設定されているはずですので
新たに作る必要はないです。
次に、dynamics判定用のbrainを作ります。
dynamicsという名前でdecisonを作成します。
設定は画像を参照してください。
この中でやっているのは
「この範囲の中で、コリジョン判定があったらdynamics(ラグドール)になるよ!」
ってことです。
「この範囲」というのは後々設定します。
さて次に“servo”を使用します。
servoという名前でdecisonを作成します。
内容はこちら。
「dynamics(ラグドール)になったらservo機能使うよ!」
ってことです。
ちなみにここでrunって記入している部分がservoで使用するアクションになります。
3:プレイスメント(配置)
Agentの配置とギミックの配置を行います。
Agentは適当な位置に列を作らせます。
PlacementのPlace Typeをformationにして、
あとはColumnとNumOfAgentをいじるだけです。
隣り合う距離が気になるようでしたらDistanceをいじってください。
次はギミックにいきます。
最初にbrainで記述した「この範囲」というものを指定します。
Miarmy > Knowledge Perception > Create Bound
このBoxの中が「この範囲」ということですね。
このBoundですが、Miarmyではbrainのトリガーとして非常によく使います。
さて、次に真ん中で回転していた棒を作ります。
Miarmy > Physics > Kinematic Primitives > Create Box Kine Prim
これでできました。
上記で作った二つの位置やスケールを調整します。
こんな感じですかね。
棒の回転アニメーションもあらかじめつけておきます。
4:シミュレーション
さてさて、お待ちかねシミュレーションです。
その前に、simple Transitionを外します。
外し方は以下。
Miarmy Globalを起動します。
Miarmy > Miarmy Global…から、もしくは、
前回の記事で配布しましたMiarmy GUI Collectionから起動できます。
Use Simple Transitionというところのチェックを外します。
ここは何かというと、ちょっと長くなりそうなので端折ります。
簡単にいうと、ここにチェックが入っていると
brainがうまく作動しないことがあるのでそれを防いでいるのです。
今度こそシミュレーションです。
シミュレーションの仕方は前回書いたので割愛します。
が、この方法ぶっちゃけめんどくさいです。
なので私は自作ツールを使用してます。
何が簡単って、cacheとmeshDrive二回ボタンを押さないといけないのが
ひとつのボタンにまとまってること!
超絶便利ですね。
cacheのパスもこのツールで設定できるので、前回の記事で書いたみたいに
windowを乱立させなくてもいいんですよね。
Miarmy触り始めてめんどくさすぎて一番最初に作ったツールですね。
とにはかくにも、これでシミュレーション完了です。
シミュレーションしてみて配置が気に入らなければ
いろいろと調整して再シミュレーションしてください。
ここの工程が一番楽しいです。
楽しすぎるので私は職場でげらげら笑ってました。完全に変な人です。
みなさまどうか周りに人がいないところでお試しください。
5:レンダリング
meshDriveをenableにします。
meshDriveをまだはき出していない場合ははき出してください。
やり方は前回の記事を参照で。
真ん中の棒ですが、このままだとレンダリングされませんので、
cubeを、作成したKinematic Primitiveと同じ位置・大きさにします。
もちろんアニメーションもコンストレインで持ってくるのを忘れずに。
お好みでカメラ、レンダー設定してLet’s Renderです。
出来上がったのがこちら。
気持ち悪いのが苦手な方は閲覧注意です。
_人人人人人人人人人_
> すごい気色悪い <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
oh…もう…
気色悪い以前に画質があれすぎですね…
youtubeにアップするときに画質劣化したっぽいです。
室長に「はよせい」と怒られたので、すんませんがこれで我慢してください。
[おまけ]
さて、今回記事中で紹介した便利なsimulationツールを読者プレゼント!
応募はDFの採用情報から…
そんなわけないですね。ちゃんと公開します。
=> Miarmy Simulation Tool ダウンロード
※免責事項※
本記事内で公開している全ての手法及びファイルの有用性、安全性について、当方は一切の保証を与えるものではありません。
これらの手法及びファイルを使用したことによって引き起こる直接的、間接的な損害に対し、
当方は一切責任を負うものではありません。
自己責任でご活用ください
※注意事項※
・使用方法は同封のreadmeをご参照ください。
・使用する際はMiarmyのプラグインを読んだ状態でお願いします。
すでに、前回配布したMiarmy GUI Collection(以下まいこれ)を設定している方はスクリプト上書きだけでいけます。
ちなみにまいこれには他にもカスタムでスクリプトを登録できます。
登録の仕方?
じ、時間がないのでまた今度…
[おわりに]
そんなわけで検証という名目でいろいろ遊べるMiarmyです。
crowdでdynamics使うと楽しいですね。
中々実際のショットには使いにくいところもありますが、
雰囲気だけ出すならもってこいですね。
Miarmyあればもう何時間でも楽しめますね。
それはもうゲーム並みです。
あ、すいません…こんな盛り上げてますけど、
別に私Miarmyの会社の回しものじゃないです…
Miarmyにも弱点は多々ありますから…
こんなこと書いてるから室長に怒られるんですね。
仕方ないですね。
要するにこの記事で何が書きたかったというと
「楽しいよ!」
ってだけです。
それでは今回はこのへんで(:3ノシ )ヘ
コメント
コメントフォーム