Adobe
製品
Creative Suiteファミリー
Photoshopファミリー
Acrobatファミリー
Flash Platform
Digital Marketing Suite
Digital Enterprise Platform
Digital Publishing Suite
その他の製品一覧
ソリューション
コンテンツオーサリング
教育
金融機関
デジタルマーケティングソリューション
その他のソリューション
ラーニング サポート ダウンロード 会社情報
ご購入
アドビストア安心のサポート& サービス
アカデミック版のご購入学生、教職員、個人
ライセンスのご購入企業、教育機関、官公庁
販売パートナー
検索
 
情報 サインイン
ようこそ、 カート 注文状況 ユーザー登録
マイアカウント
サインアウト
サインインの目的 お客様のアカウントや体験版ダウンロード、製品の拡張機能、コミュニティエリアへのアクセスなどを管理するため
Adobe
製品 セクション   検索  
ソリューション 会社情報
サポート ラーニング
サインイン ようこそ、 注文状況 ユーザー登録
Qty:
Subtotal
Checkout
Adobe Developer Connection / Flashデベロッパーセンター /

Matrix3Dを使って、2次元を3次元表現にする

著者 株式会社クスール

株式会社クスール
  • 株式会社クスール

作成日

21 July 2009

ページ ツール

Facebookでシェア
Twitterでツイート
LinkedInでシェア
ブックマーク
印刷

Tags

必要条件

ユーザーレベル

初級

はじめに

ActionScript 3.0になってから、Flashでも3Dの表現をよくみかけるようになってきました。
Papervision3Dなどの外部ライブラリを使えば、今までのFlashでは実現が難しかった3D表現もできるようになりました。
ただし、ActionScriptの知識はそれなりに必要になり、気軽に始めたい人には少しハードルが高いイメージがあります。

今回はAdobe CS4から導入されたMatrix3Dを使い、比較的簡単に3D表現ができる方法を紹介します。

Matrix3Dを使うメリット

3D表現をするのにMatrix3DとPapervision3Dのどちらを使うか悩む人は多いかと思います。
バリバリ3Dを動かすのであればPapervision3Dのほうがいいかもしれませんが、簡単に表現するにはMatrix3Dのいいかと思っています。
その理由は以下の2つのものにあります。

  1. ステージにおいているものをそのまま3Dにできる
    Papervision3Dではコンポーネントを使うなどの方法は別として、まずは3D空間をプログラミングで作る必要があります。
    対するMatrix3Dでは通常のFlash開発のように、ステージにムービークリップを配置し、それに奥行きをつけることができます。
  2. イラストなどの絵の世界観をそのまま3D表現にできる

    3Dの表現では一般的に、立方体に絵をマッピングするなどして、絵を空間に貼り付けていきます。この方法だとどうしてもカクカクした画像や、いかにも3Dを使っているように見えてしまいます。

    Matrix3Dではタイムラインに奥行きを持たせることができるので、イラストなどの見た目をそのまま3D空間のように見せることができます。

サンプル1.まずはトゥイーンで3Dを表現する。

まずはスクリプトなしで、3Dの表現を作ってみましょう。
ツールを使うだけでも簡単に傾きが表現できます。

  • ダウンロード:1_logo_animation(1.82MB / zip形式)

ステージに背景とロゴをひとまとめにしたムービークリップを配置します。

タイムラインを伸ばし、モーショントゥイーンを作成します。

3Dの傾きは「変形パネル」の「3D 回転」の値を変えるか、ツールの「3D回転ツール」を使います。

タイムラインを移動させるとムービークリップが傾いているのがわかるでしょう。

logoC.z = -100; logoS.z = -80; logoH.z = -60; logoO.z = -100; logoO2.z = -70; logoL.z = -90;

これだけではちょっと物足りないので、ロゴが画面から飛び出しているように見せましょう。
各ロゴのプロパティ「z」の値を変更するだけで、前に飛び出します。z軸はマイナスになるほど手前にきます。

同じロゴのムービークリップを黒くし、背景におけば影の演出もできます。

テクスチャなし

テクスチャあり

画面全体にテクスチャを置いてアナログっぽくみせるなど、通常の2DでのFlashの表現とも相性がいいです。

サンプル2.スクリプトで背景を傾ける

先ほどはモーショントゥイーンで動かしていましたが、今度はActionScriptを使って背景を傾かせ、画面全体がゆらゆらと動いている表現を作ります。

  • ダウンロード:2_logo_script(1.83MB / zip形式)

X軸とY軸を傾けます。回転させるスクリプトはMatrix3DクラスのprependRotationを使います。

  • 使い方:
ムービークリップ.transform.matrix3D.prependRotation(回転のスピード,回転の軸)
  • 例:X軸を傾ける
mc.transform.matrix3D.prependRotation(-0.5, Vector3D.X_AXIS);

※回転の仕組みの詳細は野中文雄さんの記事をご覧ください。
Matrix3Dクラス - 変換行列2
http://www.adobe.com/jp/devnet/flash/articles/matrix3d_class.html

// enterFrameのイベントを登録する addEventListener(Event.ENTER_FRAME, enterFrameX); addEventListener(Event.ENTER_FRAME, enterFrameY); // X軸を傾ける private function enterFrameX(evt) {     mc.transform.matrix3D.prependRotation(-0.5, Vector3D.X_AXIS); } // Y軸を傾ける private function enterFrameY(evt) {     mc.transform.matrix3D.prependRotation(-0.5, Vector3D.Y_AXIS); }

