소스 검색

Delete PRECISE_RENDER_BORDER_ADJUST_V1-3.PY

0000OOOO0000 5 년 전
부모
커밋
f9061ba0c7
No account linked to committer's email

+ 0
- 158
◯ᴥᗱᗴᗝИNᗱᗴᙁ⚭ⵙ⚭ᙁᗱᗴИNᗝᗱᗴᴥ◯/2.90/SCRIPTS/ADDONS/PRECISE_RENDER_BORDER_ADJUST_V1-3.PY 파일 보기

@@ -1,158 +0,0 @@
1
-######################################################################################################
2
-# A simple add-on to allows the user to precisly place the border render region (Ctrl+B in cam view) #
3
-# using numerical input, witch can be animated                                                       #
4
-# Actualy uncommented (see further version)                                                          #
5
-# Author: Lapineige                                                                                  #
6
-# License: GPL v3                                                                                   #
7
-######################################################################################################
8
-
9
-
10
-############# Add-on description (used by Blender)
11
-
12
-bl_info = {
13
-    "name": "Precise Render Border Adjust",
14
-    "description": 'Allows to modify and animate the "Border Render" region with numerical input.',
15
-    "author": "Lapineige",
16
-    "version": (1, 3),
17
-    "blender": (2, 71, 0),
18
-    "location": "Properties > Render > Precise Render Border Adjust (panel)",
19
-    "warning": "", # used for warning icon and text in addons panel
20
-    "wiki_url": "http://le-terrier-de-lapineige.over-blog.com/2014/07/precise-render-border-adjust-mon-add-on-pour-positionner-precisement-le-border-render.html",
21
-    "tracker_url": "http://blenderclan.tuxfamily.org/html/modules/newbb/viewtopic.php?topic_id=42159",
22
-    "category": "Render"}
23
-
24
-##############
25
-
26
-import bpy
27
-
28
-bpy.types.Scene.x_min_pixels = bpy.props.IntProperty(min=0, description="Minimum X value (in pixel) for the render border")
29
-bpy.types.Scene.x_max_pixels = bpy.props.IntProperty(min=0, description="Maximum X value (in pixel) for the render border")
30
-bpy.types.Scene.y_min_pixels = bpy.props.IntProperty(min=0, description="Minimum Y value (in pixel) for the render border")
31
-bpy.types.Scene.y_max_pixels = bpy.props.IntProperty(min=0, description="Maximum Y value (in pixel) for the render border")
32
-
33
-
34
-class PreciseRenderBorderAdjust(bpy.types.Panel):
35
-    """Creates the tools in a Panel, in the scene context of the properties editor"""
36
-    bl_label = "Precise Render Border Adjust"
37
-    bl_idname = "Precise_Render_Border_Adjust"
38
-    bl_space_type = 'PROPERTIES'
39
-    bl_region_type = 'WINDOW'
40
-    bl_context = "render"
41
-
42
-    def draw(self, context):
43
-        layout = self.layout
44
-
45
-        scene = context.scene
46
-        
47
-        if not scene.render.use_border:
48
-            sub = layout.split(percentage=0.7)
49
-            sub.label(icon="ERROR", text="Border Render not activated:")
50
-            sub.prop(scene.render, "use_border")
51
-        
52
-        sub = layout.column()
53
-        row = sub.row()
54
-        row.label(text="")
55
-        row.prop(scene.render, "border_max_y", text="Max", slider=True)
56
-        row.label(text="")
57
-        row = sub.row(align=True)
58
-        row.prop(scene.render, "border_min_x", text="Min", slider=True)
59
-        row.prop(scene.render, "border_max_x", text="Max", slider=True)
60
-        row = sub.row()
61
-        row.label(text="")
62
-        row.prop(scene.render, "border_min_y", text="Min", slider=True)
63
-        row.label(text="")
64
-        
65
-        row = layout.row()
66
-        row.label(text="Convert values to pixels:")
67
-        row.operator("render.bordertopixels", text="Border -> Pixels")
68
-        
69
-        layout.label(text="Pixels position X:")
70
-        row = layout.row(align=True)
71
-        row.prop(scene, "x_min_pixels", text="Min")
72
-        row.prop(scene, "x_max_pixels", text="Max")
73
-        layout.label(text="Pixels position Y:")
74
-        row = layout.row(align=True)
75
-        row.prop(scene, "y_min_pixels", text="Min")
76
-        row.prop(scene, "y_max_pixels", text="Max")
77
-        
78
-        layout.label(icon="INFO", text="Don't forget to apply pixels values")
79
-        row = layout.row()
80
-        row.operator("render.pixelstoborder", text="Pixels -> Border")
81
-
82
-class PixelsToBorder(bpy.types.Operator):
83
-    """ Convert the pixel value into the proportion needed by the Blender native property """
84
-    bl_idname = "render.pixelstoborder"
85
-    bl_label = "Convert Pixels to Border proportion"
86
-    
87
-    @classmethod
88
-    def poll(cls, context):
89
-        return True
90
-
91
-    def execute(self, context):
92
-        C = bpy.context
93
-    
94
-        X = C.scene.render.resolution_x
95
-        Y = C.scene.render.resolution_y
96
-        
97
-        C.scene.render.border_min_x = C.scene.x_min_pixels / X
98
-        C.scene.render.border_max_x = C.scene.x_max_pixels / X
99
-        C.scene.render.border_min_y = C.scene.y_min_pixels / Y
100
-        C.scene.render.border_max_y = C.scene.y_max_pixels / Y
101
-        
102
-        if C.scene.x_min_pixels > X:
103
-            C.scene.x_min_pixels = X
104
-        if C.scene.x_max_pixels > X:
105
-            C.scene.x_max_pixels = X
106
-        if C.scene.y_min_pixels > Y:
107
-            C.scene.y_min_pixels = Y
108
-        if C.scene.y_max_pixels > Y:
109
-            C.scene.y_max_pixels = Y
110
-        
111
-        return {'FINISHED'}
112
-    
113
-class BorderToPixels(bpy.types.Operator):
114
-    """ Convert the Blender native property value to pixels"""
115
-    bl_idname = "render.bordertopixels"
116
-    bl_label = "Convert border values to pixels"
117
-    
118
-    @classmethod
119
-    def poll(cls, context):
120
-        return True
121
-
122
-    def execute(self, context):
123
-        C = bpy.context
124
-    
125
-        X = C.scene.render.resolution_x
126
-        Y = C.scene.render.resolution_y
127
-        
128
-        C.scene.x_min_pixels = int(C.scene.render.border_min_x * X)
129
-        C.scene.x_max_pixels = int(C.scene.render.border_max_x * X)
130
-        C.scene.y_min_pixels = int(C.scene.render.border_min_y * Y)
131
-        C.scene.y_max_pixels = int(C.scene.render.border_max_y * Y)
132
-                
133
-        return {'FINISHED'}
134
-
135
-def register():
136
-    bpy.utils.register_class(PreciseRenderBorderAdjust)
137
-    bpy.utils.register_class(PixelsToBorder)
138
-    bpy.utils.register_class(BorderToPixels)
139
-
140
-
141
-def unregister():
142
-    bpy.utils.unregister_class(PreciseRenderBorderAdjust)
143
-    bpy.utils.unregister_class(PixelsToBorder)
144
-    bpy.utils.unregister_class(BorderToPixels)
145
-
146
-
147
-if __name__ == "__main__":
148
-    C = bpy.context
149
-    
150
-    X = C.scene.render.resolution_x
151
-    Y = C.scene.render.resolution_y
152
-    
153
-    C.scene.x_min_pixels = 0
154
-    C.scene.x_max_pixels = X
155
-    C.scene.y_min_pixels = 0
156
-    C.scene.y_max_pixels = Y
157
-    
158
-    register()