Compare commits
11 Commits
feature-im
...
blender-4.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ecfd9897b1 | ||
|
|
a3e350e96e | ||
|
|
7b417ae425 | ||
|
|
c59f16ed5e | ||
|
|
51be4b8ee9 | ||
|
|
94b3554f2f | ||
|
|
ce6ae4a64c | ||
|
|
a593224b14 | ||
|
|
feb88794b2 | ||
|
|
499e6f19c6 | ||
|
|
1bdc158f08 |
@@ -1,9 +1,9 @@
|
||||
bl_info = {
|
||||
'name': 'ASCII Scene Export',
|
||||
'name': 'ASCII Scene Export (ASE)',
|
||||
'description': 'Export ASE (ASCII Scene Export) files',
|
||||
'author': 'Colin Basnett (Darklight Games)',
|
||||
'version': (1, 1, 2),
|
||||
'blender': (2, 90, 0),
|
||||
'version': (2, 0, 0),
|
||||
'blender': (4, 0, 0),
|
||||
'location': 'File > Import-Export',
|
||||
'warning': 'This add-on is under development.',
|
||||
'wiki_url': 'https://github.com/DarklightGames/io_scene_ase/wiki',
|
||||
@@ -80,7 +80,7 @@ class ASEBuilder(object):
|
||||
material_indices.append(material_index)
|
||||
|
||||
mesh_data.calc_loop_triangles()
|
||||
mesh_data.calc_normals_split()
|
||||
|
||||
poly_groups, groups = mesh_data.calc_smooth_groups(use_bitflags=False)
|
||||
|
||||
# Faces
|
||||
@@ -133,12 +133,13 @@ class ASEBuilder(object):
|
||||
|
||||
# Vertex Colors
|
||||
if len(mesh_data.vertex_colors) > 0:
|
||||
vertex_colors = mesh_data.vertex_colors.active.data
|
||||
for color in map(lambda x: x.color, vertex_colors):
|
||||
geometry_object.vertex_colors.append(tuple(color[0:3]))
|
||||
if mesh_data.vertex_colors.active is not None:
|
||||
vertex_colors = mesh_data.vertex_colors.active.data
|
||||
for color in map(lambda x: x.color, vertex_colors):
|
||||
geometry_object.vertex_colors.append(tuple(color[0:3]))
|
||||
|
||||
# Update data offsets for next iteration
|
||||
geometry_object.texture_vertex_offset = len(mesh_data.loops)
|
||||
geometry_object.texture_vertex_offset += len(mesh_data.loops)
|
||||
geometry_object.vertex_offset = len(geometry_object.vertices)
|
||||
|
||||
if len(ase.geometry_objects) == 0:
|
||||
@@ -1,31 +1,31 @@
|
||||
import bpy
|
||||
import bpy_extras
|
||||
from bpy.props import StringProperty, FloatProperty, EnumProperty, BoolProperty
|
||||
from bpy_extras.io_utils import ExportHelper
|
||||
from bpy.props import StringProperty, EnumProperty, BoolProperty
|
||||
from bpy.types import Operator
|
||||
from .builder import *
|
||||
from .writer import *
|
||||
|
||||
|
||||
class ASE_OT_ExportOperator(bpy.types.Operator, bpy_extras.io_utils.ExportHelper):
|
||||
class ASE_OT_ExportOperator(Operator, ExportHelper):
|
||||
bl_idname = 'io_scene_ase.ase_export' # important since its how bpy.ops.import_test.some_data is constructed
|
||||
bl_label = 'Export ASE'
|
||||
bl_space_type = 'PROPERTIES'
|
||||
bl_region_type = 'WINDOW'
|
||||
|
||||
filename_ext = '.ase'
|
||||
|
||||
filter_glob: StringProperty(
|
||||
default="*.ase",
|
||||
options={'HIDDEN'},
|
||||
maxlen=255, # Max internal buffer length, longer would be hilighted.
|
||||
)
|
||||
|
||||
units: EnumProperty(
|
||||
default='U',
|
||||
items=(('M', 'Meters', ''),
|
||||
('U', 'Unreal', '')),
|
||||
name='Units'
|
||||
)
|
||||
use_raw_mesh_data: BoolProperty(default=False, name='Raw Mesh Data')
|
||||
|
||||
use_raw_mesh_data: BoolProperty(
|
||||
default=False,
|
||||
description='No modifiers will be evaluated as part of the exported mesh',
|
||||
name='Raw Mesh Data')
|
||||
units_scale = {
|
||||
'M': 60.352,
|
||||
'U': 1.0
|
||||
Reference in New Issue
Block a user