ダイナミクスノードについて

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

ダイナミクスノードについて

投稿記事by tofuji » 金 3 28, 2014 8:57 am

 XPressoの中に入っているダイナミクスノードについてサンプルを出します。

1. ダイナミクスボディ状態
 
 ダイナミクスの一番基本的なノードで、ダイナミクスオブジェクトの状態を調べたり、動かしたりできます。
ほぼ毎回使います。

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

http://www2.11moon.com/sample_files2014 ... ystate.zip



2. ダイナミクス衝突判定

 ダイナミクスオブジェクト間に衝突が発生した時に、知らせてくれるノードです。
よく使います。

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

http://www2.11moon.com/sample_files2014 ... lision.zip


 ただし、そのままでは1フレームあたり1回の衝突しか出力しないので、繰り返しノードをつないでください。



3. ダイナミクス近接

 ダイナミクスオブジェクト間の距離を調べてくれるノードです。
基本的に、TPのPPassABのような使い方を想定しているようですが、使いにくいので自分で書いた方がいいです。

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

http://www2.11moon.com/sample_files2014 ... imity.mzip


 このノードは、「自分に一番近いオブジェクトは?」と聞くと「自分」と答えます。
 なんでこんなアホな仕様になっているのか知りませんが、毎回「自分以外で」という条件を追加する必要があります。

 しかも、クローンとダイナミクスでIDの付け方が違うので。この条件付けがかなり面倒です。
---

Toshio Fuji<gtofuji@gmail.com>

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

Re: ダイナミクスノードについて

投稿記事by nob » 金 3 28, 2014 5:23 pm

ダイナミクスノードって奥が深いですね。
駆使すればマルチジョイントもできるんですね!
自分が駆使できれば?ですが、、、、

蛇足で恐縮ですが、Cinema4Dtutorial.netの新作チュートリアルがリリースされています。
http://www.cinema4dtutorial.net/?p=2612

おなじみのXplodeとダイナミクスと使ったビルの崩壊ですが、一つ面白いところがありまして
”減衰”ノードをヌルに割り当てて、そのヌルをアニメションさせることで、
それぞれの破片のダイナミクスタグをONにする方法がありました。

ダイナミクスはトリガーは衝突で行っていたので、減衰ヌルを別に用意すると、好きは所に好きなスピードで
ダイナミクスがスタートできるので、徐々に破壊したり、よりコントロールがしやすい方法だと思います。

ちなみに、R14では正常に動くのですがR15だと、減衰の位置がヌルから転送されないようでした。
nob
 
記事: 43
登録日時: 火 3 18, 2014 8:23 pm

Re: ダイナミクスノードについて

投稿記事by tofuji » 金 3 28, 2014 10:20 pm

 減衰ノードの位置(マトリックス)がヌルから転送されないのは、R15のバグです。

 正しくは、減衰マトリックスに指定されたマトリックスに従うべきですが、
R15では問答無用でXPressoタグが適用されたオブジェクトのマトリックスに従うようになっています。

 バグというよりは、誰かが「気を利かせて」仕様を変更してくれたのかもしれません。


 したがって、減衰が一個で、ヌルにXPressoを適用できる場合には従来通りに動作します。
 ただし、複数の減衰を使うことや、複数のXPressoから一つのヌルを参照することはできません。

 
 しかし、減衰ノードが使えないと仕事にならないので、簡易イフェクタで代用する方法を説明します。 
 クローンの位置における減衰であれば、この方法で代用できます。
ただし、任意の位置における減衰を調べることはできません。また、複数の減衰を組み合わせるのも難しいです。

 この方法では、オブジェクトに影響が少ないパラメータ(この場合はカラー)を簡易イフェクタで変更し、減衰を適用します。
 そして、MoGraphデータノードを使ってこの簡易イフェクタの効果(カラー)を調べると、それは減衰に一致するので、減衰を取り出したのと同じことになります。

http://www2.11moon.com/sample_files2014 ... tution.zip


---

 この方法で作ったサンプルです。

http://www2.11moon.com//sample_files201 ... ff_110.mp4
http://www2.11moon.com//sample_files201 ... ff_110.zip
最後に編集したユーザー tofuji [ 土 3 29, 2014 11:00 am ], 累計 1 回
---

Toshio Fuji<gtofuji@gmail.com>

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

Re: ダイナミクスノードについて

投稿記事by tofuji » 土 3 29, 2014 2:29 am

 コネクタを自動生成するXPressoが以下のアドレスにあります。

viewtopic.php?f=4&t=583&p=1952&sid=e9d1c34a9b04b5ac1bb28a0c23965804#p1952
---