実際にはenterFrameのイベント使い、連続的にそれぞれの軸を回転させます。

傾く角度をランダムに設定し、傾きを変えながら連続して動かすと、画面がゆらゆらしたような演出になります。

サンプル3.ロゴをz軸にトゥイーンさせる

  • ダウンロード:3_logo_tweener(1.87MB / zip形式)

今度はロゴのZ軸の動きをTweenerというライブラリを使って動かしてみます。
Tweenerというとスクリプトでアニメーションを動かす時によく使うライブラリなのですが、だいたいがX、Y軸に動く、つまり平面上を動かすために使われます。

ただこれはZ軸にも採用することができます。つまり奥から手前に移動する動きを簡単に作成することができます。

Z軸をトゥイーンさせることで、より奥行きのある空間に見せることができます。
今回はTweenerの「easeOutElastic」の動きを付けて、ロゴがぼよーんと飛び出すような動きにしてみました。

  • 使い方:
Tweener.addTween(ムービークリップ, { 動かしたい軸(x,y,z):最終到達点, time:動かす時間(秒), transition:"動きの種類" } );
  • 例:
Tweener.addTween(mc, { z:-200, time:0.5, transition:"easeOutElastic" } );

※Tweenerのライブラリはこちらからダウンロードください。
Tweener
http://code.google.com/p/tweener/

サンプル4.z軸の動きを音楽を同期させる

さきほどのサンプル3の動きと音を連動させてみます。こちらも2次元ではよくあるサンプルなのですが、3次元の動きと連動させると、少し違った演出ができます。

  • ダウンロード:4_logo_tweener_sound(22.2MB / zip形式)

音に合わせてロゴのZ軸の動きを変えたり、背景の落書きもイコライザのように動かしてみました。

// 音情報を解析する var byteArray:ByteArray = new ByteArray(); SoundMixer.computeSpectrum(byteArray, false, 0); for (var i = 0; i < 256; i++) {     // 音の大きさを取得する     scale = byteArray.readFloat()*500;     // 音の大きさをZ軸分アニメーションさせる(サンプルではある指定した音の領域の平均値を使っています)     Tweener.addTween(this["mc"+i], { z:-scale, time:1, transition:"easeOutElastic" } ); }

音の解析にはSoundSpectrumクラスを使います。
トゥイーンの動きは「サンプル3」と同じようにTweenerを使います。

サンプル5.おまけ

最後に演出的なおまけをつけてみました。3D空間にすると正面の物体はよく見えるのですが、底辺や側面にある物体は陰に隠れていたり、小さくなったりして見えにくいです。
その部分にギミックなどを入れてみると、回転したときに初めて確認できるようなおまけ要素が付けられます。

画面の下に要素を配置しておくと、普段は見えにくいですが、回転することで見えるようになります。

  • ダウンロード:5_logo_card(22.4MB / zip形式)

まとめ

今回サンプルでいろいろと作ってみましたが、意外と簡単に3Dのギミックができるような感じがしました。
3Dを本格的にするのはちょっとハードルが高いという人は、まずはタイムラインでぐりぐり動かしてみるのも面白いかと思います。

あとは2Dの世界でも使っているActionScriptを利用し、それをZ軸に変えてみると今までとは違った動きができるかもしれません。

※サンプルのファイルは自由に触っていただいて結構ですが、絵の素材は実際のクスールのサイトでも使っていますので、個人利用のみに使用していただけると幸いです。

製品

  • Creative Suiteファミリー
  • Photoshopファミリー
  • Acrobatファミリー
  • Flashプラットフォーム
  • Digital Marketing Suite
  • Digital Enterprise Suite
  • Digital Publishing Suite
  • モバイルアプリ

ソリューション

  • カスタマーエクスペリエンスマネジメント
  • コンテンツオーサリング
  • デジタルマーケティング

業種別ソリューション

  • 教育
  • 金融機関

サポート

  • ヘルプ&サポート
  • 注文と返品
  • ダウンロードに関するヘルプ
  • ユーザー登録に関するヘルプ

ラーニング

  • ADC: Adobe Developer Center
  • Adobe TV
  • Design Magazine
  • Photoshop Magazine
  • Focus In

ご購入方法

  • アドビストア
  • アカデミック版のご購入
  • ライセンスのご購入

ダウンロード

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

会社情報

  • プレスルーム
  • パートナープログラム
  • 企業の社会的責任(英語)
  • 採用情報
  • 投資家の皆様へ(英語)
  • イベント&セミナー
  • Legal(英語)
  • お問い合わせ
国・地域および言語の選択 日本(変更)
国・地域および言語の選択 閉じる

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • España
  • France
  • Deutschland
  • Hrvatska
  • Ireland
  • Israel - English
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • Magyarország
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Österreich - Deutsch
  • Polska
  • Portugal
  • România
  • Россия
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Slovenija
  • Slovensko
  • Srbija
  • Suomi
  • Sverige
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • Pacific - English
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

当Webサイトをご利用のお客様は、利用条件およびプライバシーポリシー(2011年9月30日更新)にご同意いただいたものとみなされます。

Reviewed by TRUSTe: site privacy statement