Edited at

cinema4dでpythonを書いてみる。

More than 1 year has passed since last update.

cinema4dでpythonを書いてみる。

pythonもよくわからなかったのでpythonの文法的なものも以下にメモした。

http://qiita.com/_nabe/items/36f6f33397e9eec4e3b9


c4dでpythonを書く場所

いくつかある。


  • スクリプトタグに書く

  • スクリプトマネージャーに書く

  • Xpressoの中に書く

  • Pythonジェネレータに書く

  • pluginとして書く

まずは練習で、スクリプトタグか、スクリプトマネージャー上で実行をよく使った。


すでに定義されている変数

ショートカット的にcinema4d側が以下の変数を定義している模様。


オブジェクトを取得し位置を変えてみる

毎フレーム、オブジェクトをランダムに動かしてみる。以下のスクリプトを、スクリプトタグに書いた。


move.py

import c4d

import random

def main():
print "move!"
obj = op.GetObject()
obj[c4d.ID_BASEOBJECT_REL_POSITION,c4d.VECTOR_X] = 100 * (random.random()-0.5)
obj[c4d.ID_BASEOBJECT_REL_POSITION,c4d.VECTOR_Y] = 100 * (random.random()-0.5)
obj[c4d.ID_BASEOBJECT_REL_POSITION,c4d.VECTOR_Z] = 100 * (random.random()-0.5)


キャプチャはこんな感じです。

c4d.ID_BASEOBJECT_REL_POSITION,c4d.VECTOR_X などのプロパティ名は、cinema4d上のスクリプトエディタにgui上のパラメータ名をドラッグすると表示される!


ドキュメント

APIはここから頑張って探す。あるいはググる!

https://developers.maxon.net/docs/Cinema4DPythonSDK/html/index.html


公式っぽいサンプル

https://github.com/PluginCafe/cinema4d_py_sdk


スニペット

https://qiita.com/_nabe/items/8c106af9f9f541d3db95