I don't know if it's a bug or limitation of 2.78(I have same results) but in Blender 2.79 testbuild2 it works!
On Thu, Jul 27, 2017 at 3:03 PM, Simon Rainerson <[email protected]> wrote: > Hello > > I'm trying to get blender to run on our render farm and I would like to have > different priorities or frame ranges or other things per render layer. I > thought it would be practical to store these properties on the render layers > themselves, but when I tested that I couldn't get it to work. > > Is it a known/intended limitation, a bug or just me not knowing what I'm > doing? > > Here is my test code (also attached): > > >>> import bpy >>> >>> >>> class RENDER_UL_my_renderlayers(bpy.types.UIList): >>> >>> def draw_item(self, context, layout, data, item, icon, active_data, >>> active_propname, index): >>> >>> layer = item >>> >>> row=layout.row() >>> >>> print(dir(layer)) >>> >>> row.prop(layer, 'name', text='') >>> >>> row.prop(layer, 'test2', text='') >>> >>> row.prop(layer, 'use', text = '') >>> >>> >>> class TEST_PANEL(bpy.types.Panel): >>> >>> bl_label = "TEST" >>> >>> bl_idname = "RENDER_PT_ui_test" >>> >>> bl_space_type = 'PROPERTIES' >>> >>> bl_region_type = 'WINDOW' >>> >>> bl_context = "render" >>> >>> >>> def draw(self, context): >>> >>> layout = self.layout >>> >>> col = layout.column() >>> >>> col.prop(context.scene, "test1") >>> >>> col.template_list('RENDER_UL_my_renderlayers', 'RenderLayers', >>> context.scene.render, 'layers', context.scene, "testindex") >>> >>> >>> def register(): >>> >>> bpy.types.Scene.test1 = bpy.props.IntProperty() >>> >>> bpy.types.Scene.testindex = bpy.props.IntProperty() >>> >>> bpy.types.SceneRenderLayer.test2 = bpy.props.IntProperty() >>> >>> >>> >>> bpy.utils.register_class(RENDER_UL_my_renderlayers) >>> >>> bpy.utils.register_class(TEST_PANEL) >>> >>> >>> def unregister(): >>> >>> bpy.utils.unregister_class(RENDER_UL_my_renderlayers) >>> >>> bpy.utils.unregister_class(TEST_PANEL) >>> >>> >>> del bpy.types.Scene.test1 >>> >>> del bpy.types.Scene.test2 >>> >>> del bpy.types.Scene.testindex >>> >>> >>> >>> if __name__ == "__main__": >>> >>> register() > > > In the console I get >> >> rna_uiItemR: property not found: SceneRenderLayer.test2 > > > In the print(dir(layer)) test2 shows up but If I do >> >> bpy.data.scenes[0].render.layers[0].test2 > > I get >> >> (<built-in function IntProperty>, {}) > > Instead of a number. > > test1 shows up like it should. > > Thanks > > SIMON RAINERSON > Techincal Director > > GOODBYE KANSAS STUDIOS > Rosenlundsgatan 40, 4th floor > 118 53 Stockholm, Sweden > > Ph: +46 8 556 990 00 > www.goodbyekansas.com > > > _______________________________________________ > Bf-python mailing list > [email protected] > https://lists.blender.org/mailman/listinfo/bf-python > _______________________________________________ Bf-python mailing list [email protected] https://lists.blender.org/mailman/listinfo/bf-python
