C4D Python R12 テスト:セグメントに分断されているスプラインを全部連結させようと…
1つのスプラインにセグメントが複数あって…
それをセグメント順に連結して、1本のスプラインにしたいなぁ C4D Pythonスクリプトでね
なんて思って…試行錯誤
1つのスプラインにセグメントが複数あって…
それをセグメント順に連結して、1本のスプラインにしたいなぁ C4D Pythonスクリプトでね
なんて思って…試行錯誤
スプラインのセグメントの終端が必要になった事は無いだろうか?
今回は、終端ポイント番号のリストとして取得する関数を作ってみる。
[0, 3, 4, 6, 7, 9]
こんな具合で…
単体のコマンドで試してみましたが、実際にはこれらのコマンドを組み合わせて、新たな編集ツールを作るのですが…
アイデアしだいでは、面白いツールが作れるかもね。
スプラインの「分離」のSendModelingCommand()のC4D Python テストコード
スプラインに限ったものではありませんが…
スプラインの「セグメントを分離」のSendModelingCommand()のC4D Python テストコード
セグメントの分離は、スプラインに限ったものではないですが…
スプラインの「エッジ選択をスプラインに」のSendModelingCommand()のC4D Python テストコード
スプラインの別オブジェクトに分離のSendModelingCommand()のC4D Python テストコード
スプラインの接線の方向を均等化のSendModelingCommand()のC4D Python テストコード
スプラインの接線の長さを均等化のSendModelingCommand()のC4D Python テストコード
スプラインのセグメントに分離のSendModelingCommand()のC4D Python テストコード
スプラインのセグメントを連結のSendModelingCommand()のC4D Python テストコード
スプラインのポイント順を繰り上げのSendModelingCommand()のC4D Python テストコード
スプラインのポイント順を繰り下げのSendModelingCommand()のC4D Python テストコード
スプラインのポイント順を反転のSendModelingCommand()のC4D Python テストコード
スプラインの始点を設定のSendModelingCommand()のC4D Python テストコード
スプラインのソフト補間のSendModelingCommand()のC4D Python テストコード
スプラインのハード補間のSendModelingCommand()のC4D Python テストコード
スプラインのポイントの追加のSendModelingCommand()のC4D Python テストコード
スプラインのアウトラインを作成のSendModelingCommand()のC4D Python テストコード
スプラインの投影のSendModelingCommand()のC4D Python テストコード
| 固定リンク
もう夏なんだ…
でも…直ぐに秋が来て冬になるんだね…
Cinema 4Dで水とか川とか海のチュートって、あまり見かけないよね…
サンプルファイルも無いのかなぁ…
C4Dの流体のプラグインなんだけど。
ここを見た…?
http://www.dpit2.de/v2/index.php
DPIT Effexのギャラリーなんだけど…
これで、綺麗な波打ち際が作れそうな気がする…
動画なので表示するまで時間がかかるかもね。
あとは、定番の…
とか…
TurbulenceFDは、まだ液体には対応していないのかな…
| 固定リンク
まずは、テキストスプラインとPythonタグを使ってみた。
テキストスプラインの「テキスト」をPythonで操作してみようと思ったり…
テキストスプラインのテキストのプリセットは「CINEMA 4D」…
Pythonタグのスクリプトなので、グローバル変数:op は、Pythonタグ自身になります。
| 固定リンク
c4d.DocumentsモジュールのBaseDocumentクラスの冒頭に注意書きで書いてある「シーンに変更を加える前にStopAllThreads()を呼び出す必要がある」と言うのがありますね。
sharkattack51さんが書いたコードにあったんで、以前からStopAllThreads()は気になっていたんですけど…
でもね、「シーンに変更を加える…」って?
C4DPythonスクリプトは、シーンを変更する為に書くわけですよね。
変更しないスクリプトってどんなスクリプトだろうか?
全てのスクリプトがシーンを変更する為なんだから、スクリプトが実行される前にPy4Dが自動的にStopAllThreads()を呼び出してくれれば良いんじゃないだろうか?
あれだよね、XPressoのPythonノードでも呼び出す必要があるってことだよね…
XPressoのPythonノードだって、シーンを変更しているよね、しかもリアルタイムで…
でも、XPressoのPythonノードのプリセットは、
Python |
import c4d #Welcome to the world of Python def main(): global Output1 Output1 = Input1 + Input2 |
こんな具合で、StopAllThreads()が書き込まれていない…
スクリプトマネージャ(Python)にもPythonジェネレータのプリセットにもStopAllThreads()が書き込まれていないのだ。
もしかして、C4Dが起動してから使われるスクリプトやXPressoやジェネレータは関係ないのだろうか?
起動時に組み込まれるPython製のPluginに限った事なのか?
詳しくは、わからないので全てに書き込むしかないか?
| 固定リンク
リストからの削除って言うんだから…リスト型のremove()メソッドだろうか?
複数選択したオブジェクトの中から、スプラインオブジェクト以外のオブジェクトの選択を解除したい場合…
「Ctrl + 左クリック」で、ひとつづつ選択解除でできますけどね。
数が多くなると面倒なので…