- June 20, 2004 4:50 AM
- Flash
Swift3DはElectric Rain社が開発した3Dグラフィックツールで、低価格ながらモデリング(ver3から),ライティング,サーフェイス,アニメーションといった一通りの機能を備えています。Swift3Dで作成した3Dオブジェクト(アニメーション)を高速にSWF形式で書き出すことが出来るのが特徴で、FLASH単体では難しかった立体的表現を実現してくれます。
FLASHでの立体表現を可能にするソフトとして注目を浴びたSwift3Dも、Ver3からはモデリング機能の追加やレンダリング機能が大幅に強化されたことでリアルな3Dオブジェクト作成ツールとして進化し、日本語バージョンも発売しました。Ver4では更にモデリング機能が強化されるようです。
購入は日本代理店からできますよ。
ここでは現行版のSwift3D Ver3について紹介します。
機能紹介
モデリング
あらかじめ用意された球,ボックス,角錐,円錐,円柱,ドーナツ,平面,多角形などのオブジェクトを組み合わせて形を作るほか、ベジェによるとても使いづらいモデリングが可能です。というのも、平面に図形を書くとその図形が押し出された立体オブジェになるだけなので、どうしてもパーツパーツで組み合わせてそれらしいオブジェクトを作るという流れになってしまいます。少し凝ったオブジェクトを作りたいなら、モデリングはMetasequoiaで作ったのを読み込んだほうがいいでしょう。
アニメーション
タイムラインにキーフレームを置いてアニメーションを作成します。移動、回転、拡大縮小、中心点、マテリアルなどの各プロパティーが独立したレイヤーで存在し、アニメーションによって変化するプロパティーをキーフレームによって制御していきます。FLASHのキーフレームしか触った事の無い人は戸惑うかもしれませんが、非常にシンプルで解りやすくできてると思います。
マテリアル,テクスチャー
ラスター,ベクターのあらかじめ用意されたマテリアルテクスチャーをライブラリからドラッグドロップでオブジェクトに適用したり、環境色と鏡面反射色の設定透明度およびオブジェクトの屈折率を編集したものをライブラリに登録したりできます。
レンダリング
- 範囲、およびプレビューレンダー
- 7種のベクター塗りオプションと3種のエッジオプション
- アウトライン、内部メッシュモード等を設定できるエッジモード
- エッジと塗りの合成品質にあわせたカーブフィッティング調整
- 静止・移動オブジェクトのレイヤー分割
- アンチ品質をコントロール可能なラスターレンダリングモード
- マルチオーバラップシャドウ
ファイル入出力
- EPS,AI形式のパスを入力して押し出しオブジェクト化
- Autocad dxf/dxb オブジェクト入力
- 3D Studio 3ds/prj シーンファイル入力
- 環境、マテリアル用ビットマップファイルの入力
- ベクターレンダリングのベクター出力(SWF,SWFT(Swift3D専用),EPS,AI,SVG)
- ラスターレンダリングのビットマップ出力(TGA,BMP,JPG,PNG,TIF,SWF)
- Flash MX用プラグイン、Swift3Dインポーター
Swift3Dで何か作ってみるのコーナー
FLASH単体じゃチョ→面倒くさそうなものをSwift3Dを使って実現してみます。
Swift3D

材質設定を持っていけなかったので、Swift3Dで新しく材質を作って色をつけてみました。(2度手間;

AnimationをONにして球体を1回転させます。Rotationプロパティーのレイヤーだけに変化を示す緑の線が表示されているのがわかります。

Swift3Dで作成した3Dアニメーションムービーを、1フレーム1フレームSWFのベクター画像に書き出しています。
書き出し設定
- General
- Tarfet Dile Type : Flash Player(SWF)
- Detail Level : Automatic
- Fill Options
- Fill Type : Cartoon Single Color Fill
- check box : off
- Edge Options
- check box : off
Swift3Dが1枚1枚ベクターに変換して1つのSWFファイルにしたものをFLASHのシンボルのなかで読み込みました(100フレーム)。このように、FLASHで表示する立体はSwift3Dが書き出した連番の静止画なのです。
100フレームという大量のフレーム数ですが、このSWFのファイルサイズは、なんと24KBです。これはSwift3Dが書き出すベクター画像の精度の良さを物語ってますね。3Dオブジェクトを平面で捉え、ポリゴンの頂点をそのまんまベクターのアンカーポイントに変換しているんじゃないでしょうか。

上の画像はFLASHでアンカーポイントの場所を見たものです。見事にポリゴンの頂点をパスで結んでるのがわかります。
こんなような使い方をしても面白いですね。実際これと同じようなことをFLASHでやろうとしたらどれだけの労力がいるんでしょう・・。
最後に
Swift3D利用者のサイトで「FLASHのベクター画像は軽いので、SWIFT3Dでムービーを書き出したけどクソ重めぇよ」というコメントを良く見かけますが、これはSwift3Dの問題ではなく、ベクター画像の性質を理解していないからです。ベクター画像の重さは単純にアンカーポイントの量で決まります。連番のJPEG画像やQuickTimeで書き出したほうが遥かに軽かったっていうマヌーな落ちにもならないよう、ベクターの特性を知ることが大切で、それはSwift3Dを最大限に活用する近道だと思っています。
反応があれば色々Tipsでも書いていこうと思います。
おまけ
40フレーム/48KB | グラデーションメッシュ
関連するエントリー
- Newer: 【代打】By 負けDog
- Older: Flash XHTML


