Flashはもう使わない。 - イマドキの開発環境その2

そんな時代になりつつあります。 アイザワには AS3になったときから、Flashは面倒なツールになってしまったので、 飽きていたのですが。一般的にも Flash離れが加速しているようです。

以前 HTML5 vs Flash みたいな記事が流行っていましたが、 モバイル分野では HTML5に勝敗があがったみたいですし、 デスクトップの方でも、そんな流れでいいのでは。

ユーザ視点で考えれば、不要なFlashはすぐにやめるべきですが、 開発者側の事情もあるので、まだまだ Flashは現役のツールであるのでしょう。

書き出すと長くなるので、それはまたの機会にしますが、 「開発環境」として Flashを使うのではなく、 「軽量なベクターアニメーション」として Flashを選択することで、 みんなが幸せになれると良いね。

 

イマドキの開発環境

アイザワが最近よく使う開発環境を紹介します。プログラム初心者の段階では、Directorのみでしたが。さすがに、数年も物作りをしていると Directorだけでは完結できないことも多々あります。

 

Adobe Director の今後

自称Lingoレベル99のアイザワです。

Directorフォーラムや 2chなど全くチェックしていないので、ユーザのみなさんがどう考えているのかは分かりませんが。個人的には Directorはもはや終わりかけ製品だと考えます。息を吹き返す可能性があるとすれば、、、、可能性はないか。いや、スマートフォン向けのパブリッシュや、今時の 3Dエンジンがつけば踏ん張れるかな。。。

 

awaOSUtil Xtra 090307

あちらでは、Adobe Director11.5の販売が噂されていますね。 こちらはぼちぼちと Xtra開発を進めてます。本日は、awaOSUtil Xtraを更新。 相変わらず、日本ユーザからの反応は乏しい限りですが。。とは言っても自分が必要な限り、開発は続けていくのです。 未公開のXtraもたまってきているので、頃合いを見てまた公開しようと思います。

 

Shockwaveの画像をダウンロードする

save Shockwave Image

save Shockwave Image

Shockwaveから、画像をjpegエンコードし、ダウンロードするデモ。Shockwave単体では、ダウンロードダイアログを開くことが出来ません。特定の保護されたディレクトリにしかダウンロードできない仕様です。が、サーバサイドスクリプトを併用することで、ダウンロードダイアログを開き、任意の場所に保存することが可能になります。マルチパートでデータをサーバに送信しアップロード、アップロード先のファイルをストリームで返すことでダウンロードダイアログを開く。といった手順になります。

 

Shockwaveから、画像をJpegでPOSTする。

post CGI Data-Form

Post From Shockwave

Shockwaveから、画像をjpegエンコードし、CGIのフォームからアップロードするデモ。valentinの JpegEncodeとHTTPとBase64コードを組み合わせ、perlのサーバサイドで実現。xtra無しだからかなり使えるテクニックです。このサンプルは掲示板風に処理してるけど、応用すればShockaveからダウンロードダイアログを開いてローカルに保存させることもできるでしょう。

 

Director 11

シカゴで開催された"Adobe MAX 2007"の"Director 11 Sneak Preview"で発表された「Director 11」について。主なリソースはこちら。Director11は年内に発売予定です。日本ではどうか知りません。

「Director 11」の目玉

  • Unicode
  • Flash Player 9 / Actionscript 3
  • Mac Intel/ Vista
  • DirectX9

その他の変更点

  • CS3ライクなインタフェース
  • 新しいスクリプトブラウザ(階層構造を表示)
  • 9つの新しいビットマップフィルタ
  • multiuser xtraのバグ修正

Director 12、13について

Director 11は、劇的なバージョンアップはなかった。地味ながらも必須の機能が追加されたのみ。Adobeの開発体制に変わってからの初リリース。次回も期待しよう。開発陣によると、Director 12は開発に着手、Director13についてはこれから協議するとのこと。物理エンジン Havokの新バージョンに期待が高まる。

 

次世代っぽく SOLA 5.1

SOLAパレット

SOLA 5.1.0.2

更新が滞るときは、業務が詰まっているか、夢中になりすぎているかのどちらかなんですが。今回は後者で、ようやく一段落ついて、SOLA 5.1を公開。小バージョンアップですが、気持ち的にはかなり上がった気分。今回はインタフェースの大幅な改良と、ようやく 3Dデータが全て編集可能になった。今まではインタフェースの作成が足枷になってなかなか進まなかった作業も、じゃんじゃん進むようになって快調。で、画像が新インタフェースのパレット。次世代ライクな仕様にした。

