---
title: MoGraphの複製数を増やした時，新しいクローンをニョキっと生やす
date: 2015-01-12T00:00:00.000Z
updated: 2026-01-08T14:50:38.247Z
tags:
  - tips
  - cc-by
url: https://baku89.com/ja/tips/mograph-new-instance-transition
---

# MoGraphの複製数を増やした時，新しいクローンをニョキっと生やす

<https://vimeo.com/116527107>

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

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

[project file](https://www.dropbox.com/s/ucwgjpq1q8ga7wj/changing_new_clone's_size_gradually.c4d?dl=0)

```
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 イジってないからかなり忘れてる...
