Skinning optimizations: order vertices by weight groups, compute mesh
space bone transforms only once per mesh per bone (rather than each time the bone appears in a weight group), low level fiddling. Also changed the exporters to export everything, regardless of what's selected. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4081 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -62,14 +62,8 @@ macroScript TRAnimationExporter category:"File" \
|
||||
outFile = createfile fileName
|
||||
format "<?xml version=\"1.0\" standalone=\"yes\"?>\n\n" to:outFile
|
||||
format "<animation frameRate=\"%\">\n\n" frameRate to:outFile
|
||||
local nodes
|
||||
if selection.count > 0 then (
|
||||
nodes = selection
|
||||
) else (
|
||||
nodes = objects
|
||||
)
|
||||
for t = animationRange.start to animationRange.end do at time t (
|
||||
writeFrame nodes outFile
|
||||
writeFrame objects outFile
|
||||
)
|
||||
format "</animation>\n" to:outFile
|
||||
close outFile
|
||||
|
||||
@@ -149,17 +149,9 @@ macroScript TRModelExporter category:"File" \
|
||||
outFile = createfile fileName
|
||||
format "<?xml version=\"1.0\" standalone=\"yes\"?>\n\n" to:outFile
|
||||
format "<model>\n\n" to:outFile
|
||||
local nodes
|
||||
oldsel = selection as array
|
||||
if selection.count > 0 then (
|
||||
nodes = selection
|
||||
) else (
|
||||
nodes = objects
|
||||
)
|
||||
for node in nodes do in coordsys world (
|
||||
for node in objects do in coordsys world (
|
||||
writeNode node outFile
|
||||
)
|
||||
select oldsel
|
||||
format "</model>\n" to:outFile
|
||||
close outFile
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user