これ、Flashで組んだ。今まではOS標準GUIで作ってたけど、WEBで利用しづらかったし、意外と融通聞かないし、WinとMacで違うし、開発に時間掛かるしと問題が多かった。 だったら、Flash使おうかということだが、一昔前だったらやっぱり苦労するわけで。でも今は使えるツール、選択肢が増えてきたね。巷で言うWEB2.0時代の恩恵というか、Flashをフロントエンドに持ってきたWEBアプリケーションが増えたおかげ。 で、アイザワもそういう開発をしてみようと。やっぱりスゴク便利ね、Flashって。開発環境が変わっても、何でもフロントエンドに Flashもってこいみたいな勢いで、そう思う。 ま、レスポンスは下がることはあっても上がることもないが。。。。

 

Shockwave 10.2.0.021 Vistaに対応?

Adobe Shockwave Player

Windows版 Shockwave Playerのバージョンが上がったよう。Shockwave 10.2.0.021となってる。ただ今のところ、何のアナウンスもなし(のようだ)。で、関係者の話によると近日中に Windows Vista対応を、とのことだったので、もしかすると Vistaのレンダラー問題が解決したのかも。だとしたら、意外と有言実行。この分だと、Intel Mac対応や新バージョンのDirectorにも期待できるかも知れない。

年齢確認なども無くなって、スマートになったよう。一時は Yahoo!ツールバーの件だったりでイヤな時期もあったけど。

 

MUI Xtra 使用上の注意点

Director Lingo

MUI Xtraを使用する際の注意点。Macで使用する場合、コンポーネントはOSX仕様で見栄えは良いのですが、表示に関する問題が多いのが残念です。Windowsの場合は、目立つ問題はありませんが、#editTextコンポーネントを #itemchangedイベント内で ItemUpdateした際、無限ループする可能性があります。(実際には 15回目程度で Xtraが停止させるようですが。)

Mac OSX

  • window.modeが #pixel以外の場合、ItemUpdateを行うと致命的な表示バグ。
  • #editTextコンポーネントの表示サイズが、3ピクセルオフセットされる。
  • モーダルウインドウの場合、closeBoxは表示されない。
  • closeBoxボタンを押しても、機能しない。
  • #editTextコンポーネントを ItemUpdateした際、フォーカスイベントが発生。
  • TABで #editTextコンポーネント間を移動可能。
  • #editText以外のコンポーネントではフォーカスイベントが発生しない。
  • #editTextでは日本語入力ができない。

Windows

  • 非モーダルウインドウの場合、ウインドウを閉じても #windowclosedが発生しない。
  • 非モーダルウインドウの場合、ウインドウがアクティブになった際に #itementeringfocusが発生。
  • #editTextコンポーネントを ItemUpdateした際、#itemchangedイベントが発生。

MUIダイアログを作成する際に便利なツールに、muiguiやMUIComposerなどがあります。しかし、アイザワが一番お奨めするのは Xcodeに付属する Interface Builder、Visual C++などの Windowsフォームなどです。各OSのデザインガイドラインに沿ったダイアログがキレイ、簡単に作成できます。(直接 Lingoコードを書き出すわけではないですが)

 

ウインドウオブジェクトからアクセスする場合の落とし穴

Director Lingo

Director MX 2004以降、ウインドウクラスのオブジェクトからアクセス(_player.window[1].movie...)できるようになりました。これにより、他のムービー自体のメソッドやプロパティにも、現在のムービーからアクセスできます。従来、ムービー内部のアクセスは、そのムービー自身からしか行えませんでした。そのため、tellコマンドというやや特殊な仕様がありました。しかし、ウインドウオブジェクトやムービーオブジェクトにより、より簡単にムービーを扱えるようになりました。ですが、簡単なことには落とし穴があります。

 

ライトがフレームレートに与える影響 - FPS with Light

FPS with Light

FPS with Light

ライトがフレームレートにどれほど影響するかというFPSテスト。想像以上にライトが足枷になるのが体感できるかも。『シーンにライトがあると、リアルタイムに頂点ひとつひとつにライトの色が加算される』。この単純な理屈を理解すれば、負荷が高くなるための単純な結論が出る。(じゃないのかな。。)

  • ライトの数が多ければ多いほど。
  • 頂点が多ければ多いほど。
  • #ambient < #directional < #point < #spot

極論は、ライトが無くても 3Dシーンは成立する。現実世界では光源があって、モノに反射して色が見えるわけだけど、(だから光源がないと真っ暗)、CGの世界では違う。マテリアル自体に明るさを持たせたり、頂点自体に色を持たせたり、テクスチャに焼き付けたり。光源が無くても、色を出す(表示させる)方法は幾つかある。ということで、リアルタイム系CGでは負荷の掛かるライトはそれほど使わない。あらかじめ照明効果を何らかの方法で持たせておいて、リアルタイムではライトの計算をなるべくさせないのが一般的。とはいえ、陰付けのための手っ取り早い方法としてライトはとてもラク。現実世界の光源のあるところにライトを配置する感覚ではなく、どのように陰を付けるのかを意識すると、必要最小限のライトで済みます。

今回の FPSテストでも、ログをとってあります。

 

