ソフトのアンドゥー機能

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

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

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

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

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

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