diff options
Diffstat (limited to 'add_advanced_objects_menu/scene_texture_render.py')
-rw-r--r-- | add_advanced_objects_menu/scene_texture_render.py | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/add_advanced_objects_menu/scene_texture_render.py b/add_advanced_objects_menu/scene_texture_render.py new file mode 100644 index 00000000..02d6490b --- /dev/null +++ b/add_advanced_objects_menu/scene_texture_render.py @@ -0,0 +1,78 @@ +# gpl: author meta-androcto + +import bpy +from bpy.types import Operator + + +class add_texture_scene(Operator): + bl_idname = "objects_texture.add_scene" + bl_label = "Create test scene" + bl_description = "Cycles renderer Scene: Camera aligned to a plane" + bl_options = {'REGISTER', 'UNDO'} + + def execute(self, context): + try: + blend_data = context.blend_data + + # add new scene + bpy.ops.scene.new(type="NEW") + scene = bpy.context.scene + bpy.context.scene.render.engine = 'CYCLES' + scene.name = "scene_texture_cycles" + + # render settings + render = scene.render + render.resolution_x = 1080 + render.resolution_y = 1080 + render.resolution_percentage = 100 + + # add new world + world = bpy.data.worlds.new("Cycles_Textures_World") + scene.world = world + world.use_sky_blend = True + world.use_sky_paper = True + world.horizon_color = (0.004393, 0.02121, 0.050) + world.zenith_color = (0.03335, 0.227, 0.359) + world.light_settings.use_ambient_occlusion = True + world.light_settings.ao_factor = 0.5 + + # add camera + bpy.ops.view3d.viewnumpad(type='TOP') + bpy.ops.object.camera_add( + location=(0, 0, 2.1850), rotation=(0, 0, 0), view_align=True + ) + cam = bpy.context.active_object.data + cam.lens = 35 + cam.draw_size = 0.1 + + # add plane + bpy.ops.mesh.primitive_plane_add(enter_editmode=True, location=(0, 0, 0)) + bpy.ops.mesh.subdivide(number_cuts=10, smoothness=0) + bpy.ops.uv.unwrap(method='CONFORMAL', margin=0.001) + bpy.ops.object.editmode_toggle() + plane = bpy.context.active_object + + # add plane material + planeMaterial = blend_data.materials.new("Cycles_Plane_Material") + bpy.ops.object.material_slot_add() + plane.material_slots[0].material = planeMaterial + # Diffuse + planeMaterial.preview_render_type = "FLAT" + planeMaterial.diffuse_color = (0.2, 0.2, 0.2) + # Cycles + planeMaterial.use_nodes = True + + # Back to Scene + sc = bpy.context.scene + bpy.ops.view3d.viewnumpad(type='CAMERA') + + except Exception as e: + self.report({'WARNING'}, + "Some operations could not be performed (See Console for more info)") + + print("\n[Add Advanced Objects]\nOperator: " + "objects_texture.add_scene\nError: {}".format(e)) + + return {'CANCELLED'} + + return {'FINISHED'} |