二足歩行ロボットコミュニティサイト

【サイトの使い方】  【サイトマップ】  【お問い合わせ】 
ロボット動画  |   ロボット写真  |   BBS  |   ダウンロード  |   イベント予定  |   スタッフ日記  |   リンク  |  
ログイン パスワード    新規登録   パスワード紛失  

 

第1回 RobovieMaker2でのモーション作成(前編)

今回は基本としてモーション作成について説明します。
主にモーションエリア全体の操作に関する説明、及び従来のポーズやループ構造などに関する説明を行います。

RobovieMaker2では、下画像の通りモーションエリアが大きく異なります。

新しいモーションエリア
新しいモーションエリア。フローチャート式でモーションを組み立てる

プログラムをご存知の方なら若干なじみがあると思いますが、まさにプログラムのフローチャートを作成する感じでモーションを作成できるようになっています。
従来のRobovieMaker for VS-RC003ではモーションエリアにはモーションに含まれるポーズが縦一列に並んでおり、ポーズの遷移時間、実行順序などを設定する形式でした。これは、ポーズの並びは実行順ではなく、更に実行順序をポーズの列番号で指定する形だったため、見た目など感覚的には非常に分かりづらい状態でした。
一方RobovieMaker2ではポーズの実行順序は矢印で表示され、更に「ポーズ」「分岐」などの役割を個別の形状の「ブロック」で表示するようになったので、非常に見やすくなりました。

ブロックには「ポーズブロック」「ループブロック」「分岐ブロック」「演算ブロック」「スタートブロック」「エンドブロック」の6種類が存在します。
それぞれのブロックはまさに名前の通りの役割を持っており、ポーズ一つを表すもの、従来のループ構造を表すもの、任意の変数の条件によって動作を分岐させるもの、任意の変数を四則演算するもの、モーションの開始・終了を表すものになります。

モーションブロック
新しいモーションは様々な役割を持つ「ブロック」を組み合わせていく。

それでは、ブロックに共通する操作について説明します。

ブロックの選択とフロー(矢印)の接続

ブロックに共通する操作として、「場所の移動」「フロー(矢印)の接続」「プロパティダイアログの表示」などがあります。

ブロックの表示場所を動かす場合は、ブロックをクリックしてドラッグします(ポーズブロックではブロック内のスピンボタン部分をクリックすると別の動作をします)。
モーションエリアの空白部分をクリックしてドラッグすると選択枠が表示され、枠内にあるブロックを選択状態にします。
この状態でブロックをドラッグすると、選択状態のブロックをまとめて動かすことができます。

ブロックの選択とドラッグによる移動
モーションエリアをドラッグすると枠線を表示し、枠線でブロックを囲むとブロックを選択する。選択したブロックはドラッグでまとめて座標を動かせる。
ちなみにSHIFTキーを押しながらドラッグすると一定区切りで座標がグリッドされる。

ブロック同士を接続している、モーションの実行順序を表す矢印を「フロー」といいます。フローもマウスでドラッグして接続するブロックや折り返し地点を設定できます。
フローの根元・先端をマウスでクリックしてドラッグすると、下図のように色が変わってマウスカーソルの位置がフローの先端になります。この状態で別のポーズブロックにマウスカーソルを重ねるとフローがそのブロックにつながります。この状態でマウスのボタンを離すとフローをブロックにつなげます。

フローのドラッグと連結
ブロックから伸びる矢印「フロー」の根元・先端をドラッグすると色が変わる。そのまま別のブロックにカーソルを重ねると、自動的にそのブロックにフローがつながる

また、フローの中央にある円をマウスでドラッグするとフローの折り返し点を移動できます。これでフローを見やすくします。

ドラッグによるフローの折り返し点の変更
フロー中央の円をドラッグすると、フローの折り返し位置を変更できる

また、どのブロックにもフローを接続せずにマウスのボタンを離すとフローが根元に収まります。この状態でも、再びフローの根元をクリックするとフローをドラッグできます。

接続されていないフローの根元をドラッグすると再びフローをドラッグして接続できる
接続されていないフローの根元をドラッグすると再びフローをドラッグして接続できる

ちなみに、ループブロックや分岐ブロックは条件が成立するか否かで二通りの動作に分岐するためフローも二つあります。条件が成立しない場合は青(NOの表記)のフローに、成立する場合は赤(YESの表記)のフローに進みます。
また、エンドブロックは次につながる動作が存在しないためフローがありません。スタートブロックはその前に実行する動作が存在しないためフローを接続できません。