Toshio Fuji<gtofuji@gmail.com>

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

Re: ダイナミクスノードについて

投稿記事by tofuji » 火 4 08, 2014 11:49 am

 オブジェクトを連続してコネクタで接続し、飛散する様子をダイナミクスで表現したサンプルです。

http://www2.11moon.com/sample_files2014/20140407/chips_140.mp4

http://www2.11moon.com/sample_files2014/20140407/chips_140.zip


 このサンプルでは、一列に並んだクローンを番号順に接続するようにXPressoを変更しています。
理由は、距離を基準にすると、スプリングのような構造のオブジェクトで「隣のオブジェクト」よりも「一回転先にあるオブジェクト」の方が近くなり、
そこにコネクタが生成されてしまうからです。


---

 AutoConnectorの使い方。

http://www2.11moon.com/sample_files2014/20140328/auto_connector_140.mp4

http://www2.11moon.com/sample_files2014/20140328/auto_connector_140.zip
---

Toshio Fuji<gtofuji@gmail.com>

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

Re: ダイナミクスノードについて

投稿記事by nob » 水 4 09, 2014 7:30 pm

おお、スゴイまさしくこれです。
コネクターのオート配置はすばらしいですね。

ですが、R14R15で試したところ、update_connectorsをクリックすると、connectorが削除されてままで、新規に育成されないっぽいです。
ダウンロードしたままのファイルでupdate_connectorsをクリックしてみても同じな感じです。

何か、手順的なことがありますか?
nob
 
記事: 43
登録日時: 火 3 18, 2014 8:23 pm

Re: ダイナミクスノードについて

投稿記事by tofuji » 水 4 09, 2014 7:55 pm

 プログラムの構造上、コネクタを作るときは破砕オブジェクトをオンに、コネクタを作るときは破砕をオフにしなければなりません。

 面倒なんで、時間0で破砕がオン、それ以外の時間でオフになるように修正しておきました。

http://www2.11moon.com/sample_files2014/20140328/auto_connector_141.zip
---

Toshio Fuji<gtofuji@gmail.com>

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

Re: ダイナミクスノードについて

投稿記事by nob » 水 4 09, 2014 9:50 pm

うまくいきました!

Xplodeで分割したオブジェクトにauto_connectorを適用してみました。
これは、オブジェクトID順にコネクトしていると思うのですが、それでもうまいこと部分的に壊れてくれますね。
添付ファイル
auto_connector_141_test.c4d
(961.18 KiB) ダウンロード数: 203 回
2014-04-09 21.38.40.png
nob
 
記事: 43
登録日時: 火 3 18, 2014 8:23 pm

Re: ダイナミクスノードについて

投稿記事by tofuji » 木 4 10, 2014 2:06 am

 このXPressoは、スプリング状のオブジェクトに適用するために、コネクタを意図的にID順に接続するように変更したものなので、
通常のオブジェクトに対しては、距離と接続数で制限する元のXPressoを使うようにしてください。

http://www2.11moon.com/sample_files2014/20140328/auto_connector_163.mp4

http://www2.11moon.com/sample_files2014/20140328/auto_connector_163.zip
---

Toshio Fuji<gtofuji@gmail.com>

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

Re: ダイナミクスノードについて

投稿記事by nob » 土 4 26, 2014 1:16 am

ダイナミクスノードをボールとソケットに変えて、設定してみると各部がつながったまま曲がるといった、かなり面白い感じに機能しますね。
ダイナミクスの反発と摩擦は0%にすると動きも大きくできますし、任意のフレームでenableをoffにキー設定すれば途中で破壊アニメーションに切り替えることもできます。これは結構使い勝手ありますね!

”固定”以外のコネクトでは、破断設定はないので、負荷がかかったところからコネクトをオフにしてダイナミクスアニメーションに変更することは難しいと思うのですが、例えばランダムにIDを選択していってコネクトをoffにできれば、徐々に崩壊していくアニメーションならできるかもですね。
「MoGraph選択範囲でクローンを変える」みたいに選択範囲を切り替えるという方法もあるのかしら?

昨日発表されたmodo801の新機能でダイナミクスにコネクトがついたようですし、今後は他のダイナミクスでもコネクトが一般化するのではないかな?
添付ファイル
auto_connector_163-3_ballsoket.c4d.zip
(306.05 KiB) ダウンロード数: 223 回
2014-04-26 00.42.41.png
nob
 
記事: 43
登録日時: 火 3 18, 2014 8:23 pm


Return to ユーザフォーラム

オンラインデータ

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