[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13184] trunk/blender/release/scripts: -> Fix for billboard faces

Geoffrey Bantle hairbat at yahoo.com
Wed Jan 9 20:51:22 CET 2008


Revision: 13184
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13184
Author:   briggs
Date:     2008-01-09 20:51:22 +0100 (Wed, 09 Jan 2008)

Log Message:
-----------
-> Fix for billboard faces

Faces with billboard render (axis with alpha) were not being preserved on import/export. Fixed

Modified Paths:
--------------
    trunk/blender/release/scripts/flt_export.py
    trunk/blender/release/scripts/flt_import.py

Modified: trunk/blender/release/scripts/flt_export.py
===================================================================
--- trunk/blender/release/scripts/flt_export.py	2008-01-09 18:48:04 UTC (rev 13183)
+++ trunk/blender/release/scripts/flt_export.py	2008-01-09 19:51:22 UTC (rev 13184)
@@ -504,6 +504,7 @@
 		self.renderstyle = 0
 		self.twoside = 0
 		self.name = None #uses next FLT name if not set... fix resolution of conflicts!
+		self.billboard = 0
 		
 		#Multi-Tex info. Dosn't include first UV Layer!
 		self.uvlayer = list() #list of list of tuples for UV coordinates.
@@ -716,6 +717,9 @@
 				if "FLT_ID" in self.exportmesh.faces.properties:
 					face_desc.name = face.getProperty("FLT_ID") #need better solution than this.
 				
+				if uvok and face.mode & Blender.Mesh.FaceModes["BILLBOARD"]:
+					face_desc.billboard = 1
+					
 				self.face_lst.append(face_desc)
 		if uvok:		
 			self.exportmesh.activeUVLayer = oldlayer
@@ -904,6 +908,9 @@
 							alpha = 1
 					except:
 						pass
+						
+			if face_desc.billboard:
+				alpha = 2
 				
 			if face_desc.subface:
 				if face_desc.subface == 'Push':

Modified: trunk/blender/release/scripts/flt_import.py
===================================================================
--- trunk/blender/release/scripts/flt_import.py	2008-01-09 18:48:04 UTC (rev 13183)
+++ trunk/blender/release/scripts/flt_import.py	2008-01-09 19:51:22 UTC (rev 13184)
@@ -742,9 +742,13 @@
 			self.mesh.faces.addPropertyLayer("FLT_SFLEVEL", Blender.Mesh.PropertyTypes["INT"])
 			
 			for i, f in enumerate(self.mesh.faces):
-				f.transp |= Blender.Mesh.FaceTranspModes["ALPHA"] #fix this!
-				f.mode |= Blender.Mesh.FaceModes["LIGHT"]
 				props = new_faces_props[i]
+				if props[6]['template billboard'] > 0:
+					f.transp |= Blender.Mesh.FaceTranspModes["ALPHA"]
+					if props[6]['template billboard'] == 2:
+						f.mode |=  Blender.Mesh.FaceModes["BILLBOARD"]
+					f.mode |= Blender.Mesh.FaceModes["LIGHT"]
+				
 				#f.mat = props[0]
 				f.image = props[1]
 				f.uv = props[2]





More information about the Bf-blender-cvs mailing list