ボーンセットと複数オブジェクトのスキニングについて

※下記の仕様はVer.1.3.0.5で改良され、スキニングするオブジェクトは、個々のボーンの参照を保持するようになりました。よって、「ルートのボーン」は選択の起点という意味でしかなくなりました。

以前、「松井めし画術」さんのBBSで質問されたのですが、現状のToyStudioでは、別個のオブジェクトを1つのボーンセットでスキニングさせる際に、「スムーズ スキニング」コマンドで指定するルートボーンを同一にする必要があります。

例えば、以下のように「キャラクター」と「箱」を同一のボーンセットでスキニングするには、

「スムーズ スキニング」コマンドでのルートのボーンが、「キャラクター」と「箱」とで同じである必要があります。

つまり以下のように、「箱」についての「スムーズ スキニング」で、ルートのボーンは「キャラクター」の場合と同じく「Hips」である必要があります。「Hips」のウェイト自体はOFFでもかまいません。

これは、スキニング対象のオブジェクトがデータ上、ルートのボーンを基準にしてスキニングを行っているからです。ただし、この仕様だとオペレーションがわかりにくいと思うので、次のアップデートで改良する予定です。

ToyStudio1.3.0.4をアップ

ToyStudio1.3.0.4をアップしました。
オブジェクトのプロパティーに「回転を球面線形補間」チェックを追加しました。これがONの場合、アニメーションにおけるキーフレームの「回転」の補間において、「X、Y、Z」のオイラー角の補間ではなく、姿勢ベクトルの球面線形補間を利用します。
このため、モーション キャプチャーのデータのようなオイラー角が不連続なアニメーション データを、サンプリング レート以外のレートで表示/出力する場合、各関節の角度が乱れることがなくなりました。
ボーンを構成する「Joint」タイプのオブジェクトでは、このチェックをデフォルトでONにしています。

また、3D機能のないビデオカードについても、ToyStudioをリファレンス モードで起動できるようにしました。
その他の更新内容については、バージョンアップ履歴を参照してください。

「トピックス」を追加しました。

当サイトのメインメニューに「トピックス」を追加しました。トピックスでは、チュートリアルよりも簡潔でワンポイント的な情報をあつかって行きたいと思います。
最初のトピックとして、「1 サウンドファイルの扱い」をアップしました。

ToyStudio1.3.0.3をアップ

ToyStudio1.3.0.3をアップしました。既存のキャラクター モデルのボーンに対して、外部ファイルのアニメーションをインポートできるようになりました。複数のBVHファイルのモーションを単一のボーンセットに対して適用できますので、Xファイルのマルチ アニメーションなどについても、簡単に作成できるようになりました。

「アニメーションのインポート」ダイアログで、対応するボーンの部位を指定します。

この機能のチュートリアルとして、「2-9 アニメーションのインポート」を追加しました。

Get the Flash Player to see this player.

その他の更新内容については、バージョンアップ履歴を参照してください。

ToyStudio1.3.0.2をアップ

AVI、Wave、連番ビットマップ出力機能等を付加したToyStudio1.3.0.2をアップしました。
「ファイル」メニューの「エクスポート」でAVIファイルの出力ができるようになりました。

同様にWaveファイルの出力も行えるようになりましたので、手軽に動画ファイルを作成できるようになりました。当サイトでもチュートリアルや記事に積極的に埋め込み動画を利用していきます。

その他の更新内容については、バージョンアップ履歴を参照してください。

  • 簡単な動画の作成手順としては、非圧縮AVIファイルを出力した後、3Dウィンドウの視点は動かさずにWaveファイルを出力します。すると3D ウィンドウの表示内容に一致した3Dサウンドが出力されます。
  • 次にAVI Maker(フリー)などを使って非圧縮AVIとWaveを結合します。
  • 後は、適当なエンコーダ ソフトを使って圧縮するだけです。
    「wmv」ファイルにする場合は、Windows Media エンコーダ(フリー)を使用します。
    YouTubeやニコニコ動画でのネイティブ形式である「flv」ファイルにする方法は、ニコニコ動画まとめWikiのエンコード設定のページに詳しく解説されています。ピエールもMEncoder用のバッチファイルにAVIファイルをドラッグしてflvファイルを作成しました。
  • flvファイルをホームページに埋め込むには、JW Flv Playerが便利です。当サイトのようなCMSのブログに貼り付ける場合は、プラグインを利用すれば1行のコードでOKです。