ブロックのコピー&ペースト

ブロックはまとめてカット・コピー・ペースト等の操作ができます。
ブロックを選択状態にして、メニューの「モーション」→「選択したブロックをコピー」をクリックするとブロックのコピーが、「選択したブロックをカット」をクリックするとブロックのカットがそれぞれ可能です。

コピーしたブロックはメニューの「モーション」→「コピーしたブロックを貼り付け」を行なうとモーションエリアに貼り付けます。
このとき、各ブロックのフローの接続や位置関係は可能な限り再現されます。
また、貼り付けたブロックには名前にチルダ('~')が追加されます。

選択したブロックのコピー&ペースト
選択したブロックはコピー&ペーストできる。コピーしたブロックを貼り付けると名前に「~」が追加される。また、各ブロックのフローは可能な限り再現される。

同様の操作はショートカットキーでも可能です。
まずマウスカーソルをモーションエリア内に合わせて下さい(モーションエリアならどこでも可能です。もしポーズエリアにあわせるとポーズスライダに対する操作になるのでご注意ください)
その状態で以下のキーを押すと各種の操作が可能です。

  • コントロールキー+C:選択したブロックのコピー
  • コントロールキー+X:選択したブロックのカット
  • コントロールキー+V:コピーしたブロックの貼り付け
  • Deleteキー:選択したブロックの削除

また、これに類する操作として、ブロックを選択して「モーション」→「選択したポーズをすべて鏡像反転」をクリックすることで、選択したポーズを一括して鏡像反転できます。
これで左右対称のモーションも容易に作成できます。

ブロックのプロパティの設定

ブロックには様々な種類がありますが、それらの詳細な設定は別途ダイアログを開いて行ないます。
ポーズブロックについてはポーズエリアで個別にポーズを編集しますが、演算ブロックや条件分岐ブロックでは計算式や条件についてダイアログより設定します。

ブロックの設定ダイアログを表示する場合は、ブロックをダブルクリックしたり、ブロックにカーソルを合わせて右クリックしてメニューを表示し「ブロックのプロパティ」を選択します。クリックするとブロックのプロパティダイアログを開きます。
プロパティダイアログでは、「ブロックの名前」「ブロックの座標」、及び演算ブロックなら演算方法、分岐ブロックなら分岐方法などブロックにちなんだ詳細設定を行ないます。

サンプル:演算ブロックのプロパティダイアログ
ブロックの詳細はプロパティダイアログで設定する。
(サンプル:演算ブロックのプロパティダイアログ)

プロパティダイアログは各ブロックの種類ごとに設定内容が大きく異なりますが、ブロックの名前、座標など共通の設定も存在します。
ちなみに、スタートブロック・エンドブロックにはプロパティダイアログが存在しません。

以上でブロックの基本操作は終了です。

ポーズブロックの説明

ポーズブロックはモーション中の一つのポーズを表します。
従来のモーションスライダ一つに相当するようなものですね。

ポーズブロック
【ポーズブロック】
上半分はポーズ名、下半分は遷移時間を表示し、左上の丸は現在ポーズエリアで編集中かを表す(赤丸が編集中のポーズ)
スピンをクリックすると従来のモーションスライダのように遷移時間を変更できる。

ポーズブロックは、上半分にポーズ名、下半分に遷移時間を表示しています。また、左上の丸は現在ポーズエリアで編集中のポーズを表示しており、現在ポーズエリアで編集しているポーズのブロックは赤い丸で表示されます。
ポーズブロックをクリックするとポーズエリアで編集するポーズがクリックしたポーズブロックに切り替わります。
また、ブロック下半分の遷移時間表示の右端にあるスピンボタンをクリックするとポーズの遷移時間を増減できます。この場合、ポーズエリアで編集するポーズは変更されません。
ちなみに、遷移時間の表示の下にある赤い横線は、現在の遷移時間を線の長さで表示したものです。
ポーズブロックには、従来のモーションスライダに備わっていた遷移時間用のスライダが備わっていませんが、その代わりとして視覚的に遷移時間が把握できるように表示されています。

ポーズブロックのプロパティダイアログは以下の内容になります。

ポーズブロックのプロパティダイアログ
ポーズブロックのプロパティダイアログ。
ブロックの名前、座標を設定できる

ポーズブロックのプロパティダイアログでは、ポーズ名と表示座標について設定します。
各ポーズに実際のポーズの内容にちなんだ名前をつけると、見た目にモーションの内容が分かりやすくなります。

