Programs / 最終更新時間:2004年01月02日 17時26分52秒

概要

MotionWorks は、3Dモデルの動き(モーション、アニメーション)を作成するためのソフトウェアです。

DirectX6以上がインストールされた環境で動きます。対応しているファイル形式は、Direct3Dの標準のファイル形式であるXファイルのみです。

これはもともとDirect3D-RMのアプリケーションなので、最新のXファイル仕様で拡張されたスキン/ボーンには未対応です。バージョンアップ情報はこちら

ダウンロード

MotionWorks Prototype Version 0.73 (LZH 276KB)
フリーソフトウェアです。

目次

画面

実行方法

MotionWorks.exe をクリックしてください。

  • Windows95/98/2000/XP 上で動作。
  • プログラム本体以外に、DirectX6以上必須。
  • Direct3D対応のビデオカード推奨。

動作確認

Windows98, IE5.0, DirectX 7.0s SDK(Retail),
Pentium2(266), ASUS AGP-V3800DX(RIVA-TNT2Ultra)

Windows98, IE5.0, DirectX 7.0a SDK(Retail),
Celeron(433), BUFFALO WGA-TS(RIVA-TNT2)

WindowsXP, DirectX 9.0 SDK(Retail),
Athlon1800, GeForce 3

サンプルアニメーション

「xfiles」フォルダにあるXファイルは、そのままロードすることができます。

ちなみに、キャラクターの間接の繋ぎ目は、モーフィングボタンによってつなげることができますが、その状態でセーブするのは控えた方がよいでしょう(メッシュの頂点座標が変えられているため)。

操作方法の簡単な説明

ファイルのロード/セーブ

Fileメニューかツールバー(下に配置されています)のボタンを押すなどして、それらしい操作をしてみてください。

セーブは、自動的にアニメーションXファイルとなり、すべてのデータが保存されます(貴重なデータが上書きされないよう注意してください)。

同名のファイルは、一度クリアするか別のファイルをロードしないとロードできません(手抜き)。

ウインドウやアイコンへのドラッグ&ドロップでもロード可能です。

カメラ(視点)の変更

右ドラッグで、カメラを上下、左右方向に移動できます。

右クリックをしたまま、左ドラッグするとズームイン/ズームアウトします(このズームイン/ズームアウトは、パースが変化します)。

また、SHIFT+右ドラッグで画面(カメラのターゲット)を上下左右に平行移動できます。

CTRL+右ドラッグでは、カメラの移動によるズームイン/ズームアウトが可能です。

ウインドウ左の「CameraView」のところでは、カメラの位置と向きを所定の場所へ手軽に移動できます。この機能はテンキーの 2、8、4、6、5、0 にショートカットとしても割り当てられており、それぞれ Flont、Back、Left、Right、Top、Bottom のカメラビューとなっています。

オペレーションモードの変更

左上にある、Operation Modeという項目のすぐ下のボタンで切り替えることができます。

「Parent-Child」モードでは、親子関係を設定したり、パーツのデフォルトの位置や姿勢(つまりアニメーションしていない状態での位置や姿勢)を設定したりできます。

これはオマケ的なモードなので、ほとんどなにもできません。

「Animation」モードでは、アニメーションを作成することができます。

親の変更

「Parent-Child」モードで、パーツを選択した後、そのパーツの親となるパーツを「CTRL+SHIFT+左クリック」することで親を変更できます。

このとき、自分を選ぶとキャラクターのRootを親とします。

別キャラクターのパーツを親にすることはできません(ひどい話ですが...)。

アニメーション再生

下部にあるアニメーション用のツールバーで行います。このツールバーのボタンにマウスポインタ(矢印)をもっていき少し止めておくと、簡単な説明が表示されるのでそれを参考にしてください。

再生スピードは下部中央にある Play Speed の項目で選べます。

編集するキーフレームの変更

「Animation」モード時に、アニメーションツールバーの矢印ボタン(「←」と「→」)で変更できます。その右にある3つのボタンはそれぞれ、キーの「削除」「コピー」「ペースト」ボタンです。

また、カーソルキーの左右でもキーフレームを前後することができます。

アニメーション(パーツの位置/姿勢)の設定・変更

画面に表示されているパーツを左クリックするか、カーソルキーの上下を使って選択することでパーツを選択し、その後マウスの左ドラッグでパーツの姿勢を変更できます。

上下 -> X軸回転(H)
左右 -> Y軸回転(P)
SHIFT+左右 -> Z軸回転(B)

ウインドウ左にある「X」「Y」「Z」ボタンをクリックすることで、回転操作の有効/無効を切り替えることができます。(その下の「-」をクリックすると、操作が逆になります)

位置を変えるには、左にある「MouseFunction」の「animation」の「Move」を、姿勢を変えるには「Rotate」を選んでおきます。

「Animation」モード時には、アニメーションの位置や姿勢の変更となり、「Parent-Child」モード時には、現在のパーツの位置や姿勢の変更となります。

キーフレームの追加

「Animation」モード時に、キーのない時間を選択して、アニメーションツールバーの右の方に2つ並んであるボタンのどちらかを押すと、アニメーションの最後に新しくキーを追加できます。

また、キーのない時間で直接パーツを左ドラッグしようとすると、キーを追加するかどうか自動的に聞いてくるようになっています。

下部にあるボタン

「Animation」モード時の3D画面のすぐ下にいろいろボタンが並んでいますが…。

それらについては、適当にボタンの上にマウスカーソルをもっていき、そこで表示されるツールチップ(簡単な説明)を参考にしてください。