サウンド関連のチュートリアルを追加しました。

基本的なオブジェクトとサウンドのアニメーションのチュートリアルとして、
1-1 オブジェクトのアニメーション」、「1-2 サウンドのアニメーション」を追加しました。この中では、以下のようなBGMと3Dサウンド付きの飛行機の離陸アニメーションのサンプルを作成しています。

Get the Flash Player to see this player.

キャラクターアニメーションにサウンドを付加するためのチュートリアルとして、
2-8 サウンド アニメーションの追加」を追加しました。この中では、以下のようなBGMと3Dヴォイスを付加したキャラクター アニメーションのサンプルを作成しています。

Get the Flash Player to see this player.

ToyStudio1.3.0.1をアップ

ToyStudio1.3.0.1をアップしました。

サウンド機能が実装されたため、メインウィンドウの左下に「サウンド パネル」が表示されるようになりました。
左のタブにある「サウンド リスト」にはシーン全体で利用する「.wav」、「.ogg」、「.mid」等のサウンドファイルを読み込みます。

右のタブにある「サウンド チャンネル リスト」は、アニメーションごとに存在します。個々のサウンド チャンネルには、サウンドとオブジェクトを指定します。指定されたオブジェクトの位置を音源として、3Dサウンドがシミュレートされます。

アニメーション キーのタイプとして、「再生」、「ボリューム」が追加されました。サウンド チャンネルに対してこれらのアニメーション キーをセットすることで、サウンドの再生/停止、ボリュームのアニメーションが可能です。

その他の更新内容については、バージョンアップ履歴を参照してください。

ToyStudio Ver.1.3について

サウンド機能を実装したToyStudio Ver.1.3が一通り完成し、ただ今関連チュートリアルを作成しているところです。
今回は、ボーン アニメーションよりも基礎的な手法である、オブジェクトの移動や回転を用いたアニメーションのチュートリアルも追加します。チュートリアルが出来次第、実行ファイルとともにアップロードしますので少々お待ちください。

当初、サウンド機能はDirectMusicを利用した高水準の実装で行こうと思っていたのですが、

↓Wave再生のパフォーマンスアップのためにはDirectSoundを利用したほうが良い。
↓せっかくなら、高音質でサイズの大きなサウンドにも対応するため、OggVorbis(.ogg)のデコーディング再生もほしい。

というように掘り下げて作業範囲を拡大して行ったため、結局メジャーアップデートとなりました。ホームページを更新していませんでしたが、その分開発にかかりきりで、ハードに作業していました。

ロボキャッチャー

UFOキャッチャーのロボット版、「ロボキャッチャー」が11月下旬あたりから、ゲーセンなどに登場するようです。既存の人気アミューズメント マシンのアレンジである点が、マーケティング的にも優れたアイデアだと思います。

↓ロケテストの様子

ロボットは製造業分野では大規模に利用されているのに対して、アミューズメントやコンシューマー分野においては浸透が難しかったのですが、とうとう、ロボキャッチャーが先鞭をつけることになるかも知れません。
こういったマシンがヒットし大量に生産されるようになれば、部品のモジュール化やコストの低下などの大きな副次効果が生まれ、アミューズメント ロボットの市場が形成されて行くと思われます。
将来的には、人間型ロボットを利用した格闘ゲームや射撃ゲームなども出現するでしょうし、映画「ウエスト ワールド」のような、人間型ロボットを使ったテーマパークも期待できます。日本でやるなら、「戦国ワールド」、「忍者ワールド」などでしょうか。

↓「ウエスト ワールド」