diff options
Diffstat (limited to 'release/scripts/startup/bl_ui/properties_scene.py')
-rw-r--r-- | release/scripts/startup/bl_ui/properties_scene.py | 200 |
1 files changed, 143 insertions, 57 deletions
diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py index 66a16daa22f..e0f4fd1f75b 100644 --- a/release/scripts/startup/bl_ui/properties_scene.py +++ b/release/scripts/startup/bl_ui/properties_scene.py @@ -21,6 +21,10 @@ import bpy from bpy.types import Panel, UIList from rna_prop_ui import PropertyPanel +from bl_ui.properties_physics_common import ( + point_cache_ui, + effector_weights_ui, + ) class SCENE_UL_keying_set_paths(UIList): def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index): @@ -59,36 +63,6 @@ class SCENE_PT_scene(SceneButtonsPanel, Panel): layout.prop(scene, "active_clip", text="Active Clip") -class SCENE_PT_audio(SceneButtonsPanel, Panel): - bl_label = "Audio" - COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} - - def draw(self, context): - layout = self.layout - - scene = context.scene - rd = context.scene.render - ffmpeg = rd.ffmpeg - - layout.prop(scene, "audio_volume") - layout.operator("sound.bake_animation") - - split = layout.split() - - col = split.column() - col.label("Listener:") - col.prop(scene, "audio_distance_model", text="") - col.prop(scene, "audio_doppler_speed", text="Speed") - col.prop(scene, "audio_doppler_factor", text="Doppler") - - col = split.column() - col.label("Format:") - col.prop(ffmpeg, "audio_channels", text="") - col.prop(ffmpeg, "audio_mixrate", text="Rate") - - layout.operator("sound.mixdown") - - class SCENE_PT_unit(SceneButtonsPanel, Panel): bl_label = "Units" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -198,6 +172,63 @@ class SCENE_PT_keying_set_paths(SceneButtonsPanel, Panel): col.prop(ksp, "bl_options") +class SCENE_PT_color_management(SceneButtonsPanel, Panel): + bl_label = "Color Management" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} + + def draw(self, context): + layout = self.layout + + scene = context.scene + rd = scene.render + + col = layout.column() + col.label(text="Display:") + col.prop(scene.display_settings, "display_device") + + col = layout.column() + col.separator() + col.label(text="Render:") + col.template_colormanaged_view_settings(scene, "view_settings") + + col = layout.column() + col.separator() + col.label(text="Sequencer:") + col.prop(scene.sequencer_colorspace_settings, "name") + + +class SCENE_PT_audio(SceneButtonsPanel, Panel): + bl_label = "Audio" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} + + def draw(self, context): + layout = self.layout + + scene = context.scene + rd = context.scene.render + ffmpeg = rd.ffmpeg + + layout.prop(scene, "audio_volume") + layout.operator("sound.bake_animation") + + split = layout.split() + + col = split.column() + col.label("Listener:") + col.prop(scene, "audio_distance_model", text="") + col.prop(scene, "audio_doppler_speed", text="Speed") + col.prop(scene, "audio_doppler_factor", text="Doppler") + + col = split.column() + col.label("Format:") + col.prop(ffmpeg, "audio_channels", text="") + col.prop(ffmpeg, "audio_mixrate", text="Rate") + + layout.operator("sound.mixdown") + + class SCENE_PT_physics(SceneButtonsPanel, Panel): bl_label = "Gravity" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -215,6 +246,88 @@ class SCENE_PT_physics(SceneButtonsPanel, Panel): layout.prop(scene, "gravity", text="") +class SCENE_PT_rigid_body_world(SceneButtonsPanel, Panel): + bl_label = "Rigid Body World" + COMPAT_ENGINES = {'BLENDER_RENDER'} + + @classmethod + def poll(cls, context): + scene = context.scene + rd = scene.render + return scene and (rd.engine in cls.COMPAT_ENGINES) + + def draw_header(self, context): + scene = context.scene + rbw = scene.rigidbody_world + if rbw is not None: + self.layout.prop(rbw, "enabled", text="") + + def draw(self, context): + layout = self.layout + + scene = context.scene + + rbw = scene.rigidbody_world + + if rbw is None: + layout.operator("rigidbody.world_add") + else: + layout.operator("rigidbody.world_remove") + + col = layout.column() + col.active = rbw.enabled + + col = col.column() + col.prop(rbw, "group") + col.prop(rbw, "constraints") + + split = col.split() + + col = split.column() + col.prop(rbw, "time_scale", text="Speed") + col.prop(rbw, "use_split_impulse") + + col = split.column() + col.prop(rbw, "steps_per_second", text="Steps Per Second") + col.prop(rbw, "num_solver_iterations", text="Solver Iterations") + + +class SCENE_PT_rigid_body_cache(SceneButtonsPanel, Panel): + bl_label = "Rigid Body Cache" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER'} + + @classmethod + def poll(cls, context): + rd = context.scene.render + scene = context.scene + return scene and scene.rigidbody_world and (rd.engine in cls.COMPAT_ENGINES) + + def draw(self, context): + scene = context.scene + rbw = scene.rigidbody_world + + point_cache_ui(self, context, rbw.point_cache, rbw.point_cache.is_baked is False and rbw.enabled, 'RIGID_BODY') + + +class SCENE_PT_rigid_body_field_weights(SceneButtonsPanel, Panel): + bl_label = "Rigid Body Field Weights" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER'} + + @classmethod + def poll(cls, context): + rd = context.scene.render + scene = context.scene + return scene and scene.rigidbody_world and (rd.engine in cls.COMPAT_ENGINES) + + def draw(self, context): + scene = context.scene + rbw = scene.rigidbody_world + + effector_weights_ui(self, context, rbw.effector_weights, 'RIGID_BODY') + + class SCENE_PT_simplify(SceneButtonsPanel, Panel): bl_label = "Simplify" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -243,33 +356,6 @@ class SCENE_PT_simplify(SceneButtonsPanel, Panel): col.prop(rd, "simplify_ao_sss", text="AO and SSS") -class SCENE_PT_color_management(Panel): - bl_label = "Color Management" - bl_space_type = 'PROPERTIES' - bl_region_type = 'WINDOW' - bl_context = "scene" - - def draw(self, context): - layout = self.layout - - scene = context.scene - rd = scene.render - - col = layout.column() - col.label(text="Display:") - col.prop(scene.display_settings, "display_device") - - col = layout.column() - col.separator() - col.label(text="Render:") - col.template_colormanaged_view_settings(scene, "view_settings") - - col = layout.column() - col.separator() - col.label(text="Sequencer:") - col.prop(scene.sequencer_colorspace_settings, "name") - - class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "scene" |