※スキン処理はデータを保存した後、表示するときの余興としてお使いください。セーブ時など、いろいろバグがあるので、アプリケーションが飛んでもいいとき以外は使用しないでください。

Key Lengthの右にある「Change」ボタンはなに?

Key Lengthに別の時間の長さを指定し、そのキーから次のキーまでの時間の長さ(Key Length)を変更するためのボタンです。

ドライバとレンダリングステートの変更

ドライバはViewメニューの「Driver」で、レンダリングステートは同じくViewメニューの「Renderer」で変更できます。

パースなしで見たい場合

Viewメニューの「Projection」で、「Othographic」を選択することで平行投影に出来ます。

ZバッファをOFFで見たい場合

Viewメニューの「ZBuffer」で、「Off」を選択することでZバッファを
無効に出来ます。

キャラクターを表示する位置を変えたい場合

ファイルのデータ上では、位置を変えたくないけれど、今、画面上で見るときにオブジェクトの位置を変えたい――というような場合には、

左にある「Mouse Function」の「plase」のすぐ下にある「Move」を選ぶことで、キャラクターをドラッグさせて移動できるようになります(キャラクターのどのパーツを選んでいてもキャラクター全体を移動できます)。

バージョンアップ情報

Version.0.72 -> Version.0.73

  • 要望が3分ですむ内容だったので久々に更新。しかし、やるならD3DXでシェーダー対応かつシンプルなゲームプロトタイプが作れるようなエディタにして書き直した方が楽しそう。アニメーションの出力だけなら3Dソフトのプラグインで十分だし。

仕様変更

  • DirectX 8/9のD3DXがメッシュ参照形式のXファイルをサポートしていないようなので、すべてメッシュインラインで保存するよう変更。これで最新のDirectXでも(無理すれば)使えなくもないです。

Version.0.71 -> Version.0.72

  • 昔からあったけど公開していなかったバージョンを公開。

追加機能

  • ファイルのウインドウへのドラッグ&ドロップに対応(アイコンへのドラッグ&ドロップは前々から出来た――が、それごとにウインドウが開く)。
  • 無効にしていた親子関係設定モードが使用可能に。ただし、恐ろしく手抜き(同一ファイル内のパーツ同士でしか変更不可)。
  • Fキーを押すとFPSとポリゴン数を表示するモードになる(アニメーション時や、視点回転時など、画面を書き換えているときしか数値を書き換えないので注意)。

Version.0.7 -> Version.0.71

  • バグフィックスのみ(残念ながら他に変更はありません)。

バグ修正

  • 名前のないフレームを持つXファイルに設定したアニメーションがセーブされないバグを修正。
  • 名前のないメッシュがフレームに関連付けられてセーブできないバグを修正。
  • スキン処理をしているデータを保存しようとすると落ちるバグ――は、スキン処理したデータは頂点データが変わるので、本来、セーブするべきではない、ということで。気が向いたら、対処します。

Version.0.6 -> Version.0.7

  • 状況報告用に公開。

追加機能

  • 複数キャラクターの読みこみ、再生に対応。
  • アニメーションに別のモデルを適用できる(モデルに別のアニメーションを適用できる)。
  • 各パーツのアニメーションタイプとパーツ名の編集ができる。
  • モデルの拡大縮小ができる。
  • アニメーション位置キーを全削除できる。
  • アニメーション位置キーを拡大縮小できる。
  • アニメーションの長さの2倍化機能を仮に実装。
  • 間接のシームレスな接合機能(スキン処理)の簡易実装。
  • モデルの姿勢を基本姿勢に戻せる。
  • 最初のキーのインデックスが0になるよう、すべてのキーを移動する機能の実装。

Version.0.55 -> Version.0.6

  • このバージョンは非公開。

追加機能

  • 必要のないレンダリングはしない(CPU占有率が常に100%でなくなった)。
  • セーブするアニメーションの時間の上限が広くなった。
  • マウスのドラッグ操作が、ウインドウ(クライアントウインドウ)内でしか出来なかったのが、ドラッグ中はウインドウ外でもできるようになった。

バグ修正

  • スライダーの操作がアニメーションに反映されないのを修正。

Version.0.5 -> Version.0.55

追加機能

  • SHIFT + 右ドラッグで、画面(カメラのターゲット)を上下左右に平行移動できる(以前は上下のみだった)。
  • CTRL + 右ドラッグで、カメラの前後移動によるズームイン・ズームアウトができる(一応、これで、ロードしたパーツが大きすぎても画面に収めることが出来るようになった――でも、地面はそのまま)。
  • テンキーの 2、8、4、6、5、0 が、それぞれ Flont、Back、Left、Right、Top、Bottom のカメラビューへのショートカットになる。
  • Viewメニューに「ZBuffer」が加わり、ここで On/Off を選択することでZバッファを有効/無効にできる。

バグ修正

  • アニメーションのないXファイルをロードし、セーブしたときに正常に保存されないバグを修正。

Version.0.5

  • プロトタイプ初公開。

未対応部分/注意点

  • Undo機能がありません。
  • プログレッシブメッシュのXファイルの読みこみは、未対応です。
  • 複数フレームを持つXファイルは、全体の親フレーム(1つ)の中に、他の子フレームが入っていなければなりません(そのうち改善します)。
  • アニメーションの現在の時間を示すスライダー部分の操作は、最低限度しか実装されていません。
  • 親子関係設定モードは一応ありますが、個人的に使う予定がなかったので、まともに使えるものではありません。
  • コピー&ペースト関係の機能が最低限度しかありません。
  • その他、あまりテストしていないので気をつけてご使用ください……。