PlayStation Suite SDKのインストール

PlayStation Suite SDK ベータ版のテスト参加に申し込んでいたのですが、先週末に案内のメールが届きました。メールのタイトルがほとんど英語だったので、もう少しで迷惑メールだと思い込んで削除するところでした。
私の環境はWindows VistaなのでSDKのサポート外なのですが、インストール自体はできました。しかし、UI用の開発ツールは起動するものの、メインの開発ツールが起動できませんでした。(^~^)
これを機に、開発環境をWindows VistaとWindows 7のデュアル ブートにして再度インストールしてみたいと思います。

SONYはPlayStation Suiteに本気のようです。

下記の記事によると、SONYはPlayStation Vitaに使用されている自社製OSを携帯ゲーム機以外でも使用するようです。

これには、OSを自社デバイス用に最適化することでデバイスの性能を向上させるという意味と、独自のソフトウェア プラットフォームの確立と言う意味があります。

前者は主に社内での取り組みということになりますが、後者はソフトウェアのエコシステムをSONYが中心になって構築する必要があり、それを担うのがPlayStation Suiteという位置づけになっています。

つまり、PlayStation Suiteの成否はSONYの社運を左右するほど重要になってきているようです。

【本田雅一のAVTrends】ユニークで、好奇心を刺激するソニーへ -AV Watch
【本田雅一のAVTrends】ソニーのモバイル戦略に“Vita OS”を組み込む理由 -AV Watch

SDKのドキュメントを制作中です。

現在、ToyStudioのプラグインSDKのドキュメントを制作中です。

ソフトウェア ライブラリのドキュメント制作には膨大な手間がかかる場合が多く、何らかの自動化ツールを利用しないと、バージョンアップやバグフィックスに際してのメインテナンスが困難になります。

ピエールは今回、Doxygenというドキュメント制作ツールを使っています。以前少しだけ使ってみたことがあるのですが、今回は色々と実験しながら使い込んでいます。

ドキュメントに独自のHTMLページを追加することができ、自動生成されたページとのリンクも可能で、非常によくできたツールです。ソフトウェアの世界では、優れたツールを利用することで何十人分の仕事が一人で出来てしまうことがたびたびあります。Doxygenはまさにその典型と言える優秀なツールだと思います。

ロボットの世紀はソフトウェアの世紀

21世紀はロボットの世紀になると思います。単一の用途で使用される専用ロボットではなく、ソフトウェアの追加次第で多用途をこなせる汎用ロボットが社会で利用されることになると思います。
最も重要になるのは、メカトロニクス/ハードウェア技術ではなく、AI/ソフトウェア技術だと思います。今後のロボット技術の発展には、AI関連ソフトウェアのブレイクスルーが不可欠であるという現実がまずあります。そして、汎用的な用途に耐えるようなロボット本体が実用化できたとして、そこで必要になるのはロボットが作業を行うための膨大な動作プログラム群であるからです。農業用汎用ロボットであれば、田植えプログラム、耕しプログラム、稲刈りプログラム、草むしりプログラムといったところでしょうか。
また、汎用ロボットを標準化/プラットフォーム化することで、その動作プログラムの開発やテストはより効率的に行えるようになると思われます。つまり、ロボットの世紀は実質的にはソフトウェアの世紀となるかもしれません。
安川電機のSmartPalⅤの形態は、現時点で家庭内作業用として最も合理的だと思います。

項目ごとに展開可能なウィンドウ

ToyStudioの「オブジェクト ウィンドウ」では、今作成中の「IKハンドル」など、扱うオブジェクトのタイプが増えてきたため、設定項目も多くなってきました。そこで、次のバージョンからは、以下のように項目ごとに展開可能なウィンドウに変更になります。これは、汎用的なGUI部品として作成したので、他のウィンドウにも利用できそうです。

CMSは面白い。

このサイトはWordPressで作っているのですが、このようなCMS(コンテンツ・マネッジメント・システム)はとても出来がよくて、使っていて面白いです。

データ本体はMySQLデータベースに持ち、それを操作するためのGUIはPHP言語で構築という組み合わせは、必要十分でバランスがとてもいいと思います。PHP言語はC言語に似ていて平易であり、MySQLにはphpMyAdminという便利な操作ツールがあります。今後もこの組み合わせから優れたCMSが続々と生まれてくることと思います。

今Web関係のプログラムをやるなら、「MySQL+PHP言語」でCMSを作るのが一番おもしろいのではないかと思います。CMSは元々ネット系技術でありながら、今後はパソコンのパッケージソフトと同じような存在になってくるのではないかと思います。

XOOPSなどの大規模なCMSで少し心配されるのは、ブログや掲示板などの個別のモジュールが趣味の開発者によって作成されていて、サポートやメンテが突如終了し、データの移行もままならなくなる場合があることです。WindowsにおけるWord/Excelのような、サポートが明確な「標準」アプリケーションの充実が望まれます。

カメラ機能を作成中です。

現在、カメラ機能を作成しています。
ToyStudioではカメラは通常のオブジェクトと同様に、オブジェクト ツリー内に位置します。3D ウィンドウ上で位置や回転を操作したり、カメラ ウィンドウ上でマウス ドラッグして視野を操作出来るようにしています。
他のバグフィックス等がなければ、次のバージョン アップで組み込める予定です。

プログラミング面では、既存のデータ/ビュー構造との整合性や、GUIをからめたメッセージ処理などを中心にした作業となっています。
ファイルのインポート/エクスポート用SDKについては、実装の大半は終わっているのですが、カメラ機能などの追加後に調整が必要になってきますので、リリースはもう少し後の予定です。

(↓高尾山の紅葉)

3D思考ツール

写真の物体は、3Dのソフトを作るための思考ツールです。これは、

ほぼ日刊イトイ新聞で購入したグッズについてきた不思議な四色の立方体を、3軸方向に貼り合わせたものです。オイラー角の変換順序などを考えるときに重宝しています。

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倍以上になると思われます。

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