Home > FLASHで3D表現

FLASHで3D表現

  • Posted by: wu
  • 2003年5月15日 09:53

FLASHで扱われ始めた3Dグラフィックス

最近になって3DグラフィックアプリはMacromediaのFlashエクスポート機能を追加しはじめてます。 Flashはもはやウェブで最も人気のあるリッチメディアフォーマットの一つになり、 ネットに接続されているPCの98%の普及率を考えると、激化する3Dグラフィック分野では 一つの選択肢として製品を差別化する方向を与えています。

Swift3DとVecta3D

先駆けとなったソフトはElectric Rain社Swift3DとVecta3Dで、 この二つはほぼ同時期に発売されました。 簡単な操作性という部分ではVecta3Dのほうが一歩リードしてますが、 Swift3DはElectric Rain社が独自に開発したレンダリングエンジンRavix(ラビックス)をコアテクノロジーとして搭載することによってレンダリング時間を短縮し、 精度の高いベクターデータを出力することができます。

Swift3Dver.2

両者はそれまでFlashでは難しかった立体的な表現を可能にし、一部のマニアの間でコソコソ使われてました。(オレはそう感じる!) その後Electric Rain社は3DアプリのLightwaveとStudioMAX用 ($295)のプラグインを開発し、更に強力になったレンダリングエンジン Ravix?U(ラビックス2)を搭載したSwift3DVer2.0 ($159)を発表したところで、ライバルだった(たぶん)Vecta3Dは完全にSwift3Dの影に隠れました。

Flashと連携する3D vector toolとして、Swift3Dは積極的に宣伝活動をし、DEVLABをはじめとした Swift3Dサイトをプロジェクトとして次々に送り出し、それまでちょっとマニアックでカッコイイと思ってたものが どんどんミーハーなツールになってしまってオレがっかり。

PoserProPack

3D Vector toolはもはやSwift3Dの一人勝ちなのかと感じたころ、Poserの拡張プラグイン、 PoserProPackがSWFエクスポート機能を搭載して発売されました。 Swift3Dをずっと使ってた身としてはPoserの拡張パックがswf機能をいれようが興味無かったんですが、 丁度このころそのPoserを勉強していて、ProPackの体験版が配られてたので試しにいれたらビックリ。 Swift3Dとは全く別のレンダリング方法で、Swift3D単体では不可能なBoneの表現までできるものでした。

Amorphium Pro, Moho

ちょっとマニアックな位置にあるこの二つのツール。Amorphium Proは彫刻ソフトAmorphiumのバージョンアップ版で、 Flashエクスポート機能を搭載し、Swift3Dの得意とする無機質形オブジェクトとは反対に有機的なものの表現に向いています。 でもPoserProPackが有機的なものの表現に特化されていることから、swfエクスポートに引かれて乗り換える人はいないと思います。

もおおっとマニアックなものではMoho($99 体験版有り)があります。これは3Dではなく完全な2Dの書き出しですが、描いた絵にBoneデータを つけることができ、それをアニメーションさせてSWFに書き出すことができるソフトです。これはたぶんMohoにしかできない機能で、 絵を描いてそれをFlashで動かしたいという人には便利なソフトなんじゃないかなって思います。

Optimaze!が扉を開けそう?!

Vexta3Dの会社?(ドメインが一緒)からOptimaze!という新製品がでました。 既にSwift3D,Ver2とPoserでご満悦のオレは、ここからまたVecta3Dに乗り換えるきはないので興味はなかったんですが、 どうやら違う。Optimaze!は書き出されたswfを圧縮するツールだった。 Swift3DもPoserもなんでもそうだったけど、書き出すswfには無駄な部分が多く、Swift3Dを使い始めたころから どうにかならないものかなと思ってたんだけど、新しくでるこのOptimaze!($130)はまさにその軽量化一本にしぼったソフトだった。

Optimaze!の機能を知れば知るほど欲しくなり、結局昨日美容院代を削って買ってしまった。 この軽量化というのは、書き出されるベクターデータの無駄と思われるアンカーポイントをできるだけ減らし、 40%~50%のサイズダウンをほぼ見た目を変えずにやってくれる。 500KBのベクターデータで描かれたFlashアニメーションをOptimaze!で250KBにできるということは凄い。これは ただ読み込み時間を減らすことだけでなく、無駄なアンカーポイントを減らすということは描写処理にも関係してくる。 画面一杯にベクターデータを高速で動かせば低スペックなマシンは処理落ちを起こし、スムーズなアニメーションが見れなくなるとこを、 リフレッシュされたシンプルなベクターデータはそれを助ける。

別のソフトにして作業を増やすよりは、普通のレンダリング性能をそれぐらいにしてほしいと正直思ったけど、 会社が別ならしょうがないか。でもなぁ、いずれはOptimaze!もバージョンアップしていくだろうし、Swift3DもVer3の開発を してるだろうし、ソフトが分かれてると金かかるわ!!くそおおおおお!でもまぁ、喉から手が出るほど欲しいと思わせてくれた 数少ないソフトだし。よくやった!

昨日英語のサイトで発注したんだけど、japan tokyo ootaku とか住所に書いたんだけどこれでほんとに届くのか心配になってきた・・ しっかり金はらっちゃったし。届いたらまたレポートをここに書きます。

Comments:9

ピクミン 2004年6月21日 16:28