InspectableList が働かない。 - Flash ActionScript

Flash actionscript

Flashコンポーネントのメタタグで InspectableListが働かない。調べたけど日本語の情報を見つけられなかったのでメモ。

拡張したコンポーネントで継承したパラメータをプロパティインスペクタに表示するには [InspectableList()]タグを使うのだけど、どうも表示されない。自身のプロパティは InspectableListにあるなしに関わらず表示される。どうやら、InspectableListが機能していないよう。で、検索すると「“import” is required for component meta-data」に情報があり。古い内容みたいなので、もしかすると最新版の Flashだと問題ないのかも。。

スーパークラスを importで読み込んでおく必要があるよう。さらに付け加えると、拡張する際に完全修飾名(mx.controls...)を使うと駄目なのね。単純にクラス名にする必要があるっぽい。

 

オブジェクトソート - リアルタイム系の3Dデザイナーのためのロジック

オブジェクトソート

3D空間を描画する仕組みについてのお話。一般的な リアルタイム3D描画プログラム(3Dエンジン)は、Zバッファ法という手法で、レンダリングを行う。その対に Zソート法があったり、Zバッファを使った描画方法の仕組みそのものは、本題ではないので省略するが。(機会があれば、そのうち。)カメラから見た深度情報に従って該当するピクセルを塗りつぶしていく Zバッファ法が苦手とするのが、半透明(やアルファ抜き)なオブジェクトの描画だ。とにかく一番手前にあるポリゴンのピクセルを塗りつぶすのだから、2番目に手前にあるポリゴンは考慮しない。つまりは、手前にあるのが半透明ならば、奥にあるのはどう描画するの?ということになる。

と、前置きはこの程度にして。半透明やアルファ抜きされたポリゴンを描画するためには、Zバッファとは違ったプログラムが必要となる。ソレが、アルファテストであったり、今回の本題オブジェクトソート。ともかく、本当に正確に半透明やアルファ抜きをリアルタイム描画するには、PCに負荷が掛かり描画速度が遅くなる。ピクセル単位、ポリゴン単位で、どの面が手前でどの面が奥でという風に前後関係を計算(ソート)する必要があるから。で、プログラマとしては半透明は使って欲しくないのだけれど、見栄え上どうしても必要だということで、まぁ正確ではないけど動作速度上影響も少ないオブジェクト単位でソートするのが落ち着きどころ。Shockwave3Dでもそう。

で、オブジェクトソートって何?という本題。何も知らずに半透明をガンガン使うと思いもせぬ悲惨なものになる恐れがある。だからこそ、デザイナーは半透明を積極的に使えるように描画のロジックを知っておく必要がある。

 

Shockwave3D FPS DataBase

FPS TEST

Shockwave3D FPS DataBase

FPS TESTで得た情報を公開します。まだまだサンプル数は少ないけど、今後もリアルタイムに更新されていきます。

 

Shockwave3D FPS TEST

FPS TEST

Shockwave3D FPS TEST

FPS。今回は、一人称視点ゲームの略ではなく、1秒当たりどの程度のフレームが描画できるかの方。3Dゲームやパソコンのベンチマークの際に良く出てくる言葉。3Dゲームを再生する際に、カクカクしてコマ送りのようだとフレームレートが低いなど言う。動画でもフレームレートという言葉はよく出現する。ともかく、フレームレートが高いほどスムーズに表示でき、低いほどコマ落ちした表示となるのが一般的な認識。と、前置きはこの程度にして。3Dでいうところの FPSはほとんどグラフィックボード次第。制作者はどの程度の環境でどの位のFPSなのかを想定して、3Dゲームなんかを作ってるわけだけど。パソコンで再生するゲーム(VR)の場合、その環境は千差万別。とにかく、品質と動作環境のバランスが大切。

そのあたりを、制作者側にもクライアントにももっと理解を深めて欲しいと思って、今回のデモ(FPS TEST) 。FPSを表示するだけなんだけど、実に奥が深い。スムーズに描画できるのは何ポリゴンまでなのかという単純なところから、テクスチャが使用するメモリがいつVRAMからはみ出したかというマニアックなところまで。各種条件を変更すると何FPSになるのか、只それだけのことだけど、パラメータを変更したときに意外な挙動の発見があるかもしれない。

このデモは、Ben 'Robotduck' Pittのデモソースを改編してオーサリングした。アイザワのソースは fps.dirをダウンロード。ちなみに今回のデモはログを集めてるので、機会を見て公開するつもり。

 

Adobe Shockwave 10.1.4.20 アップデート

adobe shockwave 10.1.4.20

Get Adobe Shockwave 10.1.4.20

先月、地味に Sockwave Playerが更新されてた。アナウンスはされていないが、 Flash関係と幾つか画像周りの BugFixらしい。Adobeの冠がついても 使われるローカルフォルダなども昔からの Macromediaのままなので、エンジニアが特に気にするアップデートでもなさそう。デフォルトのローダーが Adobeに変わってるくらいかな。

