ActionScript3.0 VectorクラスとdrawTrianglesメソッドを使ってみた

2009年7月 7日 05:34

こちらでも

Flash Player 10に搭載された新機能、Vectorクラス、そして、Graphicsクラスの新メソッド、drawTriangles()で、Photoshopでいう、「指先ツール」のようなものを作ってみた。

そういえば今年の春先、Adobeのセミナーで、Flash Player10の新機能、というかFlashの新機能を紹介してはったなあ・・・なんか、じゅうたんにメッシュをかけて、あれをブラブラ揺らめかせられるんだよ!って、、、そんなこと言われてもユーザはどう使ったらいいか分からないじゃん。。と思いながらも、なんだか妙に印象的で記憶の片隅に残っていた。
ひょっとしてこのことなのかな?
Adobeのデベロッパーセンターサイトで「三角形分割によるテクスチャマッピング − Graphics.drawTriangles()メソッド Part 1 」というタイトルで野中 文雄さんがとっても分かりやすく説明しておられるので、ついつい手を出してしまった。

3DCGで最近仕事をしていたので、ポリゴンメッシュは三角形が良い!というのは何となく分かる気がするが、座標、uvマッピングなど、CGの開発者の大変さがコレをやることによって身にしみて分かる気がする。

さて、そのサイトの説明だが、三角形を「Z」型を描くように、左上・右上・左下・右下、とそれぞれX,Y座標を打ってやる必要がある。 さらにそれを複数三角形を作る場合は、0,1,2 1,2,3 | 4,5,6 | 5,6,7・・・と隣り合わせの三角ポリゴンをつなぎ合わせてあげなければならない。 そしてuv座標を指定する。

ただ、はじめての僕には連続する三角形がどのようにひも付けするのか・・・
ちょっと困惑しましたので、色々試した結果、
複雑で難しいと思われる方へ、、
Mesherクラスというものを作ってみました。
コンストラクタの第一引数に、JPGなどの画像ファイルのURLを。
第二引数に分割数を(サンプルでは32、なので、横、縦それぞれ32分割メッシュ)それぞれ入れて flaファイル側でインスタンス化してください。
よく考えたら、クラスファイルにするんだから、スライドバーとラジオボタンもスクリプトで作るべきだった。
良かったらflaファイルごとダウンロードして使ってください。
Mesher.lzh (884kb) ソース、さらしてみます。

Flash AS3 学習リスト

siteInformation

info@akibahideki.com

カテゴリ
Author
秋葉秀樹

秋葉秀樹(アキバヒデキ)

DTP上がりのデザイナー
ノンプログラマー!
フリーランスのデザイナー。
IllustratorやPhotoshopを初代バージョンから使っているという事がウリ。
クリエイター育成機関などでお世話になり、先生として講義をしていたりします。