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

基本的なオブジェクトとサウンドのアニメーションのチュートリアルとして、
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)のデコーディング再生もほしい。

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

ソフトのアンドゥー機能

ToyStudioのような編集機能を有するソフトの場合、「元に戻す/やり直し」、つまりアンドゥー機能があると、ユーザーはとても便利です。しかしこの機能は、実現するのに多大な労力を要します。例えば、ToyStudioにサウンド機能を付加するには、以下のような関連機能を追加する必要があります。

  1. サウンド再生機能(DirectX系)
  2. サウンド属性編集機能(編集系)
  3. サウンドリスト編集機能(編集系)
  4. ステップ(ON/OFF)型のアニメーショングラフ追加(数値処理系)
  5. ステップ型アニメーショングラフの編集機能(編集系)
  6. サウンド位置設定用にヌル(NULL)オブジェクト追加機能(CG系)
  7. ヌルオブジェクトの編集機能(編集系)
  8. アプリケーションGUI(GUI系)

この中で、「編集系」となっている機能はアンドゥー機能が必要になります。結局のところ、全体の工数の80%程度がアンドゥー機能の実装に必要となります。

また、アンドゥーは多重化している場合があります。ToyStudioのようなモデラー/アニメーターの場合、幾何データをアニメーションデータが参照しています。幾何データが削除されると、それを参照しているアニメーションデータも削除され、アンドゥーされると、アニメーションデータも復元されることになります。ボーンがからんでくると、さらに複雑になります。

一般的に、編集ソフトがアンドゥー機能に対応すると、開発工数は5倍以上になると思われます。

(↓ちゅら海水族館の大水槽)

サウンド機能を制作中です。

現在、ToyStudioのサウンド機能を制作しています。この機能ができると、MIDIやWaveをBGMや3Dサウンドとしてアニメーションに組み込むことができます。
車がエンジンをふかしながらやってきたり、戦闘機が轟音とともに飛び立ったり、キャラクターが動きにあわせてしゃべったりできるようになります。これはこのソフトの方向性を決定付ける機能になるかも知れません。Webにはすでに様々なサウンド素材がふんだんにあり、ToyStudio上でリアルタイムCGと組み合わせることで、面白い作品が作れそうな気がします。

その次の段階としては、オブジェクトのマウスクリックへの応答を予定しています。こうなると、ライブ・コンテンツとでも言いましょうか、ライブ・びっくり箱とか、ライブ・日本庭園とか、ライブ・デジタルフィギュアとかも作れるようになります。

3DゲームではリアルタイムCGやサウンドをゲームごとのセットとして提供していますが、ToyStudioではそれらを汎用化したコポーネントとして楽しめるようにしたいと思っています。

ToyStudio1.2.0.3をアップ

ToyStudio1.2.0.3をアップしました。
オブジェクト パネルでオブジェクトをドラッグして移動するとき、「子にする」か「挿入」するかを「ダイアログ」ではなく、「ポップアップメニュー」で選択するように変更しました。

「ボーンのウェイトをセット」ダイアログに「チェックされたボーンのみを算出」チェックを追加しました。これによって、チェックされたボーンのみについてウェイトを算出するか、チェックされてないボーンについてはウェイトを0にするかの選択ができるようになりました。

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

ToyStudio1.2.0.2をアップ

ToyStudio1.2.0.2をアップしました。以下のダイアログの改良や、一部のウィンドウについてF1キーで個別のヘルプ項目にジャンプしなかった不具合の修正などを行いました。

スムーズ スキニング ダイアログ

前回の更新内容に加え、「全てをチェック」、「全てを解除」ボタンを追加、ダイアログのリサイズおよびサイズの保持、前回のチェック内容の保持に対応しました。

アニメーション ウィンドウ

該当アニメーション全体の「最初のフレーム」、「最後のフレーム」が表示されるように改良しました。

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

ToyStudio1.2.0.1をアップ

ToyStudio1.2.0.1をアップしました。今回のバージョン アップでは、主に「オブジェクト」メニューのボーンのウェイト設定関連機能を更新しました。

「スムーズ スキニング」コマンドの更新

「スムーズ スキニング」コマンドで、ボーンの距離についての減衰率に加え、ウェイトをセットするボーンの選択や、頂点あたりのボーン数を設定できるようになりました。「リジッド スキニング」コマンドは、このコマンドで頂点のボーン数を1にした場合と動作が同じになるので、廃止しました。

「ボーンのウェイトをセット」コマンドの追加

スキニング済みのオブジェクトに対して、各ボーン要素のウェイトを「スムーズ スキニング」と同じ手法で再設定できるようになりました。これによって、ボーンを後から追加した際のウェイト設定が楽になりました。具体例としては、チュートリアルの「その他」→「追加ボーンのウェイト設定」を参照してください。

「ボーンのウェイトを削除」コマンドの追加

指定したボーンのウェイトを一括して削除できるようになりました。

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