GetChannel with custom material



  • On 23/04/2015 at 09:17, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   R15 
    Platform:   Windows  ;   Mac OSX  ; 
    Language(s) :     C++  ;

    ---------
    I have a custom material written using MaterialData with multiple channels, some of them can be logically mapped to channels of standard C4D material. I want to ask if it's possible to support BaseMaterial::GetChannel for such custom material?
    The reason I want this is to support some C4D features, for example Displacer, in which user can set Channel directly from texture tag (and I assume this is internally implemented using GetChannel of BaseMaterial class).



  • On 24/04/2015 at 06:26, xxxxxxxx wrote:

    Hi,

    I'm afraid BaseMaterial::GetChannel() cannot be supported by external MaterialData plugins.
    It can only be supported by Cinema 4D material (Mmaterial).



  • On 26/04/2015 at 16:44, xxxxxxxx wrote:

    Hi,
    thanks for answer, I was afraid it won't be possible.



  • On 31/12/2015 at 05:31, xxxxxxxx wrote:

    Hi,

    Just to be sure, it means that it is impossible to retrieve a channel or a material group (or a way to know its name and its state) from a BaseShader or a BaseMaterial?

    Is it impossible to access to the same data (channel name) as the Texture Manager do?

    _<_img src="http://www.xsyann.com/fc4d/texmanager.png" border="0" /_>_

    Basically I'm trying to know if a BaseShader is inside an enabled or a disabled material group (the name of the group would be useful too).

    I can do it for Mmaterial with BaseMaterial::GetChannel, Material::GetChannelState, BaseChannel::GetShader and Material::GetAllReflectionShaders()but I can't find a way to do it for other material types (Banji, Nukei, etc, VRay materials...)


Log in to reply