« C4D Py4DをC4D R11.5Demoへインストールしてみた… | トップページ | C4D Py4Dでコードをロックする事ができるんだね… »

C4D Py4Dをインストールしてみたけど…

結局のところ、Python自体の記述を習得しなければいけないのだね…

ダウンロードしたファイルの中には、いくつかのサンプルファイルがあります。

「examples」フォルダには、C4Dシーンファイルがあります。

Py4d_11

Cogwheels.c4d」を開いてみました。

Py4d_13

C.O.F.F.E.E.エクスプレッションタグと同じ働きをしている、Pythonタグがあります。

Py4d_12

残念な事は、C.O.F.F.E.E.ではコマンド等がハイライト表示されていますが、Py4Dではハイライト表示されていないので、見辛いです…

Py4d_14

C++ライクなC.O.F.F.E.E.に目が馴染んでいるので、Pythonが読みづらい…
これと同等なC.O.F.F.E.E.エクスプレッションだと…

Py4d_16

Py4d_15

やはりエクスプレッションエディタの方が見やすいね…

なるほどね…
PythonのオブジェクトのパラメータへのアクセスはBaseObject[ID]なんですね。
PRIM_COGWHEEL_MRADは、2083で、歯車スプラインの「中間の半径」です。

メンバ関数へのアクセスは…
Pythonでは、「.」
C.O.F.F.E.E.では、「->」

ブロックは…
C.O.F.F.E.E.では、「{ }」
Pythonでは、インデント…

変数の宣言が…
C.O.F.F.E.E.では、「var 変数名」
Pyhonでは、無いのだろうか…?

後は、何とかなりそうな、そうでもなさそうな…

C.O.F.F.E.E.エクスプレッションタグの属性は…

Py4d_17

これだけ…

Pythonタグの属性は…

Py4d_18

「Reset on frame 0」が、あります。
0フレームでリセットができるのだろうか…?

Python can round.c4d」を開いてみました。

このファイルにはXPressoしか、ありません。
XPresso内でも、C.O.F.F.E.E.ノードの様に使える、Pythonノードが追加されました。

Py4d_19

このC.O.F.F.E.E.ノードとPythonノードには、小数点以下四捨五入をするコードが組まれています。

Py4d_20

左がC.O.F.F.E.E.ノード、右がPythonノード…
何故、この様なコードが選ばれたのだろう…
Pyshonなら、C.O.F.F.E.E.より簡潔に記述できると言いたかったのだろうか…
C.O.F.F.E.E.に四捨五入の関数が無かっただけの話で…
この比較には、悪意を感じるね…
ま、そう言う事ではないんだろうけど…
C.O.F.F.E.E.ノードと同じく処理ができますよ… それぐらいのレベルだろうか…

C.O.F.F.E.E.ノードの属性です。

Py4d_21

今、気付いたけど…
C.O.F.F.E.E.ノードのスクリプトの左側に、キーフレームの設定がありますが…
キーフレーム毎にスクリプトを変えることができるのかい?

出来るんだね… 知らなかった… 今気付いたよ…

Pythonノードの属性です。

Py4d_22

C.O.F.F.E.E.ノードとは違って、ロックはできません。

何故、Pythonノードに「座標」属性があるんだい…?

Pendulum.c4d」を開いてみました。

Py4d_23

何だろう…
この軌跡を描いた十字は…
スプラインと球体とテキストとPythonタグしかありません…
もしや、C4D ThinkingParticlesなんて事はあるのだろうか…

Py4d_24

C4D ThinkingParticles設定を開いてみたら…
30個のパーティクルが生成されている…

ThinkingParticlesの制御が出来るとMAXON JAPAN Twitterで読んだけど…
生成まで出来るとは知らなかった…

C4D ThinkingParthiclesのジェネレータ「PStorm」ノード等をXPresso内に追加せずとも、この、Pythonタグでパーティクルを生成が出来るんだね。
ThinkingParticlesモジュールがインストールされていないと駄目だと思いますが…

Pythonタグの中身です。

Py4d_25

赤で囲った部分がThinkingParticlesらしいです。
ごめんなさい、上1行はThinkingParticlesの生成には関係ないようです。
「tp」と言うのがThinkingParticlesモジュールで…
「tp」がTrueならインストールされている。
と言う事のようだけど…
「k」が生成されたパーティクルでset_pos()が、「PSetData」ノードの入力「位置」にあたるのでしょうね…
こんなに簡単かぁ…

PythonタグでThinkingParticlesのパーティクルが生成出来るなら、Pythonノードでも出来るという事でね…

GroupArray.c4d」を開いてみた。

Py4d_27

マテリアルが無いのにオブジェクトに色が付いてるね…
アニメーションを再生すると回転しながら色も変わるのか…
これって、オブジェクトの「基本」属性の「表示色」の設定ですよね…

Py4d_28

やはり、そうだね…
でも、この設定をPythonで制御しても、何か意味があるのだろうか…?
この設定ってレンダリングに反映されるんだっけ?

Py4d_29

へぇ~、知らなかった…
オブジェクトの属性の「基本」属性の「色を指定」「表示色」で設定した色が、レンダリングでも有効なんですね…
マテリアルを設定したテクスチャタグを付けなくても、レンダリング時のオブジェクトにカラーを設定できるんだ…
てっきり、ビューのみに有効だと思っていました…

C4D R5から使っているのに… 忘れたのか、それとも最初から知らなかったのかは定かではありません…ま、言い訳がましいですね…ちょっと照れてます…

「examples」フォルダには、C4Dシーンファイルの確認は、もういいですね…

「plugins」フォルダにはPython製のプラグインがあります。

Py4d_30

プラグイン「RoundedTube」のフォルダ構成を見てみましょう…

Py4d_31

C.O.F.F.E.E.プラグインと、そんなに変わりは無いと思います。

ファイルも…
リソースファイル「res」
ヘッダファイル「h」
ストリングファイル「str」
アイコン「tif」

プラグインの本体が「pyp」

多くのプラグインの拡張子が「.pyp」で、アスキーファイルです。

Py4d_32

が、中の一つに「RockEngine」と言う岩オブジェクトを作るプラグインの拡張子が「.pype」で…
これは、中身はバイナリーで、開いても読めません。

Py4d_33

コンパイルされた状態なのか?暗号化されたのか?
Pythonにそう言う機能があるのか?不明…
Py4Dだけの機能なのかも…
読めなくする事も可能なんだね…

C.O.F.F.E.E.のコンパイルは、暗号化しているだけのような気がしますが…
Pythonには、コンパイルがあるのだろうか…?
コンパイルすると、実行速度は速くなるのかなぁ…

さて、あとは、C4D内の「Py4D」メニューだけど…
これは、後ほど…
いつになるかは、不明。
ブログの更新も2月くらいまでは、回数が減ります。
2月以降もどうなるかわかりませんが…

Py4Dを使うには、PythonとC4D APIと両方覚える必要があるんだね…

何だか、だんだんやる気が出てきたけど…
でも2010年3月31日までかぁ…
でも、なぜトライアルに期限を設定してあるのだろうか…
やはり、2010年4月から正規バージョンが有料になるんだろうね…
それ以外、理由が見つからない…
Python自体が無料なのに…

Py4Dをインストールして使い始めるユーザの為の道しるべには、なっただろうか…

|

« C4D Py4DをC4D R11.5Demoへインストールしてみた… | トップページ | C4D Py4Dでコードをロックする事ができるんだね… »