前回はベースとなるテキストアニメーションまでを作成しました.
今回は頂点マップを作成するまでを解説していきます.
頂点マップタグを作成する
頂点マップは頂点に記録するものですから,実際のポリゴンがある程度細かく分割されていないと粗いものになります.テキストはデフォルト状態では頂点が少ないためそのまま頂点マップを作ってもあまり意味がないといえますので,先に頂点マップに適した分割数に調整します.
実際の分割ラインが確認できるようにエディタの「表示」から「グーローシェーディング(線)」(ショートカットN~B)に変更しておきます.
今回はかなり細かく分割するので,もしPCのスペックにより作業が重くなりすぎる場合は分割数のパラメータを適宜調整してください.
テキストオブジェクトの「オブジェクト」タブを開き,
「細分化」…「25」
「補間法」…「細分化」
「最大長」…「1㎝」
とします.
「キャップ」タブを開き,
「キャップタイプ」…「均等分割」
「サイズ」…「2㎝」
「四角優先」…「オン」
にします.
これで次のように非常に細かく分割されたテキストになるかと思います.
この状態に対して頂点マップを記録しますが,そのまえに「一体化」オブジェクトを作成して,テキストを子にします.テキストは内部的にはMoGraphオブジェクトでポリゴンオブジェクトではないため,頂点マップを記録しようがないため,一体化オブジェクトを使用して内部的にポリゴンオブジェクトの状態にします.
そのうえで,一体化オブジェクトに対して「タグ」メニューから「その他」→「頂点マップ」タグを適用します.
頂点マップタグを選択するとオブジェクトが赤くなることを確認します.赤い状態は頂点マップが「0」の状態です.頂点マップを記録していきましょう.しかし一体化やSDS,その他プリミティブオブジェクトに対してはペイントツールによる頂点マップを記録はできませんので,フィールドを使うことになります.
頂点マップをフィールドでコントロールする
頂点マップタグを選択し,「フィールド」タブを開いたら,「ボックスフィールド」を作成します.
ボックスフィールドを選択し,
「サイズ.X」…「250㎝」
「サイズ.Y」…「100㎝」
「サイズ.Z」…「30㎝」
とします.
「座標」タブを開き,
「位置.X」…「0㎝」
「位置.Y」…「100㎝」
「位置.Z」…「-100㎝」
とします.
「リマップ」タブを開き,
「内部オフセット」…「90%」
とします.
このようにボックスフィールドを配置すると,テキストがボックスフィールドを通過する際に頂点マップが黄色くなることが確認できます.黄色い状態は頂点マップが「1」の状態です.
パーティクルで頂点マップをコントロールする
もちろんボックスフィールド以外でも同様にコントロールできますし,フィールド自体をアニメーションさせても良いでしょう.
今回はパーティクルを使用して,パーティクルのアニメーションに合わせて頂点マップをコントロールもしてみます.「シミュレート」メニューから「エミッタ」をシーンに追加します.
エミッタはパーティクルを放射するためのオブジェクトです.自身のZ軸の方向に対してパーティクルを放射する性質をもっています.今回はテキストの下側から上方向に向かって放射したいので,
「R.P」…「90°」
とします.
さらに「エミッタ」タブを開き,
「X方向の大きさ」…「400㎝」
「Y方向の大きさ」…「200㎝」
とします.
さらに「パーティクル」タブではパーティクルの数や動きを調整できます.作例では以下のように調整しています.
パーティクルの動きにもう少し変化が欲しいので,「シミュレート」メニューから「フォース」→「タービュランス」をシーンに追加します.
タービュランスを選択し,
「強度」…「15㎝」
「スケール」…「50%」
とします.
タービュランスは乱流のような動きを表現する際に便利なモディファイアです.再生させるとパーティクルがランダムな方向に移動していくのが分かります.
再び頂点マップタグを選択し,「フィールド」に「エミッタ」をドラッグ&ドロップします.「パーティクルオブジェクト」としてフィールドに追加してください.
「合成」…「最大」
に変更します.
この状態だとパーティクル周囲にボヤっとした頂点マップが描画されます.今回はマテリアルアニメーション用のマスクとしての役割があるため,もうすこしくっきりとした頂点マップにしましょう.
そこで,エミッタモディファイアレイヤを選択し,「リマップ」を開き,
「リマップを有効」…「オン」
「内部オフセット」…「95%」
にすることで,パーティクルの境界線がよりはっきりした状態になります.「レイヤ」タブの「半径」を調整すれば描画される頂点マップの大きさを調整できるようになります.
アニメーションを再生させると次のように頂点マップが描画されます.ボックスフィールドを通り抜け,その後にパーティクルが通過していくことでフィールドによる頂点マップのコントロールができました.
頂点マップはポリゴンの分割数が少ないとなめらかなマップが描画できませんので,今回のようにはっきりとした境界線が必要な場合はある程度の分割数が必要になります.もちろん,そのような分割数が不要なら極力少ない方がエディタも軽くなるので良いでしょう.重要なのは必要に応じで自分でコントロールができるようになることです.
また,フィールドを使って頂点マップをコントロールできることを学びました.頂点マップはCG制作においては良く使う手法です.これを知っておくことでより多彩なものをコントロールできるようになります.
今回作成した頂点マップをどのように利用するのか,それを次のパートで解説していきます.
ここまでのデータはこちらからダウンロードできます.