[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4752: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4754: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4755: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4756: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
www.tmsmedia.co.jp • トピック - オブジェクト表面の均等配置

オブジェクト表面の均等配置

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

オブジェクト表面の均等配置

投稿記事by Yokkon » 木 7 04, 2013 12:54 am

いつも拝見させて頂いております。

リンク先の画像にようにティーポットの表面に沿って
複製された複数のオブジェクトを奇麗に均等に並べるには
どうすれば良いのでしょうか?

-参考Link-
http://vimeo.com/28215899


MorGraphはポリゴンの頂点や中央などに配列が可能ですが
ポリゴンを調整せずにオブジェクト全体に均一に配列出来ないのか悩んでおります。

この場合はThinkingParticlesを使用するのでしょうか。

私はThinkingParticlesで作成する知識が無いので
もしも使用せずに作成する方法等があれば
合わせてご教授頂けませんでしょうか。

よろしくお願い致します。
Yokkon
 
記事: 12
登録日時: 水 7 03, 2013 7:31 pm

Re: オブジェクト表面の均等配置

投稿記事by miyata » 月 7 08, 2013 11:30 am

いろいろ調べましたが、オブジェクトのサーフェイスに均等にクローナーを配列する方法を内容に思います。
自分で作るとしたら、ポリゴンオブジェクトからエッジのスプラインを作成して、
そのスプラインに沿ってをクローナーで並べる方法を取ると思います。
そうすると一番近い結果が得られると思います。
添付ファイル
.png
miyata
 
記事: 505
登録日時: 火 12 29, 2009 4:25 pm

Re: オブジェクト表面の均等配置

投稿記事by Yokkon » 火 7 09, 2013 8:45 am

Yokkon
 
記事: 12
登録日時: 水 7 03, 2013 7:31 pm

Re: オブジェクト表面の均等配置

投稿記事by miyata » 火 7 09, 2013 11:38 am

エッジの選択が手作業になります。
基本的にループ選択を使い、エッジを選択していきます。エッジが選択できたら、
メッシュメニュー/コマンド/エッジ選択をスプラインに
で一括で選択されているエッジをスプラインに変換できます。

すべてのエッジを選択して、全てのエッジをスプラインにしてもいいですが、あまりキレイには配列されないと思います。
miyata
 
記事: 505
登録日時: 火 12 29, 2009 4:25 pm

Re: オブジェクト表面の均等配置

投稿記事by tofuji » 火 7 09, 2013 5:52 pm

 サンプルでは、3dsmax用のTP4の機能を使ってUV座標に沿ってオブジェクトを並べているようです。

 しかし、CINEMA 4DのTPは古いのでこの機能がありません。またCINEMA 4Dの他の部分にもこの機能はありません。
したがって、その機能を自分で書かない限り同じことはできません。

 また、TPは難しい表現を簡単に実現するためにあります。
 もし、難しい表現を「TPを使わずにやれ」と言われれば、全てをプラグインやエクスプレッションの形でプログラムする必要があり、
それを「TPを使えない人」が理解するのは不可能だと思います。


 「TPは使うな」ということだったので、最初COFFEEイフェクタを使って簡単なサンプルを作ろうと思ったのですが、
COFFEEにはXPressoの「光線の衝突」に相当する機能がなく、またXPressoから直接MoGraphのクローンを操作する方法はないので、
結局TPを通すことしました。

 他に、ダイナミクスを通してXPressoからクローンを操作する方法がありますが、これはTPより面倒です。
 
 サンプルは、グリッドをオブジェクトに平行投影するもので、前から見れば完全に均等ですが、
側面では荒くなり、背面にはクローンがありません。

 その代わり、クローンをオブジェクトの表面に沿って自由に流すことができます。

http://www2.11moon.com/sample_files2013 ... urface.mp4

http://www2.11moon.com/sample_files2013 ... ce_102.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 09, 2013 6:42 pm

TP4ではUV座標に沿ってオブジェクトを並べているいうの情報から、アイデアが浮かびました。

サーフェイスデフォーマを使えば可能でした。サーフェイスデフォーマは、UV座標に沿ってオブジェクトを変形させるツールです。
ただ、直接並べたオブジェクトをサーフェイスデフォーマで変形させてもキレイに変形しないので、
平面ポリゴンをサーフェイスデフォーマでTeapotに合わせて変形させます。

その時サーフェイスデフォーマの値は、U50%、V50%、スケールは各1にしておきます。
平面はぐちゃぐちゃに変形されていますが、頂点は各UVに沿って配列されています。

後はクローナーでクローンタイプをオブジェクトにして、変形した平面を参照すれば均等に配列されます。
さらに平面の分割数を調整すれば、クローンの密度を調整できます。

サンプルを添付しました。

teapot.c4d.zip
(120.87 KiB) ダウンロード数: 219 回


追記:
平面オブジェクトの代わりにマトリクスオブジェクトも使えました。
ただ、マトリクスオブジェクトの場合、なぜか、サーフェイスデフォーマのスケール1で、強度が100%だと座標がすべて消えるので、スケールを0.99などに変えておく必要があります。
miyata
 
記事: 505
登録日時: 火 12 29, 2009 4:25 pm

Re: オブジェクト表面の均等配置

投稿記事by Yokkon » 日 7 14, 2013 9:41 am

解決致しました。
このような方法があるのですね。
ありがとうございました。
Yokkon
 
記事: 12
登録日時: 水 7 03, 2013 7:31 pm

Re: オブジェクト表面の均等配置

投稿記事by tofuji » 水 7 24, 2013 9:41 am

 その後延々と苦労して、やっとUVの値からオブジェクト表面の座標を求めるXPressoを作りました。

 かなり重い計算になるので、COFFEEで多数のオブジェクトを操作するのは大変です。XPressoノードの中に標準で組み込んでほしいものです。

サンプルムービー
http://www2.11moon.com/sample_files2013 ... V_pos5.mp4
サンプルファイル
http://www2.11moon.com/sample_files2013 ... V_pos5.zip


 ただし、サンプルムービー中で処理が止まっているのはMoInstanceオブジェクトのバグによるものです。このXPressoの問題ではありません。

また、このXPressoはまだ未完成であり、三角ポリゴンしか処理できません。
また、COFFEEはプリミティブからUV情報を取れないので、ポリゴンオブジェクトしか扱えません。
また、COFFEEはデフォーマの情報を取れないので、変形を反映できません(これはXPressoの標準ノードに組み込まれれば解決されます)。

その他にも、現時点ではいろいろ問題があります。
また、時間があればCOFFEEイフェクタに移植します。
---

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人]