blender-v3.6-release #104623
@ -16,7 +16,7 @@ import bpy
|
|||||||
bl_info = {
|
bl_info = {
|
||||||
"name": "Autodesk 3DS format",
|
"name": "Autodesk 3DS format",
|
||||||
"author": "Bob Holcomb, Campbell Barton, Andreas Atteneder, Sebastian Schrand",
|
"author": "Bob Holcomb, Campbell Barton, Andreas Atteneder, Sebastian Schrand",
|
||||||
"version": (2, 3, 4),
|
"version": (2, 4, 1),
|
||||||
"blender": (3, 6, 0),
|
"blender": (3, 6, 0),
|
||||||
"location": "File > Import-Export",
|
"location": "File > Import-Export",
|
||||||
"description": "3DS Import/Export meshes, UVs, materials, textures, "
|
"description": "3DS Import/Export meshes, UVs, materials, textures, "
|
||||||
@ -65,12 +65,12 @@ class Import3DS(bpy.types.Operator, ImportHelper):
|
|||||||
"importing incorrectly",
|
"importing incorrectly",
|
||||||
default=True,
|
default=True,
|
||||||
)
|
)
|
||||||
read_keyframe: bpy.props.BoolProperty(
|
read_keyframe: BoolProperty(
|
||||||
name="Read Keyframe",
|
name="Read Keyframe",
|
||||||
description="Read the keyframe data",
|
description="Read the keyframe data",
|
||||||
default=True,
|
default=True,
|
||||||
)
|
)
|
||||||
use_world_matrix: bpy.props.BoolProperty(
|
use_world_matrix: BoolProperty(
|
||||||
name="World Space",
|
name="World Space",
|
||||||
description="Transform to matrix world",
|
description="Transform to matrix world",
|
||||||
default=False,
|
default=False,
|
||||||
@ -109,6 +109,11 @@ class Export3DS(bpy.types.Operator, ExportHelper):
|
|||||||
description="Export selected objects only",
|
description="Export selected objects only",
|
||||||
default=False,
|
default=False,
|
||||||
)
|
)
|
||||||
|
write_keyframe: BoolProperty(
|
||||||
|
name="Write Keyframe",
|
||||||
|
description="Write the keyframe data",
|
||||||
|
default=False,
|
||||||
|
)
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
from . import export_3ds
|
from . import export_3ds
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -4,7 +4,7 @@
|
|||||||
bl_info = {
|
bl_info = {
|
||||||
'name': 'glTF 2.0 format',
|
'name': 'glTF 2.0 format',
|
||||||
'author': 'Julien Duroure, Scurest, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors',
|
'author': 'Julien Duroure, Scurest, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors',
|
||||||
"version": (3, 6, 18),
|
"version": (4, 0, 0),
|
||||||
'blender': (3, 5, 0),
|
'blender': (3, 5, 0),
|
||||||
'location': 'File > Import-Export',
|
'location': 'File > Import-Export',
|
||||||
'description': 'Import-Export as glTF 2.0',
|
'description': 'Import-Export as glTF 2.0',
|
||||||
|
@ -1349,7 +1349,6 @@ class NWMergeNodes(Operator, NWBase):
|
|||||||
if tree_type == 'COMPOSITING':
|
if tree_type == 'COMPOSITING':
|
||||||
first = 1
|
first = 1
|
||||||
second = 2
|
second = 2
|
||||||
add.width_hidden = 100.0
|
|
||||||
elif nodes_list == selected_math:
|
elif nodes_list == selected_math:
|
||||||
add_type = node_type + 'Math'
|
add_type = node_type + 'Math'
|
||||||
add = nodes.new(add_type)
|
add = nodes.new(add_type)
|
||||||
@ -1359,7 +1358,6 @@ class NWMergeNodes(Operator, NWBase):
|
|||||||
loc_y = loc_y - 50
|
loc_y = loc_y - 50
|
||||||
first = 0
|
first = 0
|
||||||
second = 1
|
second = 1
|
||||||
add.width_hidden = 100.0
|
|
||||||
elif nodes_list == selected_shader:
|
elif nodes_list == selected_shader:
|
||||||
if mode == 'MIX':
|
if mode == 'MIX':
|
||||||
add_type = node_type + 'MixShader'
|
add_type = node_type + 'MixShader'
|
||||||
@ -1369,7 +1367,6 @@ class NWMergeNodes(Operator, NWBase):
|
|||||||
loc_y = loc_y - 50
|
loc_y = loc_y - 50
|
||||||
first = 1
|
first = 1
|
||||||
second = 2
|
second = 2
|
||||||
add.width_hidden = 100.0
|
|
||||||
elif mode == 'ADD':
|
elif mode == 'ADD':
|
||||||
add_type = node_type + 'AddShader'
|
add_type = node_type + 'AddShader'
|
||||||
add = nodes.new(add_type)
|
add = nodes.new(add_type)
|
||||||
@ -1378,7 +1375,6 @@ class NWMergeNodes(Operator, NWBase):
|
|||||||
loc_y = loc_y - 50
|
loc_y = loc_y - 50
|
||||||
first = 0
|
first = 0
|
||||||
second = 1
|
second = 1
|
||||||
add.width_hidden = 100.0
|
|
||||||
elif nodes_list == selected_geometry:
|
elif nodes_list == selected_geometry:
|
||||||
if mode in ('JOIN', 'MIX'):
|
if mode in ('JOIN', 'MIX'):
|
||||||
add_type = node_type + 'JoinGeometry'
|
add_type = node_type + 'JoinGeometry'
|
||||||
@ -1401,7 +1397,6 @@ class NWMergeNodes(Operator, NWBase):
|
|||||||
loc_y = loc_y - 50
|
loc_y = loc_y - 50
|
||||||
first = 0
|
first = 0
|
||||||
second = 1
|
second = 1
|
||||||
add.width_hidden = 100.0
|
|
||||||
elif nodes_list == selected_z:
|
elif nodes_list == selected_z:
|
||||||
add = nodes.new('CompositorNodeZcombine')
|
add = nodes.new('CompositorNodeZcombine')
|
||||||
add.show_preview = False
|
add.show_preview = False
|
||||||
@ -1410,7 +1405,6 @@ class NWMergeNodes(Operator, NWBase):
|
|||||||
loc_y = loc_y - 50
|
loc_y = loc_y - 50
|
||||||
first = 0
|
first = 0
|
||||||
second = 2
|
second = 2
|
||||||
add.width_hidden = 100.0
|
|
||||||
elif nodes_list == selected_alphaover:
|
elif nodes_list == selected_alphaover:
|
||||||
add = nodes.new('CompositorNodeAlphaOver')
|
add = nodes.new('CompositorNodeAlphaOver')
|
||||||
add.show_preview = False
|
add.show_preview = False
|
||||||
@ -1419,7 +1413,6 @@ class NWMergeNodes(Operator, NWBase):
|
|||||||
loc_y = loc_y - 50
|
loc_y = loc_y - 50
|
||||||
first = 1
|
first = 1
|
||||||
second = 2
|
second = 2
|
||||||
add.width_hidden = 100.0
|
|
||||||
add.location = loc_x, loc_y
|
add.location = loc_x, loc_y
|
||||||
loc_y += offset_y
|
loc_y += offset_y
|
||||||
add.select = True
|
add.select = True
|
||||||
@ -2184,7 +2177,6 @@ class NWAddReroutes(Operator, NWBase):
|
|||||||
# unhide 'REROUTE' nodes to avoid issues with location.y
|
# unhide 'REROUTE' nodes to avoid issues with location.y
|
||||||
if node.type == 'REROUTE':
|
if node.type == 'REROUTE':
|
||||||
node.hide = False
|
node.hide = False
|
||||||
# When node is hidden - width_hidden not usable.
|
|
||||||
# Hack needed to calculate real width
|
# Hack needed to calculate real width
|
||||||
if node.hide:
|
if node.hide:
|
||||||
bpy.ops.node.select_all(action='DESELECT')
|
bpy.ops.node.select_all(action='DESELECT')
|
||||||
@ -2726,7 +2718,6 @@ class NWAddMultipleImages(Operator, NWBase, ImportHelper):
|
|||||||
new_nodes.append(node)
|
new_nodes.append(node)
|
||||||
node.label = fname
|
node.label = fname
|
||||||
node.hide = True
|
node.hide = True
|
||||||
node.width_hidden = 100
|
|
||||||
node.location.x = xloc
|
node.location.x = xloc
|
||||||
node.location.y = yloc
|
node.location.y = yloc
|
||||||
yloc -= 40
|
yloc -= 40
|
||||||
|
@ -308,11 +308,16 @@ def CreateBevel(context, CurrentObject):
|
|||||||
|
|
||||||
bpy.ops.object.mode_set(mode='OBJECT')
|
bpy.ops.object.mode_set(mode='OBJECT')
|
||||||
|
|
||||||
CurrentObject.data.use_customdata_edge_bevel = True
|
bevel_weights = CurrentObject.data.attributes["bevel_weight_edge"]
|
||||||
|
if not bevel_weights:
|
||||||
|
bevel_weights = CurrentObject.data.attributes.new("bevel_weight_edge", 'FLOAT', 'EDGE')
|
||||||
|
if bevel_weights.data_type != 'FLOAT' or bevel_weights.domain != 'EDGE':
|
||||||
|
bevel_weights = None
|
||||||
|
|
||||||
for i in range(len(CurrentObject.data.edges)):
|
for i in range(len(CurrentObject.data.edges)):
|
||||||
if CurrentObject.data.edges[i].select is True:
|
if CurrentObject.data.edges[i].select is True:
|
||||||
CurrentObject.data.edges[i].bevel_weight = 1.0
|
if bevel_weights:
|
||||||
|
bevel_weights.data[i] = 1.0
|
||||||
CurrentObject.data.edges[i].use_edge_sharp = True
|
CurrentObject.data.edges[i].use_edge_sharp = True
|
||||||
|
|
||||||
bevel_modifier = False
|
bevel_modifier = False
|
||||||
|
Loading…
Reference in New Issue
Block a user