ブロックに名前をつける
お辞儀のモーションの各ポーズに状況をメモ。
こまめにブロックに名前をつけるとモーションを把握しやすくなる。

ポーズブロックの追加は、基本的に従来のようにモーションの複製(Dup)やブロックのコピー&ペーストで行ないますが、メニューの「モーション」→「ポーズブロックの追加」をクリックすると、現在の基準ポーズに合わせられた全く新しいポーズブロックを追加することもできます。

ちなみに、実際のポーズ作成については従来とほぼ同じです。RobovieMaker2では新しくサーボモータの個別脱力機能が追加されていますが、これについては後の回で詳しく説明します。
過去に本連載で説明したポーズエリアの操作をご参照ください。

ループブロックの説明

ループブロックは、従来のループ構造を実現するためのブロックです。
従来のループ構造は、一つのモーションスライダにポーズの実行順序を表す「nextポーズ」と「breakポーズ」が存在し、ループ構造を作る際にはループの抜け道をbreakポーズにて設定するという仕組みでした。
RobovieMaker2ではモーションの実行順序がフロー(矢印)に置き換わり、breakポーズの代役として登場したのがループブロックです。

ループブロックをモーションに追加する場合は、メニューより「モーション」→「ループブロックの追加」をクリックします。
モーションエリアに追加されたループブロックは、既に存在するブロックにフローが接続された状態になっています。
フローの接続が想定するモーションと異なる場合はつなぎ変えてください。

ループブロック
【ループブロック】
上半分にブロックの名前、下半分に「<<loop>>」の表記。
6角形で表示。青い「通常のフロー」の他に赤い「分岐のフロー」が備わっている。

一般的なフローチャートでは分岐は菱形で表示されますが、ループブロックはそれを連想しやすい形状として6角形で表示されます。
ループブロックは、上半分にはポーズブロックと同様にブロックの名前が、下半分にはループブロックを表す「<<loop>>」の文字が表示されます。
ループブロックには、ポーズブロックなどと同じくモーション中のポーズの実行順序を表す青いフローが備わっており、更にもう一つループ構造を抜ける分岐先を表す赤い矢印が備わっています。

ループブロックの青いフローと赤いフローをそれぞれ「通常のフロー」「分岐のフロー」といいます。
前者は従来のnextポーズに相当し、ループ回数内でのモーション再生中の実行順序を表します。
後者は従来のbreakポーズに相当し、ループを抜ける場合の抜け道を表します。
モーション再生時には、ループ回数に満たない・コントローラのボタンを押し続けているなど、ループ構造を抜けるタイミングでないときには通常のフロー=「NO」の表記のフローに従ってモーションを実行します。
ループ回数に達した・コントローラのボタンを離したなど、ループ構造を抜けるタイミングには分岐のフロー=「YES」の表記のフローに従ってモーションを実行します。

それでは、試しに適当なループ構造を組んで見ましょう。

ループ構造の参考例
ループ構造の参考例
ループを続ける場合はループブロックの通常のフロー=「NO」のフローへ、ループを抜けるタイミングになったらループブロックの分岐のフロー=「YES」のフローへモーション再生が分岐する

このモーションをループ回数3で再生すると、最初はループブロックの通常のフロー=「NO」の表記のフローに従ってモーションが再生されます。そして、ループ回数と同じ3回目にループブロックを実行すると、今度は分岐のフロー=「YES」の表記のフローに従ってループを抜け、モーション再生を終了します。
このあたりの動作は、言葉で説明するよりも直感で理解できるのではないかと思います。
少なくとも、従来の通し番号で指定する方式よりはずっとビジュアル的になり理解しやすくなっていると思います。

ループブロックのプロパティダイアログは、ポーズブロックと同じくブロック名と表示座標の設定を行ないます。

ループブロックのプロパティダイアログ
ループブロックのプロパティダイアログ。
ポーズブロックと同様、ブロックの名前と座標を設定できる

ポーズブロックとループブロックを理解することで、従来のRobovieMaker for VS-RC003で作成できるモーションをすべて再現することができます。
従来のRobovieMaker for VS-RC003で作成した、ループ構造の含まれるモーションを読み込むと、ループ構造はすべてループブロックで置き換えて読み込まれます。

次回予告

さて、次回はモーション作成の後半、新しく追加された演算ブロック、分岐ブロックの詳細を紐解いていきます。


前のページ
第0回 Welcome to 'RobovieMaker2' world.
コンテンツのトップ 次のページ
第2回 RobovieMaker2でのモーション作成(後編)


検索
Loading
メインメニュー