Fix T52833: OBJ triangulate doesn't match viewport
[blender-addons.git] / add_advanced_objects_menu / scene_texture_render.py
blob02d6490bbec822358cdc7d389108a022f567b24b
1 # gpl: author meta-androcto
3 import bpy
4 from bpy.types import Operator
7 class add_texture_scene(Operator):
8 bl_idname = "objects_texture.add_scene"
9 bl_label = "Create test scene"
10 bl_description = "Cycles renderer Scene: Camera aligned to a plane"
11 bl_options = {'REGISTER', 'UNDO'}
13 def execute(self, context):
14 try:
15 blend_data = context.blend_data
17 # add new scene
18 bpy.ops.scene.new(type="NEW")
19 scene = bpy.context.scene
20 bpy.context.scene.render.engine = 'CYCLES'
21 scene.name = "scene_texture_cycles"
23 # render settings
24 render = scene.render
25 render.resolution_x = 1080
26 render.resolution_y = 1080
27 render.resolution_percentage = 100
29 # add new world
30 world = bpy.data.worlds.new("Cycles_Textures_World")
31 scene.world = world
32 world.use_sky_blend = True
33 world.use_sky_paper = True
34 world.horizon_color = (0.004393, 0.02121, 0.050)
35 world.zenith_color = (0.03335, 0.227, 0.359)
36 world.light_settings.use_ambient_occlusion = True
37 world.light_settings.ao_factor = 0.5
39 # add camera
40 bpy.ops.view3d.viewnumpad(type='TOP')
41 bpy.ops.object.camera_add(
42 location=(0, 0, 2.1850), rotation=(0, 0, 0), view_align=True
44 cam = bpy.context.active_object.data
45 cam.lens = 35
46 cam.draw_size = 0.1
48 # add plane
49 bpy.ops.mesh.primitive_plane_add(enter_editmode=True, location=(0, 0, 0))
50 bpy.ops.mesh.subdivide(number_cuts=10, smoothness=0)
51 bpy.ops.uv.unwrap(method='CONFORMAL', margin=0.001)
52 bpy.ops.object.editmode_toggle()
53 plane = bpy.context.active_object
55 # add plane material
56 planeMaterial = blend_data.materials.new("Cycles_Plane_Material")
57 bpy.ops.object.material_slot_add()
58 plane.material_slots[0].material = planeMaterial
59 # Diffuse
60 planeMaterial.preview_render_type = "FLAT"
61 planeMaterial.diffuse_color = (0.2, 0.2, 0.2)
62 # Cycles
63 planeMaterial.use_nodes = True
65 # Back to Scene
66 sc = bpy.context.scene
67 bpy.ops.view3d.viewnumpad(type='CAMERA')
69 except Exception as e:
70 self.report({'WARNING'},
71 "Some operations could not be performed (See Console for more info)")
73 print("\n[Add Advanced Objects]\nOperator: "
74 "objects_texture.add_scene\nError: {}".format(e))
76 return {'CANCELLED'}
78 return {'FINISHED'}