ユーザには嬉しい話が。Yahoo!ツールバーはいつの間にか無くなってる。インストーラもシンプルになって感じがよい。プラグインの敷居がウンと下がった気がする。。インストール後に年齢認証とメールアドレス聞いてくるのは健在だけど。このダイアログもいつかは無くして欲しい。

 

Lingo版 atan2()で象限を判定

Director Lingo

atan()関数のドキュメントに記載されていない情報。アークタンジェント(逆正接)を求める関数 atan()には引数をふたつ与えることができる。すると、他言語でいう atan2()関数と同様の働きをする。atan(y/x)の面倒なところは、Director TechNoteにも書かれてあるが、「逆関数 atan の値は、X座標が正の場合の -90度から 90度の値にするという制約」があるところ。その点、atan(y,x)では X軸から座標(x,y)までのラジアン単位の角度を返してくれるので、象限を判定したいときに便利。ちなみに、JavaScriptシンタックス や ActionScriptには Math.atan2()があるけど。

 

Flashスプライトの最大ピクセル数。 - Flash Asset Xtra

Flash Asset Xtra

Flash Max Rect Test

Flash Asset Xtraの最新版10.1.1.16だと、Flashスプライトの最大サイズが小さくなってるっぽい。以前は 8000*8000ピクセルは普通にレンダリングできたのだけど、今は半分の4000*4000ピクセル。そもそも、この限界サイズがXtraの制限のためか、それとも環境によるものかは知らない。8000ピクセルのときは、Flashから高解像度ビットマップ作成したりできたけど、4000ピクセルだとちょっと印刷用のビットマップ作りたいときに厳しい。普通のデスクトップ解像度だと、幅4000ピクセルとかはあり得ないけど、デュアルとか3台のディスプレイだと充分あり得るよね。やっぱり4000ピクセル以上は表示できないの?

Lingoオタクの方はこちらに、テスト用Shockwaveを用意したので確認できます。FlashスプライトのRectを変更して、スプライトをドラッグして4000ピクセルオーバーで切れていないか確認します。1万ピクセルオーバーだと、表示がおかしくもなります。アイザワの環境では。

 

sawtooth - のこぎり歯の現象

SW3D ATI bug

dirGames-Lで ATI社製のグラフィックカードでよく起こる、「sawtooth(のこぎり歯)」現象について議論があったので自分的まとめ。そもそも、以前書いたように 一部のATIではDirectXの depthBufferDepthが24でなく16しか使えないみたいなことがあるみたいだけど。 ともかくとして、現象は、どっちのポリゴンが前か後ろか分からないから適当に描画されて「のこぎり歯」になってしまう。
何でかというと

  • モデリングした時点でポリゴンがほぼ同位置に重なっている。
  • 表示深度が浅い(depthBufferDepth = 16)。

「重なる」というのが微妙な表現だけど、例えば 10m離れたポリゴン通しでも、数キロメートルのスケールで離れて見れば「重なってる」ということに。 で、回避策は

  • 表示深度を深くする(depthBufferDepth = 24)。
  • カメラの描画開始位置を深くする(hitherを20か40まで大きくする)。
  • ついでにカメラの描画終了位置も最低限に(yonを小さく)。
  • モデルの階層関係を変更する。
  • モデリングし直す。

カメラの hitherとyonで解決できるのは知らなかった。今度問題があれば試してみよう。それはそうと、最近「Dir3d-l」でShockwave3D語ってるのが盛り上がってる様子。 僕らみたいに、未だに日本で Shockwave3Dやってる人たちには期待させるような内容だね。ともかく次期バージョンで、新Shockwave3Dが登場することを期待してボチボチやっていこう。

 

Adobe Playerなるものはありますか?(希望)

get Adobe Player

いっそのこと、Adobe Playerでまとめてくれたら。PDFも Flashも Shockwaveもプラグイン云々がオーサリングする側としてはラクなんだけどなぁ。ユーザも幸せ。で、ついでにブラウザのツールバーよりも、QuickTimeとかバンドルしてくれるともっと嬉しい。で、いつの日か誰も普及率なんて気にしなくて良くなるとか。。。どこかにそんなうわさ話でてない? そもそも Flashは Shockwaveの一部機能として存在してる解釈もできるわけで、Adobe Readerに、Shockwaveエンジンを搭載させるだけで、Shockwaveコンテンツ付きのPDFも作れるみたいな。。。そしたら、Acrobat 3D以上のインタラクティブな3DコンテンツがPDFで観覧できるし。 せめて、フロントエンドだけの「Adobe Player」なるのを作って、現状の Flash、Shockwave、Adobe Readerのそれぞれに振り分けてくれるだけでも充分。

 

Adobeな Get Shockwaveバナー

Adobe Shockwave Player
Get Adobe Reader