はじめまして。ピクミンと申します。
サイト大変参考にさせていただいております。
質問なのですが、
最終的にFLASH上で3Dキャラクターをアニメーションまでさせようとしたときには、どういったソフトの組み合わせが考えられるでしょうか?
Swift3D単体で人体の歩行などのアニメーションは無理でしょうか?無理だとしたらどんなソフトと組み合わせたらいいでしょうか?

Poser5ならボーンアニメーションをsしてフラッシュに書き出すことはできるのでしょうか??

・メタセコイアー>Poser5->Flash PLayer
を第一候補に考えています。

アニメーションをつける部分がよくわかっていないのですが・・・
・メタセコイアー>trueSpace or 3Dアトリエ4 ->Swift3Dとして、アニメーションセットをFLASHまでもっていくことは可能なのでしょうか??

わかる範囲でよろしくお願いします。

wu 2004年6月27日 18:08

お返事送れてごめんなさい。

人体の歩行ですが、Swift3DではBoneがないので難しと思います。

3DキャラクターをアニメーションさせるFLASHですが、もっとも強力なのは、Lightwaveや3D StudioMAXなどの3DソフトにSwift3Dプラグインをいれた形です。Lightwave(又はMAX)でモデリングからアニメーションまで全てを作り、あとはベクターで書き出すというものです。3Dソフトが高いので悲しいですが・・。

メタセコ(モデリング)→Poser(BONEアニメ,SWF書き出し)というのも手なんですが、Poserの解説書が少ないのが難点です。歩かせるぐらいならBoneを覚えれば割と簡単。

他にはPlazmaやCARARA,Strata,という最初からベクターSWF書き出し機能を持った3Dソフトもありますが、これらも解説書は少ないです。

僕の中での最強は、やはりLightwave+Swift3Dプラグインだと思いますね。

belcro 2008年9月22日 13:10

papervision3d を使用すればいいのではないでしょうか?
http://blog.papervision3d.org/

wu Author Profile Page 2008年9月22日 13:15

belcro さん、こめんとありがとうございます。
この記事は2003年に書かれたものです。
今はさまざまなライブラリなどで、FLASHで3Dを扱う環境は大きく変わっていますね。

bcd 2009年12月13日 13:56

はじめまして。bcdといいます。
このサイトには初めて投稿させていただきます。

今、3Dならではのインタラクティブ性をもつflashを作りたいと思っています。
例えば、円すいのオブジェを配置し、カーソル=光源に設定し、カーソルを動かすと
それにあわせて円すいの影の出方も変化するようにしたいです。

現在の3D flashソフトで上記を実現することは可能でしょうか。
ご存知でしたら教えてください。

wu 2009年12月13日 14:09

bcdさんこんにちは。

この記事で紹介している3Dは、3Dソフト内で計算した3Dアニメーションを
1フレームごとにベクターデータに出力しているだけですので、
座標などをリアルタイムに計算しているわけではなく、
想像してらっしゃるインタラクティブ性のある表現には向いていないとおもいます。

FLASHで3D表現を行うにはActionScriptの高度な知識(とくに数学的)が必要ですが、
ActionScriptの知識がある程度あれば、3D用のライブラリを利用して表現できるでしょう。

bcd 2009年12月13日 18:17

ご回答ありがとうございます。

ご紹介されているソフトは3D的な見た目をswfに出力するだけということは分かっておりました。
また、下記のサイトのように、オブジェクト表面の光の強度をactionscriptを使って計算すれば、
表現できるかもしれないとは思っていました。

http://yamasv.blog92.fc2.com/blog-entry-81.html

しかし、仰るとおりかなり高度な数学の知識が必要ですので、手軽に実現できるソフトを探していました。
そんな折、このサイトを見つけ、これほど3D flashに詳しい方なら、そういったソフト(またはライブラリ)も
ご存知かと思い、質問させていただいた次第であります。

いろいろ長くなってすみません。
結局、そんな楽な方法はなくactionscriptでガリガリ組んでいくしか方法はないということでしょうか。
あと、こういった質問はここに投稿してよかったでしょうか。
(なるべくご迷惑のかからない形で投稿したいのですが)

質問ばかりで申し訳ありませんが、よろしくお願いいたします。

wu 2009年12月13日 21:45

このページもだいぶ古いものになっちゃってますが、
書き込みがあればメールがくるのでどこにかいても大丈夫ですよー。

そうですね、仰る通り3D的な見た目の2Dグラフィックスを出力します。
なので、出力前の設定(光源などを含むアニメーション)はその時決定されてしまいます。

リアルタイムに演算する3Dと全く違う方法になりますね。
ASの知識は必要ですが、探してみるといろいろあるとおもいますよ。
http://youmos.com/news/five3d

bcd 2009年12月13日 22:24

お早いご回答、ありがとうございます。

メールがくるようになっているのですね。知りませんでした。

あと、FIVe3Dについて少し調べてみましたが、基本2Dのようですのでとっつきやすそうに感じました。
とりあえず、しばらくはFIVe3Dについて調べてみることにします。
(その過程でまた未知のライブラリを発見できるかもしれませんし。)

参考になるサイトを教えていただきありがとうございました。
いつになるか分かりませんが、完成したらご報告致します。

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://3ping.org/mt2/mt-tb.cgi/16
Listed below are links to weblogs that reference
FLASHで3D表現 from 3.5ping.org

Home > FLASHで3D表現

Book

実践 Web Standards Design

「実践 Web Standards Design」ではXHTMLやCSSの仕様からマークアップの手法・考え方をはじめ、レイアウトや実践的なWebサイト構築のワークフロー、そしてCSSを利用したさまざまな技術的Tipsを解説しています。

Products
Search
Feeds

Return to page top