Mograph Plugin improved Cloner

On 28/03/2016 at 04:42, xxxxxxxx wrote:

Hi, ia stayed all week on the forum and i dindt find an info about mograph objects.
Is it possible to develop a new mograph object like Cloner, Matrix...?

I want to make a scatter wich is  very close to Cloner Object but has some features that cloner doesn't have and also i want to have my cloned objects with my scatter to be affected by mograph effectors.
Like result i want: MyScatter is a Mograph Object -  MyScatter.GeGetMoData() works

What i do now i just use cloner in object mode and python effector to reposition clones and is not very efficient. Its more better to generate all objects for myown from start.

On 29/03/2016 at 02:55, xxxxxxxx wrote:


It's possible to develop new MoGraph like objects but only in C++. The Python API has some limitations and it's too slow for this kind of objects.

On 29/03/2016 at 04:47, xxxxxxxx wrote:

Thank you. I look in this direction. I mean C++ dev but in documrntation for C++ the same i found nothing about that. I just not understand why we have limitation for python. I think if i develop something for me i decide if want to use python or C++ . I need my tool to be fast or for me its enough what i have with python. And also with python is very easy to test something and final version always can be done in c++

On 29/03/2016 at 06:30, xxxxxxxx wrote:

The Cinema 4D API only provides EffectorData to develop MogGraph effector plugins. There's no special data class to develop MoGraph generator plugins.

The MoData of a generator is stored in a MoGraph Tag ID_MOTAGDATA. Add this invisible tag to your own object. Retrieve the data afterwards with c4d.modules.mograph.GeGetMoData() and then the MoData can be changed. This should be done in ObjectData::GetVirtualObjects().

The Python API doesn't support the message MSG_EXECUTE_EFFECTOR (as its name tells, it allows to execute MoGraph effectors). That's the current limitation: it's not possible to execute effectors in Python.

For more information see the following pages in the C++ SDK documentation:
MSG Effector (Note these messages aren't supported in Python too)
Effector ID

On 29/03/2016 at 08:31, xxxxxxxx wrote:

Yannick Big thanks