変位をベイクする方法

CINEMA 4DおよびBodyPaint 3Dに関する一般的な議論や情報交換をするフォーラムです。

変位をベイクする方法

投稿記事by tofuji » 木 7 03, 2014 2:07 am

 CINEMA 4Dにはオブジェクトをベイクするための機能がいろいろ用意されています。
ただし、マテリアルの変位チャンネルをベイクすることはできません。理由は変位がエディターではなくレンダラーで行われるからです。

 その代わり、マテリアルの変位にはSPDという機能があって、より多くのポリゴンを扱うことができます。


1. ポリゴンのベイク 
 変位の効果をベイクしたい場合は、「変位デフォーマ」を使います。これはマテリアルの変位の機能をデフォーマの中に移したもので、
変位がエディターの中で実行されるのでベイクできます。

 デフォーマによる変形をベイクする一番基本的な機能は「現在の状態をオブジェクト化」です。

 ただし、この機能ではアニメーションをベイクできません。

http://www2.11moon.com/sample_files2014 ... bake2a.mp4

 

2. アニメーションのベイク
 アニメーションのベイクにはいろいろな方法がありますが、ここではポリゴンのアニメーションをXPressoでコピーし、
それをPLAでベイクする方法を説明します。

 XPressoでアニメーションをコピーする理由は、このままPLAでベイクするとデフォーマの効果とPLAの効果が混ざったものがPLAに記録され、
元のアニメーションと違った動きになってしまうからです。

 したがって、もし違った動きでも構わない場合はこのままPLAでベイクできます。


 ポリゴンのアニメーションをXPressoでコピーするのは簡単です。ポリゴンに含まれるポイント数を調べ、
その回数だけポイントの位置を元オブジェクトからターゲットオブジェクトにコピーするだけです。

 この時、ポイント数から1を引いているのは、ポイントの番号が1からではなく0から始まるためです。
例えばポイントが10個ある場合、ポイントの番号は0〜9まで変化します。

 また、ポイントノードはデフォルトでグローバル座標で働き、デフォーマによる変形を考慮しないので、
ローカル座標に切り替え、「変形を考慮する」をチェックします。

 これでアニメーションをコピーできますが、1フレームの遅れが生じます。これは変位デフォーマによる変形の前にXPressoが実行されるからです。
もしフレームの遅延が問題になる場合は、XPressoの「X優先順位」を「エクスプレッション」から「ジェネレータ」に変更して下さい
(この部分はスクリーンムービーに入っていません)。

 こうすると、変位デフォーマの後にXPressoが実行されるようになります。


 次に、タイムラインの「オブジェクトを固定」機能を使って、XPressoでコピーしたアニメーションをPLAにベイクします。
階層が離れているので、変位デフォーマの影響はありません。

 確認してみます。変位デフォーマを停止してもターゲットオブジェクトのアニメーションが続くことがわかります。
 また、ターゲットオブジェクトのPLAアニメーションを停止するとアニメーションが止まることがわかります。

http://www2.11moon.com/sample_files2014 ... bake2b.mp4

http://www2.11moon.com/sample_files2014 ... _bake2.zip
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 826
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区

Re: 変位をベイクする方法

投稿記事by miyata » 木 7 03, 2014 11:28 am

簡単な変位のアニメーションのベイクも紹介しておきます。
一つは、Alembicで書きだす方法です。この場合、エクスポートするだけなので簡単です。ただし、特殊な形式なためXPressoで変位後のポイント位置を取得するようなことはできません。

もうひとつは、ポイントキャッシュ機能です。変位デフォーマが適用されているポリゴンオブジェクトにポイントキャッシュタグを設定して計算させればOKです。XPressoで変位後のポイント位置を取得するもできます。キーフレームを大量生成しないのでタイムラインも重くなりません。
ただし、ポリゴンオブジェクトしか適用できないので、プリミティブやジェネレータ系のオブジェクトには使えません。
なお、キャッシュを生成した後は変位デフォーマはオフにしてください。オフにしないと変位が2重にかかってしまいます。
miyata
 
記事: 505
登録日時: 火 12 29, 2009 4:25 pm

Re: 変位をベイクする方法

投稿記事by tofuji » 金 7 04, 2014 3:45 am

 サンプル出しておきました。

 ポイントキャッシュタグは、ポイントキャッシュデフォーマをかませることで、プリミティブやジェネレータにも適用できます。
また、微調整デフォーマをかませることで、XPressoでポイントの位置を取得したり、動かすことができます。

http://www2.11moon.com/sample_files2014 ... _bake4.zip
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 826
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区


Return to ユーザフォーラム

オンラインデータ

このフォーラムを閲覧中のユーザー: Baidu [Spider] & ゲスト[2人]