Custom FIELDLAYER_CHANNELFLAG



  • Hello guys!
    We are looking for a way to change several plugin parameters using fields.
    The FieldsList documentation mentions FIELDLAYER_CHANNELFLAG, indicating that the user can enable/disable the effect of fields on certain aspects of the object (color, value, direction, rotation).

    5cba1724-9eb4-4fad-9798-63f28a1ada20-image.png
    Is it possible to use the Cinema 4D C ++ API to change these flags, adding your own? If not, how else can this issue be resolved?
    Thank you!



  • A field doesn't do anything. It is only a field.

    Some other thingy samples that field. And based on the sample result, it does something, like e.g. a MoGraph effector.

    What kind of plugin do you create? Why can't you simply add a FieldList parameter, sample that FieldList, and use the value to set your parameter(s)?



  • @PluginStudent said in Custom FIELDLAYER_CHANNELFLAG:

    A field doesn't do anything. It is only a field.
    Some other thingy samples that field. And based on the sample result, it does something, like e.g. a MoGraph effector.

    Thanks, I know very well how the Cinema 4D Fields system works.

    @PluginStudent said in Custom FIELDLAYER_CHANNELFLAG:

    ...and use the value to set your parameter(s)?

    We need use different values, which user can disable/enable as color, value, direction and rotation native field flags.
    In other words, we need to change several plugin parameters using only one FieldList. So instead color, value, direction and rotation flags we need something like value1, value2, value3 flags.



  • @mikeudin said in Custom FIELDLAYER_CHANNELFLAG:

    So instead color, value, direction and rotation flags

    These things aren't flags. These properties are hard-coded in the FieldOutput struct.



  • @mikeudin said in Custom FIELDLAYER_CHANNELFLAG:

    Thanks, I know very well how the Cinema 4D Fields system works.

    Hi,

    at least for me it is also not quite clear what you are trying to do. The flags (or whatever you want to call them) you are referring to, are linked to the public attributes of the same name in the struct FieldOutput and are part of the whole layer sampling logic. Not to mention all that GUI stuff that piles onto that.

    Unclear to me is also if you are implementing your own FieldData or not. If you do, the description of that FieldData would be the obvious place to expose any flags that change the sampling behavior of your field.

    Cheers,
    zipit



  • @mikeudin said in Custom FIELDLAYER_CHANNELFLAG:

    We need use different values, which user can disable/enable as color, value, direction and rotation native field flags.
    In other words, we need to change several plugin parameters using only one FieldList. So instead color, value, direction and rotation flags we need something like value1, value2, value3 flags.

    Hi @mikeudin
    Unfortunately, there is no way to add additional channels to the overall field system, only the pre-build one can be used.
    So if you have 3 values, you will need 3 fieldList.



  • @m_adam @zipit @PluginStudent
    OK, thank you guys!