スクリプトによるキーフレーム操作関連の質問

Xpressoやスクリプト、プラグインの作成に関する質問や自作のスクリプトやノードの紹介はこちらをお使いください
BUTTON_POST_REPLY
Ryo_Maeda
記事COLON 8
登録日時COLON 2017年8月20日(日) 18:01

スクリプトによるキーフレーム操作関連の質問

投稿記事 by Ryo_Maeda » 2018年1月12日(金) 15:15

こんにちはtms様
お世話になっています。

pyhtonコードでのキーフレーム操作についてご質問です。

使用バージョンはR19のスタジオです。

例えばオブジェクトにつけたユーザーデータを
”選択オブジェクトを記録”のように
一括で一緒にキーフレームにうちたいと思った場合
どんなスクリプトを作るとよいでしょう。

また、そのコードを書く際のC4D特有の指定
”C4Dオブジェクトの指定”
”C4Dの操作”(例えばキーを打つ)(レンダリングを開始する)
の部分はどのサイトのどこを見ればわかるでしょう。
pyhtonのリンクもいくつか見せて頂きましたが。
理解できませんでした。(英語がわからないせいかもしれません)
この文字がオブジェクトの指定、この文字が操作の指定など
一つでもわかれば何とかなりそうなんですが

コード風に書くと

z=5
y=5
vector_a=(z,y)
object_a=xxxx          (object_aにc4dオブジェクトを代入)
vector_a=xxxx.xxxx        (xxxxのベクトルにをvector_a代入)
xxxx.xxxx=xxxx.xxxx()       (xxxxのベクトルにキーフレームを打つ) 
xxxxx.xxxxx(xxxx) (シーンを”レンダリング設定2”でレンダリングする) 

このxxxxの部分をどこで調べるか知りたいです。
すごくXが多くなってしまいましたが

よろしくお願いいたします。
添付ファイル
user_data_kye_0112.jpg

tofuji
記事COLON 841
登録日時COLON 2011年3月10日(木) 10:41
お住まいCOLON 東京都渋谷区

Re: スクリプトによるキーフレーム操作関連の質問

投稿記事 by tofuji » 2018年1月13日(土) 08:41

CINEMA 4DのPythonに関する情報は全てここにあります。
https://developers.maxon.net/docs/Cinem ... index.html

CINEMA 4Dに関係ないPythonの基礎は他のページで調べてください。

XPressoのサンプルを作っておきました。
レンダリングはXPresso内からはできません。
http://www2.11moon.com/sample_files2018 ... on_key.zip

コードCOLON 全て選択

import c4d

def main():
    doc= c4d.documents.GetActiveDocument()            #get active document
    
    obj1= doc.GetFirstObject()            #get first object from the document
    obj2= op.GetNodeMaster().GetOwner().GetObject()            #get object from the tag in where this code is written
    obj3= doc.SearchObject("cloner4")            #get the object by name
    
    vector_a= c4d.Vector(11,0,2)            #set a vector
    vector_b= c4d.Vector(0,0,1)
    
    userdata_a= obj1[c4d.ID_USERDATA,2]            #get userdata "vector_a"
    obj1[c4d.ID_USERDATA,2]= vector_a            #set vector_a to the userdata "vector_a"
    
    ctime= doc.GetTime()            #get current time
    
    track1= obj1.GetFirstCTrack()            #get first track of the object
    curve1= track1.GetCurve()            #get a curve of the track
    curve1.AddKey(ctime)            #add a key on the curve at current time
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html

Ryo_Maeda
記事COLON 8
登録日時COLON 2017年8月20日(日) 18:01

Re: スクリプトによるキーフレーム操作関連の質問

投稿記事 by Ryo_Maeda » 2018年1月14日(日) 01:42

tofuji 様
ご丁寧にコードを書いていただいて、ありがとうございます。

<CINEMA 4DのPythonに関する情報は全てここにあります。
わかりました、ここだけしっかり見てみます。

このコードと教えて頂いたURLを何度も見直せば
たぶん書き方がわかるようになると思います。

書き方がわかればいろいろと楽ができます。
ありがとうございます。

BUTTON_POST_REPLY