Get Flash Player

Get Shockwave Player

いつの間にか、Get Shockwaveバナーが変わっていた。で、Adobeの冠がつくように。線が細いデザインであっさり過ぎ、あまり好きじゃないなぁ。フォントはイマドキに格好良くなった。多分、 Myriadっぽい。Adobeになって、デザインに使えるフォントの引き出しが増えたね。DirectorにもAdobeフォントがバンドルされるようになったら嬉しい。でも、バナーのデザインがイマイチ。「Adobe Reader」に無理矢理あわせたようなデザインで、窮屈すぎ。昔のバナーデザインはこちらに保管してる。

 

Rayの代わりに Locを使うための前置きデモ

Rayの代わりに Locを使うための前置きデモ

ModelsUnderLocを ModelsUnderRayの代わりに使えるという話の前置きデモ。Locも Rayも返値は同じ、内部的な処理もおそらく同じ。与える変数が違うだけで基本的には同じコマンド。だから、ModelsUnderLocの代わりに ModelsUnderRayが使えるし、その逆もありなのではないかと。Locの代わりとしての Rayにそれほどの恩恵は無いかもしれないけど、色々と処理がかさばる Rayの代わりに Locが使える。今回は、RayとLocが本当に同じ値を返すかのテスト。

 

Window.rectを変えられない。 - macプロジェクタ

ウインドウサイズ変更スクリプト

デュアルディスプレイでテストを行っているのだが、どうもMacプロジェクタでは横幅2000ピクセルサイズを超えたところではウインドウドラッガ?(サイズ変更できる右下の何て言うのだっけ。)が操作できない。数値入力でサイズはどんなにでも変えられるけど。そんな仕様でしたっけ。それとも固有の現象?それとも周知の事実? もし、Macお使いでデスクトップが横幅2000ピクセル以上ある Lingo好きな方はここにプロジェクタ置くのでお試し下さい。ちなみに、resizeWindow の挙動もWindowsと違うんだよね。Windowsでは、rect=でサイズ変えても呼ばれるのでMacでは無反応。

しかし、ウインドウズって四隅をドラッグしてウインドウサイズ変えられるでしょ。でもマックは右下でしかドラッグできない。昔からそうだったっけ? ただ、僕はマックでウインドウサイズ変えることってあんまり無いか。ウインドウサイズは大抵でっかいままで、エクスポゼ?とか、タブでアプリケーション切り替えるから。Windowsの時は、デスクトップが広いから、ウインドウをたくさん並べてイチイチ探さなくて良いようにしてる。んん、まさにウインドウズだね、マックの時は大抵ウインドウはひとつしか見えてないからすっきり落ち着く。

 

HTMLレンダラー - WebViewer Xtra

WebViewer Xtra

WebViewer Xtra

WebViewerというクロスプラットフォームなウェブブラウザ埋め込みXtra for Director。つい最近、遊ぼうと思って買ってみた。ホントは WebKitで作りたかったけど、Windowsの方が面倒な感じだったのであきらめる。で、このXtraでラクをしようと。このアクセス解析保存ツールで使ってみた。なかなか使える。Windowsでも Macでも開発ソースがひとつって言うのはやはり嬉しいなぁ。

 

バイナリを読み書きできる Xtra。

バイナリを読み書きできる Xtraは幾つかあるので、それぞれ使ってみたまとめ。基本的にはどれもできることは似通ってるので、コレじゃないとあれができないとか、そんなに不便な事は起こらないと思う。バイトを読み書きする単純作業だけだし。でも、比べてみると使い勝手や性能が結構違う。

  • Buddy File (Magic Modules / $US 60 / Windows, OSX and Mac Classic)
  • BinaryIO (updateStage / $149 / 32-bit Windows, Mac System 8--OSX)
  • BinFileIO (Laurent Cozic / $free / windows)

プラットフォームは、Buddy Fileと BinaryIOが Winと Macに対応しているのが嬉しい。Windowsのみのコンテンツであれば、BinFileIOも使える。Shockwaveにはどれも対応していない。

コマンドや使い勝手は、BinFileIOが非常にシンプルで分かりやすくて良い。コマンド数が少ないが、大体の機能は押さえてある。Buddy Fileと BinaryIOは、Cからそのまま引っ張ってきたようなコマンド。バイトの並び順や制限に関する細やかなコマンドも用意されている。Buddy Fileは浮動小数(IEEE 745)の読み書きができないのがかなりの欠点。

性能。基本的にファイルを読み書きするだけだけど、性能の差が激しい。例えば、2バイトの整数(Short)を読み込むコマンドを比較すると、200Kバイトを読み込むのに 「Buddy File:10ms, BinaryIO:20ms, BinFileIO:180ms」という結果。他の類似コマンドも同じ比率で速度差がある( 但し、BinaryIOのreadBytesはダントツ遅い)。

