[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3270] contrib/py/scripts/addons/ io_scene_cod: Added option to export vertex colors as alpha transparency ( not necessarily grayscale colors, simple luminance conversion is used).
Sebastian Nell
codemanx at gmx.de
Mon Apr 16 00:54:40 CEST 2012
Revision: 3270
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3270
Author: codemanx
Date: 2012-04-15 22:54:39 +0000 (Sun, 15 Apr 2012)
Log Message:
-----------
Added option to export vertex colors as alpha transparency (not necessarily grayscale colors, simple luminance conversion is used). Needed for custom, waving models to using CoD's flag shader. Would be nicer if Blender had vcol alpha support. Furthermore, minor style clean-ups.
Modified Paths:
--------------
contrib/py/scripts/addons/io_scene_cod/__init__.py
contrib/py/scripts/addons/io_scene_cod/export_xanim.py
contrib/py/scripts/addons/io_scene_cod/export_xmodel.py
contrib/py/scripts/addons/io_scene_cod/import_xanim.py
contrib/py/scripts/addons/io_scene_cod/import_xmodel.py
Modified: contrib/py/scripts/addons/io_scene_cod/__init__.py
===================================================================
--- contrib/py/scripts/addons/io_scene_cod/__init__.py 2012-04-15 17:42:05 UTC (rev 3269)
+++ contrib/py/scripts/addons/io_scene_cod/__init__.py 2012-04-15 22:54:39 UTC (rev 3270)
@@ -34,7 +34,7 @@
bl_info = {
"name": "Blender-CoD - Add-On for Call of Duty modding (alpha 3)",
"author": "CoDEmanX, Flybynyt",
- "version": (0, 3, 4),
+ "version": (0, 3, 5),
"blender": (2, 62, 3),
"location": "File > Import | File > Export",
"description": "Export models to *.XMODEL_EXPORT and animations to *.XANIM_EXPORT",
@@ -159,6 +159,12 @@
default=True
)
+ use_vertex_colors_alpha = BoolProperty(
+ name="As alpha",
+ description="Turn RGB vertex colors into grayscale (average value) and use it as alpha transparency. White is 1 (opaque), black 0 (invisible)",
+ default=False
+ )
+
use_apply_modifiers = BoolProperty(
name="Apply Modifiers",
description="Apply all mesh modifiers except Armature (preview resolution)",
@@ -252,10 +258,6 @@
col.enabled = bool(meshes_selected)
col = layout.column(align=True)
- col.active = self.use_version == '6'
- col.prop(self, "use_vertex_colors")
-
- col = layout.column(align=True)
col.prop(self, "use_apply_modifiers")
col = layout.column(align=True)
@@ -265,6 +267,15 @@
else:
col.prop(self, "use_armature")
+ if self.use_version == '6':
+
+ row = layout.row(align=True)
+ row.prop(self, "use_vertex_colors")
+
+ sub = row.split()
+ sub.active = self.use_vertex_colors
+ sub.prop(self, "use_vertex_colors_alpha")
+
col = layout.column(align=True)
col.label("Advanced:")
Modified: contrib/py/scripts/addons/io_scene_cod/export_xanim.py
===================================================================
--- contrib/py/scripts/addons/io_scene_cod/export_xanim.py 2012-04-15 17:42:05 UTC (rev 3269)
+++ contrib/py/scripts/addons/io_scene_cod/export_xanim.py 2012-04-15 22:54:39 UTC (rev 3270)
@@ -40,8 +40,7 @@
use_frame_start=1,
use_frame_end=250,
use_notetrack=True,
- use_notetrack_format='1'
- ):
+ use_notetrack_format='1'):
armature = None
last_frame_current = context.scene.frame_current
Modified: contrib/py/scripts/addons/io_scene_cod/export_xmodel.py
===================================================================
--- contrib/py/scripts/addons/io_scene_cod/export_xmodel.py 2012-04-15 17:42:05 UTC (rev 3269)
+++ contrib/py/scripts/addons/io_scene_cod/export_xmodel.py 2012-04-15 22:54:39 UTC (rev 3270)
@@ -35,16 +35,16 @@
def save(self, context, filepath="",
use_version='6',
use_selection=False,
- use_vertex_colors=True,
use_apply_modifiers=True,
use_armature=True,
+ use_vertex_colors=True,
+ use_vertex_colors_alpha=False,
use_vertex_cleanup=False,
use_armature_pose=False,
use_frame_start=1,
use_frame_end=250,
use_weight_min=False,
- use_weight_min_threshold=0.010097
- ):
+ use_weight_min_threshold=0.010097):
# There's no context object right after object deletion, need to set one
if context.object:
@@ -77,14 +77,14 @@
result = _write(self, context, filepath,
use_version,
use_selection,
- use_vertex_colors,
use_apply_modifiers,
use_armature,
+ use_vertex_colors,
+ use_vertex_colors_alpha,
use_vertex_cleanup,
use_armature_pose,
use_weight_min,
- use_weight_min_threshold
- )
+ use_weight_min_threshold)
else:
if use_frame_start < use_frame_end:
@@ -105,8 +105,8 @@
use_frame_end + frame_order,
frame_order
),
- frame_min
- ):
+ frame_min):
+
# Set frame for export
# Don't do it directly to frame_current, as to_mesh() won't use updated frame!
context.scene.frame_set(frame)
@@ -117,9 +117,10 @@
result = _write(self, context, filepath_frame,
use_version,
use_selection,
- use_vertex_colors,
use_apply_modifiers,
use_armature,
+ use_vertex_colors,
+ use_vertex_colors_alpha,
use_vertex_cleanup,
use_armature_pose,
use_weight_min,
@@ -143,14 +144,14 @@
def _write(self, context, filepath,
use_version,
use_selection,
- use_vertex_colors,
use_apply_modifiers,
use_armature,
+ use_vertex_colors,
+ use_vertex_colors_alpha,
use_vertex_cleanup,
use_armature_pose,
use_weight_min,
- use_weight_min_threshold
- ):
+ use_weight_min_threshold):
num_verts = 0
num_verts_unique = 0
@@ -568,7 +569,14 @@
else:
c = col.color4
- file.write("COLOR %.6f %.6f %.6f 1.000000\n" % (c[0], c[1], c[2]))
+ if use_vertex_colors_alpha:
+
+ # Turn RGB into grayscale (luminance conversion)
+ c_lum = c[0] * 0.3 + c[1] * 0.59 + c[2] * 0.11
+ file.write("COLOR 1.000000 1.000000 1.000000 %.6f\n" % c_lum)
+ else:
+ file.write("COLOR %.6f %.6f %.6f 1.000000\n" % (c[0], c[1], c[2]))
+
else:
file.write("COLOR 1.000000 1.000000 1.000000 1.000000\n")
Modified: contrib/py/scripts/addons/io_scene_cod/import_xanim.py
===================================================================
--- contrib/py/scripts/addons/io_scene_cod/import_xanim.py 2012-04-15 17:42:05 UTC (rev 3269)
+++ contrib/py/scripts/addons/io_scene_cod/import_xanim.py 2012-04-15 22:54:39 UTC (rev 3270)
@@ -32,4 +32,7 @@
"""
def load(self, context, **keywords):
- return {'FINISHED'}
+
+ #filepath = os.fsencode(filepath)
+
+ return {'FINISHED'}
Modified: contrib/py/scripts/addons/io_scene_cod/import_xmodel.py
===================================================================
--- contrib/py/scripts/addons/io_scene_cod/import_xmodel.py 2012-04-15 17:42:05 UTC (rev 3269)
+++ contrib/py/scripts/addons/io_scene_cod/import_xmodel.py 2012-04-15 22:54:39 UTC (rev 3270)
@@ -49,6 +49,8 @@
def load(self, context, filepath=""):
+ filepath = os.fsencode(filepath)
+
test_0 = []
test_1 = []
test_2 = []
More information about the Bf-extensions-cvs
mailing list