forked from bartvdbraak/blender
- Export hard edge and face info
- Use Edges field rather then 2 vert faces (worked in some apps but crashed maya)
This commit is contained in:
parent
7a0841cbb6
commit
de4f811b4b
@ -1,13 +1,13 @@
|
|||||||
#!BPY
|
#!BPY
|
||||||
"""
|
"""
|
||||||
Name: 'Autodesk FBX (.fbx)...'
|
Name: 'Autodesk FBX (.fbx)...'
|
||||||
Blender: 244
|
Blender: 249
|
||||||
Group: 'Export'
|
Group: 'Export'
|
||||||
Tooltip: 'Selection to an ASCII Autodesk FBX '
|
Tooltip: 'Selection to an ASCII Autodesk FBX '
|
||||||
"""
|
"""
|
||||||
__author__ = "Campbell Barton"
|
__author__ = "Campbell Barton"
|
||||||
__url__ = ['www.blender.org', 'blenderartists.org']
|
__url__ = ['www.blender.org', 'blenderartists.org']
|
||||||
__version__ = "1.1"
|
__version__ = "1.2"
|
||||||
|
|
||||||
__bpydoc__ = """\
|
__bpydoc__ = """\
|
||||||
This script is an exporter to the FBX file format.
|
This script is an exporter to the FBX file format.
|
||||||
@ -1385,22 +1385,18 @@ def write(filename, batch_objects = None, \
|
|||||||
else: file.write(',%i,%i,%i,%i' % fi )
|
else: file.write(',%i,%i,%i,%i' % fi )
|
||||||
i+=1
|
i+=1
|
||||||
|
|
||||||
ed_val = [None, None]
|
file.write('\n\t\tEdges: ')
|
||||||
LOOSE = Blender.Mesh.EdgeFlags.LOOSE
|
i=-1
|
||||||
for ed in me.edges:
|
for ed in me.edges:
|
||||||
if ed.flag & LOOSE:
|
|
||||||
ed_val[0] = ed.v1.index
|
|
||||||
ed_val[1] = -(ed.v2.index+1)
|
|
||||||
if i==-1:
|
if i==-1:
|
||||||
file.write('%i,%i' % tuple(ed_val) )
|
file.write('%i,%i' % (ed.v1.index, ed.v2.index))
|
||||||
i=0
|
i=0
|
||||||
else:
|
else:
|
||||||
if i==13:
|
if i==13:
|
||||||
file.write('\n\t\t')
|
file.write('\n\t\t')
|
||||||
i=0
|
i=0
|
||||||
file.write(',%i,%i' % tuple(ed_val) )
|
file.write(',%i,%i' % (ed.v1.index, ed.v2.index))
|
||||||
i+=1
|
i+=1
|
||||||
del LOOSE
|
|
||||||
|
|
||||||
file.write('\n\t\tGeometryVersion: 124')
|
file.write('\n\t\tGeometryVersion: 124')
|
||||||
|
|
||||||
@ -1423,6 +1419,51 @@ def write(filename, batch_objects = None, \
|
|||||||
i+=1
|
i+=1
|
||||||
file.write('\n\t\t}')
|
file.write('\n\t\t}')
|
||||||
|
|
||||||
|
# Write Face Smoothing
|
||||||
|
file.write('''
|
||||||
|
LayerElementSmoothing: 0 {
|
||||||
|
Version: 102
|
||||||
|
Name: ""
|
||||||
|
MappingInformationType: "ByPolygon"
|
||||||
|
ReferenceInformationType: "Direct"
|
||||||
|
Smoothing: ''')
|
||||||
|
|
||||||
|
i=-1
|
||||||
|
for f in me.faces:
|
||||||
|
if i==-1:
|
||||||
|
file.write('%i' % f.smooth); i=0
|
||||||
|
else:
|
||||||
|
if i==54:
|
||||||
|
file.write('\n '); i=0
|
||||||
|
file.write(',%i' % f.smooth)
|
||||||
|
i+=1
|
||||||
|
|
||||||
|
file.write('\n\t\t}')
|
||||||
|
|
||||||
|
# Write Edge Smoothing
|
||||||
|
file.write('''
|
||||||
|
LayerElementSmoothing: 0 {
|
||||||
|
Version: 101
|
||||||
|
Name: ""
|
||||||
|
MappingInformationType: "ByEdge"
|
||||||
|
ReferenceInformationType: "Direct"
|
||||||
|
Smoothing: ''')
|
||||||
|
|
||||||
|
SHARP = Blender.Mesh.EdgeFlags.SHARP
|
||||||
|
i=-1
|
||||||
|
for ed in me.edges:
|
||||||
|
if i==-1:
|
||||||
|
file.write('%i' % ((ed.flag&SHARP)!=0)); i=0
|
||||||
|
else:
|
||||||
|
if i==54:
|
||||||
|
file.write('\n '); i=0
|
||||||
|
file.write(',%i' % ((ed.flag&SHARP)!=0))
|
||||||
|
i+=1
|
||||||
|
|
||||||
|
file.write('\n\t\t}')
|
||||||
|
del SHARP
|
||||||
|
|
||||||
|
|
||||||
# Write VertexColor Layers
|
# Write VertexColor Layers
|
||||||
# note, no programs seem to use this info :/
|
# note, no programs seem to use this info :/
|
||||||
collayers = []
|
collayers = []
|
||||||
|
Loading…
Reference in New Issue
Block a user