どれも一長一短だけれども、お奨めは Buddy File。浮動小数の読み書きができないのは致命的だが、Lingoでなんとかできる範囲。コーディングに自信がなければ、BinaryIO。ちょこっとだけバイナリの読み書きが必要であれば、BinFileIO。

 

指定したバージョン以上の Shockwaveを検知する Javascript

Shockwaveの再生が始まる前に、Shockwaveのバージョンを知りたい場合がある。例えば、Director MX2004 でパブリッシュした コンテンツは Shockwave Player 8.5では正しく再生されない可能性がある。再生する前に、アップデートを促したい。Directorの HTML書き出しテンプレートに「Shockwaveを検知」ってあるけど、あれはShokwaveがインストールされてるかどうかだけの判断で、大抵はバージョンを判定してどうするの?っていう方が汎用性がある。ということで、

 

Shockwave Playerのバージョンを JavaScriptから検知

JavaScript for Shockwave version

現在インストールされている Shockwave Playerのバージョンを JavaScriptから検知する。
あなたがお使いのバージョンは、 です。

 

Shockwave 10.1.1r16 アップデート

get shockwave player

Shockwave 10.1.1r16 アップデート

Shockwave Playerが新しくなってる(r11→r16)。Flash 8 Asset Xtraが使えるようになるみたい。Tom Higginsによると、Director用のアップデートは近日中に配布されるとのこと(QuickTime関係の話題もあるが、詳細はこちらで)。日本語のドキュメントがいつ公開されるかは知らないけど。Flash8か、、、でも 持ってないから関係ないか。。。たしかビデオとかブレンドとかが新機能だったね。DirectorとFlashスプライトの連携は年々便利になってきてるのは嬉しいけど、やっぱり新しい 3D Xtraが欲しい。新しいFlash Xtraでレスポンスが良くなるなら試してみようかな。そういえば、ヤフーがくっついてくるのは相変わらずらしい。

 

MUI Xtra - ダイアログを表示するXtra

Xtra icon

MUI Xtraは OSインターフェースのダイアログを表示するXtra。Windowsで使うと win95時代のインターフェースで古くさい。でも Mac OSXで使うとカッコ良いのだよね。Director MX2004になって ダイアログタイプのMIAWが使い易くなったとはいえ、ダイレクトにダイアログから返値を受け取れる MUI Xtraは便利。結構分かりやすくて使える Lingoインターフェースなんだけど、ドキュメントが少なく難しい印象だったので、今までは MUI-GUIを使ってた。でも、もっと MUI Xtraを使いこなしたくなったので、資料を検索。 MUI Xra自体は思ったよりもシンプルなインターフェースだったのね。MUI-GUIから掃き出されるスクリプトがごちゃごちゃしてるので、複雑なものかと思ってたけど。

 

MUI-GUI - MUI Xtra支援

MUIGUI

MUI-GUI

MUI Xtra支援ツールの中ではもっともメジャーで、ちょくちょくとバージョンアップも行われている MUI-GUI。その名の通り GUIで作成したダイアログを MUI Xtra用のスクリプトとして掃き出してくれる。アイザワも結構重宝してきた。掃き出されたスクリプトは、ばっちりMUIインターフェース仕様なので改変して使用するのはチョイと不便だけど、MUI Xtraに全く触れることなくさまざまなダイアログが簡単に作れてしまうのでラク。日本語も簡単に使えるし、初心者にはお勧め。すべての MUI Xtraの機能が MUI-GUIから利用できる分けではない。

 

MUI Maker - MUI Xtra支援

MUI maker

MUI maker

MUI MakerMUI Dialog Xtraを補助するアプリケーション。 グラフィックユーザインターフェースで視覚的にダイアログを作成。そして、そのダイアログを MUI Xtra用のスクリプトに掃き出してくれる。価格は $59.99。機能制限付きではあるが体験版が利用できる。でも、インストーラ付きなのが不快。あと、RavWare社のビジュアルが苦手。結構個性的でおもしろい Xtraが揃ってるんだけど。

 

MUI Composer Xtra - MUI Xtra支援

MUIComposer

MUI Composer Xtra

MUI Xtraを補助する、DXRタイプの MUI Composer。 もう何年も前の古いツールみたいだけど、今でもきちんと動作する(MUI Xtraが古いままなのでそれもそのはずだけど)。GUIによる視覚的なダイアログ作成はできないが、作成手順が Lingo的な流れそのままで、掃き出すスクリプトも非常にシンプルでプレーンな感じ、ちょっと古い文法だけど。掃き出したモノをテンプレートに修正を加えるなどのガイドライン的な使い方するときには役に立つ。MUI Xtraの機能をフルに活用したいなら、コレ。

 

ライトは8個まで。

ライトは8個まで

Light max 8

ライトは同時に最大8個まで、表示される。今更ですが。ライトがオーサリング時にはライトの色を黒にするとか、カメラに写らないノードの子にするとかすると、そのライトは使われなくなる。

 

