橋本 Hashimoto   Baku

橋本 Hashimoto   Baku

MoGraphの複製数を増やした時,新しいクローンをニョキっと生やす (メモ)

このページは個人的なメモ書きです。何かあればご連絡ください。

タイトルわかりづらいですが...

MoGraph の複製数を増やした時に,いきなりクローンが現れるのではなく,徐々に大きくなりながら現れて欲しい時のためのスクリプトです.今やってる制作で作りました.

project file

import c4d
from c4d.modules import mograph as mo

prevCnt = 0

def main():
    global prevCnt

    md = mo.GeGetMoData(op)
    if md==None: return False

    cnt = md.GetCount()
    marr = md.GetArray( c4d.MODATA_MATRIX )

    if prevCnt < cnt :
        for i in xrange( prevCnt, cnt ) :
            marr[i].Scale( 0.001 )

    md.SetArray( c4d.MODATA_MATRIX, marr, True )
    prevCnt = cnt
    return True

ディレイエフェクタは,スケールが 0 からの補間の場合変な挙動をするのですが,現在のフレームで新しく登場したクローンのスケールを 1 フレームだけごく小さな数に設定する事で,補完が上手く効くようになります.

上の動画みたいな単純な例なら複製数を変えずにボリュームエフェクタでマスクをかけるような感覚でスケール -0.999 を適用したほうが早い気もしますが,頂点数の変わるポリゴンやマトリクスに配置した場合,例えば Thinking Particles と併用した時や,伸長するスプラインに配置した時などに使えそうです.

最近 C4D の Python イジってないからかなり忘れてる...