REFLECTION #Resolved



  • On 23/09/2017 at 05:50, xxxxxxxx wrote:

    Greetings to all! Tell me how you can manage  c4d.REFLECTION_LAYER_MAIN_VALUE_ROUGHNESSREAL and c4d.REFLECTION_LAYER_MAIN_VALUE_REFLECTION from python? Beforehand grateful.

    I can not understand what's the matter.

    self.mat_floor = self.floor.GetTag(5616)[c4d.TEXTURETAG_MATERIAL]
    

    self.mat_floor[c4d.MATERIAL_USE_REFLECTION] = op[ud.IF_ONOFF]

    ref = self.mat_floor.GetReflectionLayerIndex(0)
            mainid = ref.GetDataID()

    self.mat_floor[mainid + c4d.REFLECTION_LAYER_SAMPLING_DIM] = op[ud.IF_DIM]
            self.mat_floor[mainid + c4d.REFLECTION_LAYER_SAMPLING_DIM_DISTANCE] = op[ud.IF_DIST]
            self.mat_floor[mainid + c4d.REFLECTION_LAYER_SAMPLING_DIM_FALLOFF] = op[ud.IF_FALLOFF]

    This code working. I can't used c4d.REFLECTION_LAYER_MAIN_VALUE_ROUGHNESSREAL and c4d.REFLECTION_LAYER_MAIN_VALUE_REFLECTION. What should I do?



  • On 23/09/2017 at 08:48, xxxxxxxx wrote:

    https://plugincafe.maxon.net/topic/8647/11313_r16-material-reflectance-limitation&PID=44848#44848

    I guess you have everything in this thread for fixing your issue.



  • On 23/09/2017 at 08:54, xxxxxxxx wrote:

    My code from your link, but this want work with reflection roughness)))



  • On 23/09/2017 at 09:16, xxxxxxxx wrote:

    `
    I don't have a working environment until 2 days
    But as the sdk say there is no REFLECTION_LAYER_MAIN_VALUE_ROUGHNESSREAL only REFLECTION_LAYER_MAIN_VALUE_ROUGHNESS

    But I will look at this when I will have a working environment since I'm sure it's not your issue here :)

    EDIT:
    I'm back at home.
    Personally I'm able to get the roughness and the reflection using this code

    import c4d
      
    def main() :
       mat = doc.GetFirstMaterial() 
       layer = mat.GetReflectionLayerIndex(0)
          
       roughness = mat[layer.GetDataID() + c4d.REFLECTION_LAYER_MAIN_VALUE_ROUGHNESS]
       reflection = mat[layer.GetDataID() + c4d.REFLECTION_LAYER_MAIN_VALUE_REFLECTION]
       
       print "roughness: {0}, reflection: {1}".format(roughness, reflection)
      
    if __name__=='__main__':
        main()
    

    `



  • On 25/09/2017 at 01:35, xxxxxxxx wrote:

    Hello,

    the reflection strength is set with REFLECTION_LAYER_MAIN_VALUE_REFLECTION , the reflection roughness with REFLECTION_LAYER_MAIN_VALUE_ROUGHNESS. You find the full list in the c4d_reflection.h header file or in the C++ online documentation.

    best wishes,
    Sebastian



  • On 25/09/2017 at 04:29, xxxxxxxx wrote:

    Thank you all for the clarification. In the console showed Mat[c4d.REFLECTION_LAYER_MAIN_VALUE_ROUGHNESSREAL] and it a little confused me.


Log in to reply