Lightwave の W3のチュートリアル

Lightwave shockwave3D

LightWave 2 ShockWave Tutorials

Petter Sundnesによる、Lightwaveを使った Shockwave3Dのチュートリアル。書き出し時の注意点や、基本的な Directorのオーサリング方法が、ビデオで分かりやすく解説されてる。

 

LocalConnection - ShockwaveとFlashの連携

LocalConnection - ShockwaveとFlashの連携

LocalConnection

Shockwaveを外部と連携する方法を考える。Shockwaveの中に Flashをリンク、もしくは埋め込めるコトは知られたことだ。しかし、今回は外部で動いている Flashと連携させようと。Flash のヘルプや Webに検索。。。と、そこで Flashの LocalConnectionなる機能。別のウインドウで動いてる swf同士も、さらには別のブラウザで動いてる swf同士も通信出来るらしい。ビビビッときた。さては、Shockwaveで動いてる swfでも OKなんだろうと。要は同じメモリ上に存在するモノ同士は通信できるのか。で、結果は

 

W3D( +XML) ムービープレイヤー

ladder_swing

W3Dムービープレイヤー

ムービーエンジンを作った。以前構想してたモノ。いろんな W3Dエクスポータがあって出来ること出来ないことがあったので、W3Dにユーザ用のデータを埋め込まず、XMLで処理することにした。おお、なんかシンプルで良いアイデア。この W3Dファイルと、この XMLを再生するとこんな感じ。XMLでなにを拡張するかは今後次第だけど。最低限、カメラの切り替え、マウスの反応、クリックイベント、セリフ、BGM、SEとかそんな程度あれば、インタラクティブな Web3Dアニメーションが出来るかな。Directorでオーサリングしなくて良いのが尚◎。

 

imageSaveToFile in Shockwave - DirectImage

imageSaveToFile in Shockwave

imageSaveToFile ( object me, any FileName, integer Quality, integer StartFrame, integer EndFrame )

画像操作で便利なXtra DirectImage。Shockwaveでも使える Xtraで画像保存も出来る。の imageSaveToFileの使い方のデモ。特に難しい話はないけど、何処でも画像が保存できるので重宝する。

Safe mode notes: FileNameの指定

  • 保存先を指定するときは、"|"で始める相対パス。Shockwaveで指定されたフォルダに保存される。
  • "|*"で始める相対パスでは指定したファイルを削除。
  • "|"で始まらないとダイアログが開く。
  • Windowsでは"jpg|JPEG Files"のように"|"を使ってファイルタイプをダイアログで表示できる。複数の場合はリストで ["JPEG|JPEG Files","BMP|BMP Files"]。
  • ダイアログで使われるデフォルトのファイル名は imageSetAttribute (image, "Default Filename", "Default.jpg")で指定可能。
 

祝 Safari バグフィックス

Safari

Mac OS X Update 10.4.3

OSXのアップデートで、Shockwaveで 3D表示がずれるバグが修正されてる。これで、最新の Safariでは Shockwave3Dは正しく表示されるけど、以前のOSではおかしなままというややこしいコトになった。でも、まあ一歩前進。

 

JT将棋日本シリーズ

JT将棋日本シリーズ

JT将棋日本シリーズ 2004年度決勝戦

こんなところでも Shockwaveが大活躍のよう。ただ、棋譜ごとにパブリッシュしてるみたいだけど手間掛かるのでは。。。と思っていたら今年度からは Flashで XML読み込むようになっていた。あー、惨敗だな。

 

細谷多聞 - Tamon Hosoya

Expressive Computers

細谷多聞

微妙に続きで、思い出したので紹介。アイザワが学生時代、大きな影響を受けた恩師のひとり 細谷多聞さん。アイザワが純粋に工業デザイナーを目指せなかった理由のひとつに氏の存在があった。デバイスやソフトウェアを巧みに操り、自らの手でアイデアを可視化する姿に魅せられた、「こんなことができる研究者になりたい」と。で、実際は今なわけだけど、アプリケーションのデザインはできてるから、そんなに道が外れたわけではないか。松尾さん渡邉さんのやってることをみると自分も、実空間にカタチを作りたいとちょっと思い、細谷先生を思い出したという経緯。「Expressive Computers」のストーリーはご覧になって欲しい。工業デザインのおもしろさが分かりやすく理解できる。

 

Direcrorとセンサー・デバイス - 久世に訊け!!

久世に訊け!!

久世に訊け!!

同様に続きで、「久世に訊け!!」。もっと単純で、ハードウェア制御と Directorでインタラクティブなコンテンツを制作するサイト。センサーとかUSBデバイスとか。これはこれで楽しそう。照明を操作するためのコントローラを作ったり。

 

実空間とWEB空間のインターフェイス - NEtROBOt

NEtROBOt

