« C4D ThinkingParticles エミッタとパーティクルグループ | トップページ | C4D 電話機の螺旋コードを作ってみる-02 »

C4D 電話機の螺旋コードを作ってみる。

C4D絡みでweb検索し徘徊していたら、電話機の螺旋ケーブルのネタに遭遇…

受話器のコードを作る機会がある時に参考にしてみては…

aspic_blog---CINEMA4D---
http://www.cg-labo.net/aspicworks/wip/mutech-610/%e7%ac%ac7%e5%9b%9e%e3%80%80mutech-610%e4%bd%9c%e6%88%90.html

base80.com
http://www.base80.com/index.php/2007/02/17/phone_cord_with_spline_warp
http://www.base80.com/index.php/2007/02/17/dynamic_phone_cord

面白そうなので自分も…
でも、このブログでは、モジュールを使わないで、C4D標準で素の状態での挑戦。

この手のオブジェクトを作るとなると、最初に考えるのが、「スイープNURBS」を使う方法。
一番簡単で手軽だろう…

Phonecable_02

Phonecable_05

Phonecable_01

「PhoneCable_01.ZIP」

ケーブルの断面が円ならば、断面の上下左右は関係なく、全く悩む事は無いだろう。

でも断面が円とは限らない。
円以外を単純に当てはめても、うまくは行かないのだ…

Phonecable_04

Phonecable_03

「PhoneCable_02.ZIP」

この場合は、レールスプラインを使って制御するのですね。
このレールスプラインは、断面のX方向を決めるガイドなのです。

Phonecable_06

「PhoneCable_03.ZIP」

今回はケーブルなので、太さを均一にするので、「レールとの距離でスケール」の設定は無条件で「Off」なのだ。

Phonecable_07

Phonecable_08

スケールされていたときは、2つのスプラインの間に配置されていましたが、スケールが解除されると、断面の中心はスプライン上に配置されます。

さて、螺旋の場合の考えられる簡単なレールスプラインの配置は2通りあります。
・螺旋の進行方向に対して同じ方向か逆。

Phonecable_09

・巻きに対して外側か内側。

Phonecable_10

「PhoneCable_04.ZIP」

この2通りは、断面のX方向が変わるので、断面の向きも忘れずに調整しする事。

これで、スイープNURBSとレールスプラインの関係がなんとなく分かったと思いますが…

スイープNURBS以外の方法だと、「ロフトNURBS」を使う方法。

螺旋スプラインに断面を並べて「ロフトNURBS」で補間する方法…
断面の配置は手動では面倒なので、XPressoやC.O.F.F.E.E.エクスプレッション等を使う事だろう。

Phonecable_11

難点としては、断面のスプラインが大量に必要になる事…

Phonecable_12
同じ形状なので、インスタンスオブジェクトを使いました。

「PhoneCable_05.ZIP」

「スイープNURBS」でも「ロフトNURBS」でも、螺旋ケーブルの作り方には、問題はないだろう。

では、受話器の動きに合わせるには、標準機能では無理だろうか…

そう言えば、以前こんなものを作ったね…

テンションのあるケーブル(スプライン)の表現テスト
http://villager-and-c4d.cocolog-nifty.com/blog/2009/03/post-f6f3.html

XPressoで電球のフィラメント(うそ!)
http://villager-and-c4d.cocolog-nifty.com/blog/2009/01/xpresso-92dc.html

遠い昔なので忘れてしまったけど…

この2つを組み合わせると、どうだろうか…

Phonecable_13

「PhoneCable_06.ZIP」

いまいち…
不具合も発見しました…

断面が円形の場合は、根元がクルクル回っても問題ないけど、それ以外は無理なのか…

やはりレールスプラインが必要だろう。

XPressoの書き直しだ…

つづく…

|

« C4D ThinkingParticles エミッタとパーティクルグループ | トップページ | C4D 電話機の螺旋コードを作ってみる-02 »