0

仕組みが分からなくて困ってDisplacementMapFilterいます。基本的に、魚眼レンズとマスキングを組み合わせて、回転する惑星を作成しようとしています。

また、タイムラインを介してこれを行うにはどうすればよいですか? その中でのコーディングにはあまり詳しくありませんが、これは何よりもアニメーション プロジェクトなので、クラスは問題外です。コードが不足していて申し訳ありません-私は単に立ち往生しています。

4

1 に答える 1

1

上記のコメントで述べたように、これはおそらく問題の半分にしか答えません。

適切なツールを使用して、変位マップ画像を生成することはそれほど難しくありません。Photoshop、GIMP、Fireworksなどを使用していると仮定します。

この方法では、128x128以下の画像で作業するのがおそらく最善です。一部のエディターには、ほぼすべてのサイズの画像で作業できるより特殊なツールがありますが、これは特別なツールを必要としない一般的なプロセスです。最終結果はいつでも拡大できますが、品質は低下し始めます。

  • グラデーションの塗りつぶしから始めます。左側の純粋な黒から右側の濃い赤(具体的には128,0,0)になります。上部の黒から下部の濃い緑(具体的には0,128,0)までの垂直方向の塗りつぶしを追加し、それらをLIGHTENまたはADDフィルターと組み合わせます。これで、黒、赤、緑、黄色の角のある画像ができあがります。それを平らにします。

  • この画像を別のレイヤーにコピーします/エディターの選択条件は何でも。必要なディスプレイスメントフィルターを適用します(魚眼レンズ、手動スマッジ、遠近法変換など)

  • 2つの間に3番目のレイヤーを追加します。濃い黄色(128,128,0)で塗りつぶし、ADD/ADDITIONブレンドモードに設定します。最上層をSUBTRACT/SUBTRACTIONブレンドモードに設定します。

それでおしまい。変位マップとして機能するほとんど黄色の画像が得られるはずです。

アップデート:

サンプルプログラム(http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filters/DisplacementMapFilter.html#includeExamplesSummarycreateBitmapData )でこれを使用するには、関数を次のように置き換えます。

private function createBitmapData():BitmapData {
    return myBitmapObject.bitmapData;
}

myBitmapObject変位ビットマップのインスタンス名(私は思う)はどこにありますか。それを設定するためのよりきちんとした方法がありますが、これが最も簡単です。

于 2013-03-16T16:46:03.893 に答える