同様に続きで、NEtROBOt。これも入出力がパソコンから飛び出して、インターフェースにロボットを利用してる。今度は AIBOじゃなくて二足歩行ロボットとタッチパネルで。松尾さんのアートが、人間の行動を幻想的な空間としてフィードバックするのと対称で。NEtROBOtはディスプレイで操作したことが実空間で明確に反映され、またその逆も。インターフェース、何と何を繋げるかで同じソフトを使っていてもいろんなおもしろいことができるンだなと。 そういえば、キオスク端末はもちろんのこと、パチンコ台の液晶に映るムービーも Directorで作られてるんだって。

 

ビットマップを自在に操るShockwaveコンテンツ - 夜光虫

夜光虫

shockwave向上委員会

前回に続き、ビットマップ系のコンテンツ。初めて見たときは驚いた、なんて綺麗なんだろうって。ギャラリーには Shockwaveコンテンツが多数で、たくさんの受賞歴。サイト名もおもしろい。コレが、数年前の作品なのか。ビットマップを書き換えると、こんなモノが作れるんでしょ? 凄いなぁ、どんな計算させてるんだろ。 今の CPUだったら、もっと凄い 2Dコンテンツ作れたりしないのかな。Flashじゃ出来ないような。。。。やっぱり 3Dになっちゃうのか。

 

Shockwave 2Dコンテンツ - Supleks

Supleks

Supleks

最近では見ることのなくなった、Shockwave 2Dコンテンツ。日本産。アイザワは 3Dから Shockwaveを始めた。このようなビットマップを操作する技は持っていないので新鮮に見える。マウスでドラッグしてビヨーンっとか、インタラクティブこそ Shockwaveの醍醐味で、なんだかんだで楽しい。

 

Shockwave デベロッパー - Imigea

Imigea

Imigea

Shockwave3Dコンテンツの事例が多いデベロッパー。ジャンルは幅広く、ウォークスルーコンテンツからゲームサイト運営まで。

 

切り上げ・切り捨て - integer( *.** +- 0.5)

Director Lingo

Lingo 辞書で数値の切り上げ・切り捨ての関数が見つからない。いや、そもそもあったのかなかったのかさえも忘れてしまった。検索しても見あたらない(というか、検索では表示されないけど、1ページずつ探していくと実はあったりするのも沢山ある)。で、諦めて結局コレ。 integer( *.** - 0.5)。integer()は四捨五入されてしまうので、切り上げたいときは +0.5、切り下げたいときは -0.5して四捨五入。javaScriptだと parseInt() みたいなんだけど、コッチは常に切り捨てされる。単純なことなんだけど、数ヶ月後にはユーザーガイドで探してそうな自分なので、とりあえずメモ。

 

OTOY

OTOY

OTOY

3Dエンジンと思われる OTOY。コッチで紹介した Animenaceで使用されている。ちょっと遊んでみた感じでは、Shockwave3Dとの違いは分からないけど。3D Grooveの人がインスタントメッセンジャー向けに開発しているらしい。ちなみに、3D Grooveは Schokwaveゲームを多く手がけるのだけど、どれも Shockwave3Dエンジンじゃなくて、オリジナルの 3D Groove Xtra(エンジン)で動かしてるちょっと異色な会社。 OTOYがアナウンスされるまで、正確な情報は分からないけど。後発なだけに何となく期待を寄せてしまう。。。。

 

OS のインターフェースを利用するテスト。 - OSContorol Xtra

OS Control OSX

OSControl Xtraのテスト

便利な Director Xtra、OSControlってのがある。WinでもMacでも OSが提供するインターフェースWidgetsを利用できる Xtra。で、重宝するXtraのひとつなのだが、やはりWindowsとMac双方で利用するとなるとややこしい部分もあって。大きさが違ったり、機能が使えたり使えなかったり、挙動が異なったり。両OS間のオーサリングで注意すべき点が不明確だったので、実験してみた。結果としてはドキュメントに書かれてある通りだが、幾つか追加すべき点もあった。

 

Macromedia Flash Professional 8

Macromedia Flash 8

Flash Professional 8

Sutudio 8に関連して、Flash Professional 8。アイザワが使いたいと思った新機能は、シャドー・ブラー・グロー・ベベルなどのフィルター効果。オーバーレイやスクリーンなどの描画方法を変更できるブレンド機能。高品質のテキストレンダリング。Flashビデオ。もはや、2Dゲーム開発環境と考えれば Directorを凌駕したかも。あー、うらやましいな Flashは。いろんな機能がガンガン搭載されて。

 
Archives
Search でも役立たず
Profile / Contact
アイザワ ユウイチ

アイザワ ユウイチ
テクニカル・アーティスト

東京都港区在中、株式会社イークラフト勤務。ランドスケープ業界に新感覚3Dツール SOLAを提案中。下のフォームから連絡とれます。気軽にどうぞ。