2466 lines
74 KiB
Plaintext
Executable File
2466 lines
74 KiB
Plaintext
Executable File
////////////////////////////////////////////////////////////////////////////////
|
|
// Modified original ogreExporter.mel script. Renamed to FxOgre* to avoid
|
|
// conflicts with original MEL script and plugin.
|
|
// Author : Doug Perkowski - OC3 Entertainment, Inc.
|
|
// Start Date : December 10th, 2007
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// ===== Load Plug-in
|
|
loadPlugin "FxOgreMayaExporter";
|
|
|
|
// ===== Create Ogre menu
|
|
setParent "MayaWindow";
|
|
menu -label "FxOgre" -tearOff false;
|
|
menuItem -label "Export" -command "FxOgreExporter";
|
|
|
|
// ===== Launch exporter UI
|
|
global proc FxOgreExporter()
|
|
{
|
|
defineOgreExporterUIView();
|
|
loadOgreExporterSettings();
|
|
}
|
|
|
|
// ===== Export
|
|
global proc runOgreExport()
|
|
{
|
|
global int $numSkelClips;
|
|
global int $numBSClips;
|
|
global int $numVertClips;
|
|
// ===== Files and directories
|
|
string $sceneFile = `file -query -sceneName`;
|
|
string $mayaFile = basename($sceneFile, "");
|
|
string $sceneDir = dirname($sceneFile);
|
|
string $baseFile = basename($sceneFile, ".mb");
|
|
string $outputDir = (`textField -query -text OutputDirectory`);
|
|
if (!endsWith($outputDir,"\\") && !endsWith($outputDir,"/") && (size($outputDir)>0))
|
|
$outputDir += "/";
|
|
string $meshFile = (`textField -query -text ExportMeshFilename`);
|
|
string $materialFile = (`textField -query -text ExportMaterialFilename`);
|
|
string $dotSceneFile = (`textField -query -text ExportSceneFilename`);
|
|
string $skeletonFile = (`textField -query -text ExportSkeletonFilename`);
|
|
string $animFile = (`textField -query -text ExportAnimCurvesFilename`);
|
|
string $camerasFile = (`textField -query -text ExportCamerasFilename`);
|
|
string $particlesFile= (`textField -query -text ExportParticlesFilename`);
|
|
|
|
// ===== Options
|
|
string $options = "";
|
|
string $selectedExportTypeButton = `radioCollection -query -select ExportTypeCollection`;
|
|
if ($selectedExportTypeButton == "RadioButtonSelected")
|
|
{
|
|
$options += " -sel";
|
|
}
|
|
else
|
|
{
|
|
$options += " -all";
|
|
}
|
|
string $selectedCoordsTypeButton = `radioCollection -query -select CoordsTypeCollection`;
|
|
if ($selectedCoordsTypeButton == "RadioButtonWorld")
|
|
{
|
|
$options += " -world";
|
|
}
|
|
else
|
|
{
|
|
$options += " -obj";
|
|
}
|
|
$options += " -lu";
|
|
int $lenghtUnit = `optionMenu -query -select UnitsMenu`;
|
|
switch ($lenghtUnit)
|
|
{
|
|
case 1:
|
|
$options += " pref";
|
|
break;
|
|
case 2:
|
|
$options += " mm";
|
|
break;
|
|
case 3:
|
|
$options += " cm";
|
|
break;
|
|
case 4:
|
|
$options += " m";
|
|
break;
|
|
case 5:
|
|
$options += " in";
|
|
break;
|
|
case 6:
|
|
$options += " ft";
|
|
break;
|
|
case 7:
|
|
$options += " yd";
|
|
break;
|
|
}
|
|
$options += " -scale ";
|
|
float $globScale = `floatField -query -value GlobalScale`;
|
|
$options += $globScale;
|
|
|
|
// --- Mesh export
|
|
int $exportMesh = `checkBox -query -value ExportMesh`;
|
|
if ($exportMesh)
|
|
{
|
|
$options += " -mesh";
|
|
$options += " \"" + encodeString(toNativePath($outputDir+$meshFile)) + "\"";
|
|
|
|
if (`checkBox -query -value UseSharedGeometry`)
|
|
{
|
|
$options += " -shared";
|
|
}
|
|
|
|
if (`checkBox -query -value ExportVBA`)
|
|
{
|
|
$options += " -v";
|
|
}
|
|
|
|
if (`checkBox -query -value ExportMeshNormals`)
|
|
{
|
|
$options += " -n";
|
|
}
|
|
|
|
if (`checkBox -query -value ExportMeshColours`)
|
|
{
|
|
$options += " -c";
|
|
}
|
|
|
|
if (`checkBox -query -value ExportMeshUVs`)
|
|
{
|
|
$options += " -t";
|
|
}
|
|
if (`checkBox -query -value BuildEdges`)
|
|
{
|
|
$options += " -edges";
|
|
}
|
|
if (`checkBox -query -value BuildTangents`)
|
|
{
|
|
$options += " -tangents";
|
|
if (`radioButton -query -select TangentSemanticTexCoord`)
|
|
$options += " TEXCOORD";
|
|
else
|
|
$options += " TANGENT";
|
|
|
|
if (`checkBox -query -value TangentsSplitMirrored`)
|
|
{
|
|
$options += " -tangentsplitmirrored";
|
|
}
|
|
if (`checkBox -query -value TangentsSplitRotated`)
|
|
{
|
|
$options += " -tangentsplitrotated";
|
|
}
|
|
if (`checkBox -query -value TangentsUseParity`)
|
|
{
|
|
$options += " -tangentuseparity";
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
// --- Material export
|
|
int $exportMaterial = `checkBox -query -value ExportMaterial`;
|
|
if ($exportMaterial)
|
|
{
|
|
$options += " -mat \"" + encodeString(toNativePath($outputDir+$materialFile)) + "\"";
|
|
string $matPrefix = `textField -query -text ExportMaterialPrefix`;
|
|
if ($matPrefix != "")
|
|
{
|
|
$options += " -matPrefix \"" + $matPrefix + "\"";
|
|
}
|
|
if (`checkBox -query -value CopyTextures`)
|
|
{
|
|
$options += " -copyTex \"" + encodeString(toNativePath($outputDir)) + "\"";
|
|
}
|
|
if (`checkBox -query -value MatLightingOff`)
|
|
{
|
|
$options += " -lightOff";
|
|
}
|
|
}
|
|
|
|
// --- Scene export
|
|
int $exportScene = `checkBox -query -value ExportScene`;
|
|
if ($exportScene)
|
|
{
|
|
$options += " -scene \"" + encodeString(toNativePath($outputDir+$dotSceneFile)) + "\"";
|
|
}
|
|
|
|
// --- Skeleton export
|
|
int $exportSkeleton = `checkBox -query -value ExportSkeleton`;
|
|
if ($exportSkeleton)
|
|
{
|
|
$options += " -skel \"" + encodeString(toNativePath($outputDir+$skeletonFile)) + "\"";
|
|
}
|
|
|
|
// --- Skeleton Animations export
|
|
int $exportSkelAnims = `checkBox -query -value ExportSkelAnims`;
|
|
if ($exportSkelAnims)
|
|
{
|
|
$options += " -skeletonAnims";
|
|
|
|
// check if we need to include skeleton animations in bounding box calculation
|
|
int $skelBB = `checkBox -query -value SkelBB`;
|
|
if ($skelBB)
|
|
{
|
|
$options += " -skelBB";
|
|
}
|
|
|
|
// neutral pose
|
|
int $neutralPose = `radioButtonGrp -q -select NeutralPoseRadio`;
|
|
if ($neutralPose == 1)
|
|
{
|
|
$options += " -np curFrame";
|
|
}
|
|
else if ($neutralPose == 2)
|
|
{
|
|
$options += " -np bindPose";
|
|
}
|
|
|
|
// clips
|
|
int $i;
|
|
for ($i=1; $i<=$numSkelClips; $i++)
|
|
{
|
|
string $command = "checkBox -q -v ExportSkelClip" + $i;
|
|
if(eval($command))
|
|
{
|
|
$options += " -skeletonClip ";
|
|
// clip name
|
|
$options += "\"" + eval("textField -q -tx SkelClipName"+$i) + "\"";
|
|
// clip range
|
|
int $skelClipRangeType = eval("radioButtonGrp -q -sl SkelClipRangeRadio"+$i);
|
|
if ($skelClipRangeType == 1)
|
|
{
|
|
$options += " startEnd ";
|
|
$options += eval("floatField -q -v SkelClipRangeStart"+$i);
|
|
$options += " " + eval("floatField -q -v SkelClipRangeEnd"+$i);
|
|
int $skelRangeUnits = eval("radioButtonGrp -q -sl SkelClipRangeUnits"+$i);
|
|
if ($skelRangeUnits == 1)
|
|
$options += " frames";
|
|
else
|
|
$options += " seconds";
|
|
}
|
|
else
|
|
$options += " timeSlider";
|
|
// sample rate
|
|
int $skelClipRateType = eval("radioButtonGrp -q -sl SkelClipRateType"+$i);
|
|
if ($skelClipRateType == 1)
|
|
{
|
|
$options += " sampleByFrames ";
|
|
$options += eval("intField -q -v SkelClipRateFrames"+$i);
|
|
}
|
|
else
|
|
{
|
|
$options += " sampleBySec ";
|
|
$options += eval("floatField -q -v SkelClipRateSeconds"+$i);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// --- Blend Shape export
|
|
int $exportBlendShapes = `checkBox -query -value ExportBlendShapes`;
|
|
if ($exportBlendShapes)
|
|
{
|
|
$options += " -blendShapes";
|
|
|
|
// check if we need to include blendshape animations in bounding box calculation
|
|
int $bsBB = `checkBox -query -value BsBB`;
|
|
if ($bsBB)
|
|
{
|
|
$options += " -bsBB";
|
|
}
|
|
int $useBlendshapeDeformerName = `checkBox -query -value UseBlendShapeDeformerName`;
|
|
if ($useBlendshapeDeformerName )
|
|
{
|
|
$options += " -useBlendshapeDeformerName";
|
|
}
|
|
|
|
}
|
|
|
|
// --- Blend Shape Animations export
|
|
int $exportBSAnims = `checkBox -query -value ExportBSAnims`;
|
|
if ($exportBSAnims)
|
|
{
|
|
$options += " -BSAnims";
|
|
|
|
// clips
|
|
int $i;
|
|
for ($i=1; $i<=$numBSClips; $i++)
|
|
{
|
|
string $command = "checkBox -q -v ExportBSClip" + $i;
|
|
if(eval($command))
|
|
{
|
|
$options += " -BSClip ";
|
|
// clip name
|
|
$options += "\"" + eval("textField -q -tx BSClipName"+$i) + "\"";
|
|
// clip range
|
|
int $clipRangeType = eval("radioButtonGrp -q -sl BSClipRangeRadio"+$i);
|
|
if ($clipRangeType == 1)
|
|
{
|
|
$options += " startEnd ";
|
|
$options += eval("floatField -q -v BSClipRangeStart"+$i);
|
|
$options += " " + eval("floatField -q -v BSClipRangeEnd"+$i);
|
|
int $rangeUnits = eval("radioButtonGrp -q -sl BSClipRangeUnits"+$i);
|
|
if ($rangeUnits == 1)
|
|
$options += " frames";
|
|
else
|
|
$options += " seconds";
|
|
}
|
|
else
|
|
$options += " timeSlider";
|
|
// sample rate
|
|
int $clipRateType = eval("radioButtonGrp -q -sl BSClipRateType"+$i);
|
|
if ($clipRateType == 1)
|
|
{
|
|
$options += " sampleByFrames ";
|
|
$options += eval("intField -q -v BSClipRateFrames"+$i);
|
|
}
|
|
else
|
|
{
|
|
$options += " sampleBySec ";
|
|
$options += eval("floatField -q -v BSClipRateSeconds"+$i);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// --- Vertex Animations export
|
|
int $exportVertexAnims = `checkBox -query -value ExportVertexAnims`;
|
|
if ($exportVertexAnims)
|
|
{
|
|
$options += " -vertexAnims";
|
|
|
|
// check if we need to include vertex animations in bounding box calculation
|
|
int $vertBB = `checkBox -query -value VertBB`;
|
|
if ($vertBB)
|
|
{
|
|
$options += " -vertBB";
|
|
}
|
|
|
|
// clips
|
|
int $i;
|
|
for ($i=1; $i<=$numVertClips; $i++)
|
|
{
|
|
string $command = "checkBox -q -v ExportVertexClip" + $i;
|
|
if(eval($command))
|
|
{
|
|
$options += " -vertexClip ";
|
|
// clip name
|
|
$options += "\"" + eval("textField -q -tx VertexClipName"+$i) + "\"";
|
|
// clip range
|
|
int $clipRangeType = eval("radioButtonGrp -q -sl VertexClipRangeRadio"+$i);
|
|
if ($clipRangeType == 1)
|
|
{
|
|
$options += " startEnd ";
|
|
$options += eval("floatField -q -v VertexClipRangeStart"+$i);
|
|
$options += " " + eval("floatField -q -v VertexClipRangeEnd"+$i);
|
|
int $rangeUnits = eval("radioButtonGrp -q -sl VertexClipRangeUnits"+$i);
|
|
if ($rangeUnits == 1)
|
|
$options += " frames";
|
|
else
|
|
$options += " seconds";
|
|
}
|
|
else
|
|
$options += " timeSlider";
|
|
// sample rate
|
|
int $clipRateType = eval("radioButtonGrp -q -sl VertexClipRateType"+$i);
|
|
if ($clipRateType == 1)
|
|
{
|
|
$options += " sampleByFrames ";
|
|
$options += eval("intField -q -v VertexClipRateFrames"+$i);
|
|
}
|
|
else
|
|
{
|
|
$options += " sampleBySec ";
|
|
$options += eval("floatField -q -v VertexClipRateSeconds"+$i);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// --- Anim Curves export
|
|
int $exportAnimCurves = `checkBox -query -value ExportAnimCurves`;
|
|
if ($exportAnimCurves)
|
|
{
|
|
$options += " -animCur \"" + encodeString(toNativePath($outputDir+$animFile)) + "\"";
|
|
}
|
|
|
|
// --- Cameras export
|
|
int $exportCameras = `checkBox -query -value ExportCameras`;
|
|
if ($exportCameras)
|
|
{
|
|
$options += " -cam \"" + encodeString(toNativePath($outputDir+$camerasFile)) + "\"";
|
|
if (`checkBox -query -value ExportCamerasAnim`)
|
|
{
|
|
$options += " -camAnim";
|
|
}
|
|
}
|
|
|
|
// --- Particles export
|
|
int $exportParticles = `checkBox -query -value ExportParticles`;
|
|
if ($exportParticles)
|
|
{
|
|
$options += " -particles \"" + encodeString(toNativePath($outputDir+$particlesFile)) + "\"";
|
|
}
|
|
|
|
// ===== Export
|
|
print ("FxOgreExport" + $options + ";\n");
|
|
eval ("FxOgreExport" + $options);
|
|
}
|
|
|
|
// ===== Format UI
|
|
// (Primarily enabling/disabling controls)
|
|
global proc formatOgreExporterUI()
|
|
{
|
|
global int $numSkelClips;
|
|
global int $numBSClips;
|
|
global int $numVertClips;
|
|
// --- Common parameters
|
|
int $animType = `optionMenu -q -select AnimationTypeMenu`;
|
|
|
|
// --- Mesh Export
|
|
int $exportMesh = `checkBox -q -v ExportMesh`;
|
|
checkBox -edit -enable $exportMesh UseSharedGeometry;
|
|
checkBox -edit -enable $exportMesh ExportVBA;
|
|
checkBox -edit -enable $exportMesh ExportMeshNormals;
|
|
checkBox -edit -enable $exportMesh ExportMeshColours;
|
|
int $exportColours = `checkBox -query -value ExportMeshColours`;
|
|
checkBox -edit -enable $exportMesh ExportMeshUVs;
|
|
text -edit -enable $exportMesh ExportMeshFilenameLabel;
|
|
textField -edit -enable $exportMesh ExportMeshFilename;
|
|
checkBox -edit -enable $exportMesh BuildEdges;
|
|
checkBox -edit -enable $exportMesh BuildTangents;
|
|
int $buildTangents = `checkBox -query -value BuildTangents`;
|
|
if ($exportMesh)
|
|
{
|
|
text -edit -enable $buildTangents TangentSemanticLabel;
|
|
radioButton -edit -enable $buildTangents TangentSemanticTexCoord;
|
|
radioButton -edit -enable $buildTangents TangentSemanticTangent;
|
|
checkBox -edit -enable $buildTangents TangentsSplitMirrored;
|
|
checkBox -edit -enable $buildTangents TangentsSplitRotated;
|
|
checkBox -edit -enable $buildTangents TangentsUseParity;
|
|
}
|
|
else
|
|
{
|
|
text -edit -enable false TangentSemanticLabel;
|
|
radioButton -edit -enable false TangentSemanticTexCoord;
|
|
radioButton -edit -enable false TangentSemanticTangent;
|
|
checkBox -edit -enable false TangentsSplitMirrored;
|
|
checkBox -edit -enable false TangentsSplitRotated;
|
|
checkBox -edit -enable false TangentsUseParity;
|
|
}
|
|
|
|
// --- Material Export
|
|
int $exportMaterial = `checkBox -query -value ExportMaterial`;
|
|
text -edit -enable $exportMaterial ExportMaterialFilenameLabel;
|
|
textField -edit -enable $exportMaterial ExportMaterialFilename;
|
|
text -edit -enable $exportMaterial ExportMaterialPrefixLabel;
|
|
textField -edit -enable $exportMaterial ExportMaterialPrefix;
|
|
if (!$exportMaterial)
|
|
checkBox -edit -value false CopyTextures;
|
|
checkBox -edit -enable $exportMaterial CopyTextures;
|
|
if (!$exportMaterial)
|
|
checkBox -edit -value false MatLightingOff;
|
|
checkBox -edit -enable $exportMaterial MatLightingOff;
|
|
|
|
// --- Scene Export
|
|
if ($animType == 1)
|
|
{
|
|
checkBox -edit -enable true ExportScene;
|
|
}
|
|
else
|
|
{
|
|
checkBox -edit -value false ExportScene;
|
|
checkBox -edit -enable false ExportScene;
|
|
}
|
|
int $exportScene = `checkBox -query -value ExportScene`;
|
|
text -edit -enable $exportScene ExportSceneFilenameLabel;
|
|
textField -edit -enable $exportScene ExportSceneFilename;
|
|
|
|
// --- Skeleton Export
|
|
if ($animType == 1)
|
|
{
|
|
checkBox -edit -enable true ExportSkeleton;
|
|
}
|
|
else
|
|
{
|
|
checkBox -edit -value false ExportSkeleton;
|
|
checkBox -edit -enable false ExportSkeleton;
|
|
}
|
|
int $exportSkeleton = `checkBox -query -value ExportSkeleton`;
|
|
text -edit -enable $exportSkeleton ExportSkeletonFilenameLabel;
|
|
textField -edit -enable $exportSkeleton ExportSkeletonFilename;
|
|
|
|
// --- Skeleton Animations Export
|
|
if (!$exportSkeleton)
|
|
checkBox -edit -value false ExportSkelAnims;
|
|
checkBox -edit -enable $exportSkeleton ExportSkelAnims;
|
|
int $exportSkelAnims = `checkBox -query -value ExportSkelAnims`;
|
|
if (!$exportSkelAnims)
|
|
checkBox -edit -value false SkelBB;
|
|
checkBox -edit -enable $exportSkelAnims SkelBB;
|
|
text -edit -enable $exportSkelAnims NeutralPoseLabel;
|
|
radioButtonGrp -edit -enable $exportSkelAnims NeutralPoseRadio;
|
|
int $neutralPoseType = `radioButtonGrp -query -select NeutralPoseRadio`;
|
|
int $i;
|
|
for ($i=1; $i<=$numSkelClips; $i++)
|
|
{
|
|
if (!$exportSkelAnims)
|
|
checkBox -edit -value false ("ExportSkelClip"+$i);
|
|
checkBox -edit -enable $exportSkelAnims ("ExportSkelClip"+$i);
|
|
|
|
int $exportSkelClip = `checkBox -query -value ("ExportSkelClip"+$i)`;
|
|
textField -edit -enable $exportSkelClip ("SkelClipName"+$i);
|
|
text -edit -enable $exportSkelClip ("SkelClipRangeLabel"+$i);
|
|
radioButtonGrp -edit -enable $exportSkelClip ("SkelClipRangeRadio"+$i);
|
|
text -edit -enable $exportSkelClip ("SkelClipRateTypeLabel"+$i);
|
|
radioButtonGrp -edit -enable $exportSkelClip ("SkelClipRateType"+$i);
|
|
|
|
int $skelRangeType = `radioButtonGrp -query -select ("SkelClipRangeRadio"+$i)`;
|
|
text -edit -enable (($skelRangeType == 1)&&($exportSkelClip)) ("SkelClipRangeStartLabel"+$i);
|
|
floatField -edit -enable (($skelRangeType == 1)&&($exportSkelClip)) ("SkelClipRangeStart"+$i);
|
|
text -edit -enable (($skelRangeType == 1)&&($exportSkelClip)) ("SkelClipRangeEndLabel"+$i);
|
|
floatField -edit -enable (($skelRangeType == 1)&&($exportSkelClip)) ("SkelClipRangeEnd"+$i);
|
|
radioButtonGrp -edit -enable (($skelRangeType == 1)&&($exportSkelClip)) ("SkelClipRangeUnits"+$i);
|
|
|
|
int $skelRateType = `radioButtonGrp -query -select ("SkelClipRateType"+$i)`;
|
|
intField -edit -enable (($skelRateType == 1)&&($exportSkelClip)) ("SkelClipRateFrames"+$i);
|
|
floatField -edit -enable (($skelRateType == 2)&&($exportSkelClip)) ("SkelClipRateSeconds"+$i);
|
|
}
|
|
|
|
// --- Blend Shape Export
|
|
if (!$exportMesh)
|
|
checkBox -edit -value false ExportBlendShapes;
|
|
if ($animType == 1)
|
|
{
|
|
checkBox -edit -enable $exportMesh ExportBlendShapes;
|
|
}
|
|
else
|
|
{
|
|
checkBox -edit -value false ExportBlendShapes;
|
|
checkBox -edit -enable false ExportBlendShapes;
|
|
}
|
|
int $exportBS = `checkBox -query -value ExportBlendShapes`;
|
|
if (!$exportBS)
|
|
{
|
|
checkBox -edit -value false BsBB;
|
|
checkBox -edit -value false UseBlendShapeDeformerName;
|
|
}
|
|
checkBox -edit -enable $exportBS BsBB;
|
|
checkBox -edit -enable $exportBS UseBlendShapeDeformerName;
|
|
|
|
// --- Blend Shape Animations Export
|
|
if (!$exportBS)
|
|
checkBox -edit -value false ExportBSAnims;
|
|
checkBox -edit -enable $exportBS ExportBSAnims;
|
|
int $exportBSAnims = `checkBox -query -value ExportBSAnims`;
|
|
int $i;
|
|
for ($i=1; $i<=$numBSClips; $i++)
|
|
{
|
|
if (!$exportBSAnims)
|
|
checkBox -edit -value false ("ExportBSClip"+$i);
|
|
checkBox -edit -enable $exportBSAnims ("ExportBSClip"+$i);
|
|
|
|
int $exportBSClip = `checkBox -query -value ("ExportBSClip"+$i)`;
|
|
textField -edit -enable $exportBSClip ("BSClipName"+$i);
|
|
text -edit -enable $exportBSClip ("BSClipRangeLabel"+$i);
|
|
radioButtonGrp -edit -enable $exportBSClip ("BSClipRangeRadio"+$i);
|
|
text -edit -enable $exportBSClip ("BSClipRateTypeLabel"+$i);
|
|
radioButtonGrp -edit -enable $exportBSClip ("BSClipRateType"+$i);
|
|
|
|
int $skelRangeType = `radioButtonGrp -query -select ("BSClipRangeRadio"+$i)`;
|
|
text -edit -enable (($skelRangeType == 1)&&($exportBSClip)) ("BSClipRangeStartLabel"+$i);
|
|
floatField -edit -enable (($skelRangeType == 1)&&($exportBSClip)) ("BSClipRangeStart"+$i);
|
|
text -edit -enable (($skelRangeType == 1)&&($exportBSClip)) ("BSClipRangeEndLabel"+$i);
|
|
floatField -edit -enable (($skelRangeType == 1)&&($exportBSClip)) ("BSClipRangeEnd"+$i);
|
|
radioButtonGrp -edit -enable (($skelRangeType == 1)&&($exportBSClip)) ("BSClipRangeUnits"+$i);
|
|
|
|
int $skelRateType = `radioButtonGrp -query -select ("BSClipRateType"+$i)`;
|
|
intField -edit -enable (($skelRateType == 1)&&($exportBSClip)) ("BSClipRateFrames"+$i);
|
|
floatField -edit -enable (($skelRateType == 2)&&($exportBSClip)) ("BSClipRateSeconds"+$i);
|
|
}
|
|
|
|
// --- Vertex Animations Export
|
|
if (!$exportMesh)
|
|
checkBox -edit -value false ExportVertexAnims;
|
|
if ($animType == 2)
|
|
{
|
|
checkBox -edit -enable $exportMesh ExportVertexAnims;
|
|
}
|
|
else
|
|
{
|
|
checkBox -edit -value false ExportVertexAnims;
|
|
checkBox -edit -enable false ExportVertexAnims;
|
|
}
|
|
int $exportVertexAnims = `checkBox -query -value ExportVertexAnims`;
|
|
if (!$exportVertexAnims)
|
|
checkBox -edit -value false VertBB;
|
|
checkBox -edit -enable $exportVertexAnims VertBB;
|
|
int $i;
|
|
for ($i=1; $i<=$numVertClips; $i++)
|
|
{
|
|
if (!$exportVertexAnims)
|
|
checkBox -edit -value false ("ExportVertexClip"+$i);
|
|
checkBox -edit -enable $exportVertexAnims ("ExportVertexClip"+$i);
|
|
|
|
int $exportVertexClip = `checkBox -query -value ("ExportVertexClip"+$i)`;
|
|
textField -edit -enable $exportVertexClip ("VertexClipName"+$i);
|
|
text -edit -enable $exportVertexClip ("VertexClipRangeLabel"+$i);
|
|
radioButtonGrp -edit -enable $exportVertexClip ("VertexClipRangeRadio"+$i);
|
|
text -edit -enable $exportVertexClip ("VertexClipRateTypeLabel"+$i);
|
|
radioButtonGrp -edit -enable $exportVertexClip ("VertexClipRateType"+$i);
|
|
|
|
int $rangeType = `radioButtonGrp -query -select ("VertexClipRangeRadio"+$i)`;
|
|
text -edit -enable (($rangeType == 1)&&($exportVertexClip)) ("VertexClipRangeStartLabel"+$i);
|
|
floatField -edit -enable (($rangeType == 1)&&($exportVertexClip)) ("VertexClipRangeStart"+$i);
|
|
text -edit -enable (($rangeType == 1)&&($exportVertexClip)) ("VertexClipRangeEndLabel"+$i);
|
|
floatField -edit -enable (($rangeType == 1)&&($exportVertexClip)) ("VertexClipRangeEnd"+$i);
|
|
radioButtonGrp -edit -enable (($rangeType == 1)&&($exportVertexClip)) ("VertexClipRangeUnits"+$i);
|
|
|
|
int $rateType = `radioButtonGrp -query -select ("VertexClipRateType"+$i)`;
|
|
intField -edit -enable (($rateType == 1)&&($exportVertexClip)) ("VertexClipRateFrames"+$i);
|
|
floatField -edit -enable (($rateType == 2)&&($exportVertexClip)) ("VertexClipRateSeconds"+$i);
|
|
}
|
|
|
|
// --- Anim Curves Export
|
|
int $exportAnimCurves = `checkBox -query -value ExportAnimCurves`;
|
|
text -edit -enable $exportAnimCurves ExportAnimCurvesFilenameLabel;
|
|
textField -edit -enable $exportAnimCurves ExportAnimCurvesFilename;
|
|
|
|
// --- Camera Export
|
|
int $exportCameras = `checkBox -query -value ExportCameras`;
|
|
checkBox -edit -enable ($exportCameras && $exportAnimCurves) ExportCamerasAnim;
|
|
if (!$exportAnimCurves)
|
|
{
|
|
checkBox -edit -value false ExportCamerasAnim;
|
|
}
|
|
text -edit -enable $exportCameras ExportCamerasFilenameLabel;
|
|
textField -edit -enable $exportCameras ExportCamerasFilename;
|
|
|
|
// --- particles Export
|
|
int $exportParticles = `checkBox -query -value ExportParticles`;
|
|
text -edit -enable $exportParticles ExportParticlesFilenameLabel;
|
|
textField -edit -enable $exportParticles ExportParticlesFilename;
|
|
}
|
|
|
|
// ===== Define UI
|
|
global proc defineOgreExporterUIView()
|
|
{
|
|
global int $numSkelClips;
|
|
$numSkelClips = 0;
|
|
global int $numBSClips;
|
|
$numBSClips = 0;
|
|
global int $numVertClips;
|
|
$numVertClips = 0;
|
|
|
|
// --- Main window for Ogre exporter
|
|
if (`window -exists "OgreExportWindow"`)
|
|
{
|
|
deleteUI OgreExportWindow;
|
|
}
|
|
window
|
|
-title "Ogre Exporter"
|
|
OgreExportWindow;
|
|
scrollLayout
|
|
OgreExportScrollLayout;
|
|
columnLayout
|
|
OgreExportLayout;
|
|
|
|
// --- Common Parameters Frame
|
|
frameLayout
|
|
-parent OgreExportLayout
|
|
-label "Common Parameters"
|
|
-collapsable true
|
|
CommonFrame;
|
|
|
|
columnLayout
|
|
-parent CommonFrame
|
|
-columnAttach "left" 20
|
|
CommonLayout;
|
|
|
|
text
|
|
-parent CommonLayout
|
|
-label "Current Directory"
|
|
SceneDirectoryLabel;
|
|
|
|
textField
|
|
-parent CommonLayout
|
|
-width 305
|
|
-editable false
|
|
SceneDirectory;
|
|
|
|
text
|
|
-parent CommonLayout
|
|
-label "Output Directory"
|
|
OutputDirectoryLabel;
|
|
|
|
textField
|
|
-parent CommonLayout
|
|
-width 305
|
|
OutputDirectory;
|
|
|
|
rowColumnLayout
|
|
-parent CommonLayout
|
|
-numberOfColumns 3
|
|
ExportTypeLayout;
|
|
|
|
text -label "Export:";
|
|
radioCollection ExportTypeCollection;
|
|
radioButton -label "all" -select RadioButtonAll;
|
|
radioButton -label "selected" RadioButtonSelected;
|
|
|
|
rowColumnLayout
|
|
-parent CommonLayout
|
|
-numberOfColumns 3
|
|
CoordsType;
|
|
|
|
text -label "Coordinate space:";
|
|
radioCollection CoordsTypeCollection;
|
|
radioButton -label "world" -select RadioButtonWorld;
|
|
radioButton -label "object" RadioButtonObject;
|
|
|
|
rowColumnLayout
|
|
-parent CommonLayout
|
|
-numberOfColumns 2
|
|
-columnWidth 1 100
|
|
-columnWidth 2 150
|
|
GeneralOptionsLayout;
|
|
|
|
// Length measurement units
|
|
|
|
text -label "Length Units:"
|
|
-parent GeneralOptionsLayout;
|
|
|
|
optionMenu -parent GeneralOptionsLayout
|
|
-w 200
|
|
UnitsMenu;
|
|
|
|
menuItem -label "from prefs";
|
|
menuItem -label "millimeter";
|
|
menuItem -label "centimeter";
|
|
menuItem -label "meter";
|
|
menuItem -label "inch";
|
|
menuItem -label "foot";
|
|
menuItem -label "yard";
|
|
|
|
optionMenu -edit -select 1 UnitsMenu;
|
|
|
|
// Animation type
|
|
|
|
text -label "Animation Type:"
|
|
-parent GeneralOptionsLayout;
|
|
|
|
optionMenu -parent GeneralOptionsLayout
|
|
-changeCommand "formatOgreExporterUI"
|
|
-w 200
|
|
AnimationTypeMenu;
|
|
|
|
menuItem -label "Skeleton / Blend Shapes";
|
|
menuItem -label "Vertex";
|
|
|
|
optionMenu -edit -select 1 AnimationTypeMenu;
|
|
|
|
// Global scale
|
|
|
|
text -label "Scale all by:"
|
|
-parent GeneralOptionsLayout;
|
|
|
|
floatField
|
|
-parent GeneralOptionsLayout
|
|
-width 50
|
|
-value 1
|
|
GlobalScale;
|
|
|
|
// --- Mesh
|
|
frameLayout
|
|
-parent OgreExportLayout
|
|
-collapsable true
|
|
-label "Mesh"
|
|
MeshFrame;
|
|
|
|
columnLayout
|
|
-parent MeshFrame
|
|
-columnAttach "left" 20
|
|
MeshLayout;
|
|
|
|
checkBox
|
|
-parent MeshLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Export mesh"
|
|
ExportMesh;
|
|
|
|
checkBox
|
|
-parent MeshLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Use shared geometry"
|
|
UseSharedGeometry;
|
|
|
|
checkBox
|
|
-parent MeshLayout
|
|
-value true
|
|
-enable false
|
|
-label "Include vertex bone assignements"
|
|
ExportVBA;
|
|
|
|
checkBox
|
|
-parent MeshLayout
|
|
-value true
|
|
-enable false
|
|
-label "Include vertex normals"
|
|
ExportMeshNormals;
|
|
|
|
checkBox
|
|
-parent MeshLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-enable false
|
|
-label "Include diffuse vertex colours"
|
|
ExportMeshColours;
|
|
|
|
checkBox
|
|
-parent MeshLayout
|
|
-value true
|
|
-enable false
|
|
-label "Include texture coordinates"
|
|
ExportMeshUVs;
|
|
|
|
text
|
|
-parent MeshLayout
|
|
-label "Mesh Filename"
|
|
-enable false
|
|
ExportMeshFilenameLabel;
|
|
|
|
textField
|
|
-parent MeshLayout
|
|
-width 305
|
|
-enable false
|
|
ExportMeshFilename;
|
|
|
|
checkBox
|
|
-parent MeshLayout
|
|
-value false
|
|
-enable false
|
|
-label "Build edges list (for shadows)"
|
|
BuildEdges;
|
|
|
|
checkBox
|
|
-parent MeshLayout
|
|
-value false
|
|
-enable false
|
|
-label "Build tangent vectors (for normal maps)"
|
|
-changeCommand "formatOgreExporterUI"
|
|
BuildTangents;
|
|
|
|
rowColumnLayout
|
|
-parent MeshLayout
|
|
-numberOfColumns 3
|
|
TangentSemanticLayout;
|
|
|
|
text
|
|
-parent TangentSemanticLayout
|
|
-label "Tangent semantic:"
|
|
-enable false
|
|
TangentSemanticLabel;
|
|
|
|
radioCollection TangentSemanticCollection;
|
|
radioButton -label "TANGENT" -enable true -select TangentSemanticTangent;
|
|
radioButton -label "TEXCOORD" -enable true TangentSemanticTexCoord;
|
|
|
|
checkBox
|
|
-parent MeshLayout
|
|
-value false
|
|
-enable false
|
|
-label "Split tangents at mirrored UVs"
|
|
TangentsSplitMirrored;
|
|
checkBox
|
|
-parent MeshLayout
|
|
-value false
|
|
-enable false
|
|
-label "Split tangents at rotated UVs"
|
|
TangentsSplitRotated;
|
|
checkBox
|
|
-parent MeshLayout
|
|
-value false
|
|
-enable false
|
|
-label "Use 4D tangents"
|
|
TangentsUseParity;
|
|
|
|
|
|
|
|
|
|
// --- Materials
|
|
frameLayout
|
|
-parent OgreExportLayout
|
|
-collapsable true
|
|
-label "Materials"
|
|
MaterialFrame;
|
|
|
|
columnLayout
|
|
-parent MaterialFrame
|
|
-columnAttach "left" 20
|
|
MaterialLayout;
|
|
|
|
checkBox
|
|
-parent MaterialLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Export materials to Ogre .material file"
|
|
ExportMaterial;
|
|
|
|
text
|
|
-parent MaterialLayout
|
|
-label "Material Filename"
|
|
-enable false
|
|
ExportMaterialFilenameLabel;
|
|
|
|
textField
|
|
-parent MaterialLayout
|
|
-width 305
|
|
-enable false
|
|
ExportMaterialFilename;
|
|
|
|
text
|
|
-parent MaterialLayout
|
|
-label "Material name prefix"
|
|
-enable false
|
|
ExportMaterialPrefixLabel;
|
|
|
|
textField
|
|
-parent MaterialLayout
|
|
-width 305
|
|
-enable false
|
|
-text ""
|
|
ExportMaterialPrefix;
|
|
|
|
checkBox
|
|
-parent MaterialLayout
|
|
-value false
|
|
-label "Copy texture files to output dir"
|
|
CopyTextures;
|
|
|
|
checkBox
|
|
-parent MaterialLayout
|
|
-value false
|
|
-label "Export with \"ligthing off\" option"
|
|
MatLightingOff;
|
|
|
|
// --- Scene
|
|
frameLayout
|
|
-parent OgreExportLayout
|
|
-collapsable true
|
|
-label "Scene"
|
|
SceneFrame;
|
|
|
|
columnLayout
|
|
-parent SceneFrame
|
|
-columnAttach "left" 20
|
|
SceneLayout;
|
|
|
|
checkBox
|
|
-parent SceneLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Export scene"
|
|
ExportScene;
|
|
|
|
text
|
|
-parent SceneLayout
|
|
-label "Scene Filename"
|
|
-enable false
|
|
ExportSceneFilenameLabel;
|
|
|
|
textField
|
|
-parent SceneLayout
|
|
-width 305
|
|
-enable false
|
|
ExportSceneFilename;
|
|
|
|
// --- Skeleton
|
|
frameLayout
|
|
-parent OgreExportLayout
|
|
-collapsable true
|
|
-label "Skeleton"
|
|
SkeletonFrame;
|
|
|
|
columnLayout
|
|
-parent SkeletonFrame
|
|
-columnAttach "left" 20
|
|
SkeletonLayout;
|
|
|
|
checkBox
|
|
-parent SkeletonLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Export skeleton"
|
|
ExportSkeleton;
|
|
|
|
text
|
|
-parent SkeletonLayout
|
|
-label "Skeleton Filename"
|
|
-enable false
|
|
ExportSkeletonFilenameLabel;
|
|
|
|
textField
|
|
-parent SkeletonLayout
|
|
-width 305
|
|
-enable false
|
|
ExportSkeletonFilename;
|
|
|
|
|
|
// --- Skeleton Animations
|
|
frameLayout
|
|
-parent OgreExportLayout
|
|
-collapsable true
|
|
-label "Skeleton Animations"
|
|
-width 329
|
|
SkelAnimsFrame;
|
|
|
|
columnLayout
|
|
-parent SkelAnimsFrame
|
|
-columnAttach "left" 20
|
|
SkelAnimsLayout;
|
|
|
|
checkBox
|
|
-parent SkelAnimsLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Export animations (requires export of skeleton)"
|
|
ExportSkelAnims;
|
|
|
|
checkBox
|
|
-parent SkelAnimsLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Include animations in bounding box"
|
|
SkelBB;
|
|
|
|
text
|
|
-parent SkelAnimsLayout
|
|
-label "Neutral pose:"
|
|
NeutralPoseLabel;
|
|
|
|
radioButtonGrp
|
|
-parent SkelAnimsLayout
|
|
-numberOfRadioButtons 2
|
|
-labelArray2 "Current frame" "Skin bind pose"
|
|
-cw 1 100
|
|
-cw 2 100
|
|
-select 1
|
|
-changeCommand "formatOgreExporterUI()"
|
|
NeutralPoseRadio;
|
|
|
|
columnLayout
|
|
-parent SkelAnimsLayout
|
|
-columnAttach "left" 0
|
|
SkelClipsLayout;
|
|
|
|
rowLayout
|
|
-parent SkelAnimsLayout
|
|
-numberOfColumns 2
|
|
-columnWidth 1 160
|
|
-columnWidth 2 60
|
|
-columnAttach 1 "left" 100
|
|
SkelClipsButtonsLayout;
|
|
|
|
button
|
|
-parent SkelClipsButtonsLayout
|
|
-label "Add Clip"
|
|
-width 60
|
|
-command "addOgreExporterSkeletonClip()"
|
|
ButtonAddSkelClip;
|
|
|
|
button
|
|
-parent SkelClipsButtonsLayout
|
|
-label "Delete Clip"
|
|
-width 60
|
|
-command "delOgreExporterSkeletonClip()"
|
|
ButtonDelSkelClip;
|
|
|
|
// --- Blend Shapes
|
|
frameLayout
|
|
-parent OgreExportLayout
|
|
-collapsable true
|
|
-label "Blend Shapes"
|
|
-width 329
|
|
BlendShapesFrame;
|
|
|
|
columnLayout
|
|
-parent BlendShapesFrame
|
|
-columnAttach "left" 20
|
|
BlendShapesLayout;
|
|
|
|
checkBox
|
|
-parent BlendShapesLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Export blend shapes (to mesh file)"
|
|
ExportBlendShapes;
|
|
|
|
checkBox
|
|
-parent BlendShapesLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Include blend shapes in bounding box"
|
|
BsBB;
|
|
checkBox
|
|
-parent BlendShapesLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Include blend shapes deformer name in blendshape names"
|
|
UseBlendShapeDeformerName;
|
|
|
|
// --- Blend Shapes Animations
|
|
frameLayout
|
|
-parent OgreExportLayout
|
|
-collapsable true
|
|
-label "Blend Shape Animations"
|
|
-width 329
|
|
BSAnimsFrame;
|
|
|
|
columnLayout
|
|
-parent BSAnimsFrame
|
|
-columnAttach "left" 20
|
|
BSAnimsLayout;
|
|
|
|
checkBox
|
|
-parent BSAnimsLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Export animations (to mesh file)"
|
|
ExportBSAnims;
|
|
|
|
columnLayout
|
|
-parent BSAnimsLayout
|
|
-columnAttach "left" 0
|
|
BSClipsLayout;
|
|
|
|
rowLayout
|
|
-parent BSAnimsLayout
|
|
-numberOfColumns 2
|
|
-columnWidth 1 160
|
|
-columnWidth 2 60
|
|
-columnAttach 1 "left" 100
|
|
BSClipsButtonsLayout;
|
|
|
|
button
|
|
-parent BSClipsButtonsLayout
|
|
-label "Add Clip"
|
|
-width 60
|
|
-command "addOgreExporterBSClip()"
|
|
ButtonAddBSClip;
|
|
|
|
button
|
|
-parent BSClipsButtonsLayout
|
|
-label "Delete Clip"
|
|
-width 60
|
|
-command "delOgreExporterBSClip()"
|
|
ButtonDelBSClip;
|
|
|
|
// --- Vertex Animations
|
|
frameLayout
|
|
-parent OgreExportLayout
|
|
-collapsable true
|
|
-label "Vertex Animations"
|
|
-width 329
|
|
VertexAnimsFrame;
|
|
|
|
columnLayout
|
|
-parent VertexAnimsFrame
|
|
-columnAttach "left" 20
|
|
VertexAnimsLayout;
|
|
|
|
checkBox
|
|
-parent VertexAnimsLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Export animations (to mesh file)"
|
|
ExportVertexAnims;
|
|
|
|
checkBox
|
|
-parent VertexAnimsLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Include animations in bounding box"
|
|
VertBB;
|
|
|
|
columnLayout
|
|
-parent VertexAnimsLayout
|
|
-columnAttach "left" 0
|
|
VertexClipsLayout;
|
|
|
|
rowLayout
|
|
-parent VertexAnimsLayout
|
|
-numberOfColumns 2
|
|
-columnWidth 1 160
|
|
-columnWidth 2 60
|
|
-columnAttach 1 "left" 100
|
|
VertexClipsButtonsLayout;
|
|
|
|
button
|
|
-parent VertexClipsButtonsLayout
|
|
-label "Add Clip"
|
|
-width 60
|
|
-command "addOgreExporterVertexClip()"
|
|
ButtonAddVertexClip;
|
|
|
|
button
|
|
-parent VertexClipsButtonsLayout
|
|
-label "Delete Clip"
|
|
-width 60
|
|
-command "delOgreExporterVertexClip()"
|
|
ButtonDelVertexClip;
|
|
|
|
|
|
// --- Anim Curves
|
|
frameLayout
|
|
-parent OgreExportLayout
|
|
-collapsable true
|
|
-label "Animation Curves"
|
|
AnimCurvesFrame;
|
|
|
|
columnLayout
|
|
-parent AnimCurvesFrame
|
|
-columnAttach "left" 20
|
|
AnimCurvesLayout;
|
|
|
|
checkBox
|
|
-parent AnimCurvesLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Export animation curves to Ogre .anim file"
|
|
ExportAnimCurves;
|
|
|
|
text
|
|
-parent AnimCurvesLayout
|
|
-label "Anim Curves Filename"
|
|
-enable false
|
|
ExportAnimCurvesFilenameLabel;
|
|
|
|
textField
|
|
-parent AnimCurvesLayout
|
|
-width 305
|
|
-enable false
|
|
ExportAnimCurvesFilename;
|
|
|
|
// --- Cameras
|
|
frameLayout
|
|
-parent OgreExportLayout
|
|
-collapsable true
|
|
-label "Cameras"
|
|
CameraFrame;
|
|
|
|
columnLayout
|
|
-parent CameraFrame
|
|
-columnAttach "left" 20
|
|
CameraLayout;
|
|
|
|
checkBox
|
|
-parent CameraLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Export cameras to Ogre .camera file"
|
|
ExportCameras;
|
|
|
|
checkBox
|
|
-parent CameraLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Export Camera Animations(requires export of anim curves)"
|
|
ExportCamerasAnim;
|
|
|
|
text
|
|
-parent CameraLayout
|
|
-label "Cameras Filename"
|
|
-enable false
|
|
ExportCamerasFilenameLabel;
|
|
|
|
textField
|
|
-parent CameraLayout
|
|
-width 305
|
|
-enable false
|
|
ExportCamerasFilename;
|
|
|
|
// --- Particles
|
|
frameLayout
|
|
-parent OgreExportLayout
|
|
-collapsable true
|
|
-label "Particles"
|
|
ParticlesFrame;
|
|
|
|
columnLayout
|
|
-parent ParticlesFrame
|
|
-columnAttach "left" 20
|
|
ParticlesLayout;
|
|
|
|
checkBox
|
|
-parent ParticlesLayout
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Export particles to Ogre .particles file"
|
|
ExportParticles;
|
|
|
|
text
|
|
-parent ParticlesLayout
|
|
-label "Particles Filename"
|
|
-enable false
|
|
ExportParticlesFilenameLabel;
|
|
|
|
textField
|
|
-parent ParticlesLayout
|
|
-width 305
|
|
-enable false
|
|
ExportParticlesFilename;
|
|
|
|
// --- Export!
|
|
separator
|
|
-parent OgreExportLayout
|
|
-style "none"
|
|
-height 10;
|
|
|
|
button
|
|
-parent OgreExportLayout
|
|
-label "EXPORT"
|
|
-command "runOgreExport"
|
|
-width 325
|
|
ButtonExport;
|
|
|
|
// --- Manage settings
|
|
separator
|
|
-parent OgreExportLayout
|
|
-style "in"
|
|
-width 325
|
|
-height 5;
|
|
|
|
rowLayout
|
|
-parent OgreExportLayout
|
|
-numberOfColumns 3
|
|
-columnWidth3 110 110 100
|
|
-columnAlign 1 "center"
|
|
-columnAlign 2 "center"
|
|
-columnAlign 3 "center"
|
|
SettingsButtonsLayout;
|
|
|
|
button
|
|
-parent SettingsButtonsLayout
|
|
-label "Load settings"
|
|
-command "loadOgreExporterSettings"
|
|
-width 100
|
|
LoadSettingsButton;
|
|
|
|
button
|
|
-parent SettingsButtonsLayout
|
|
-label "Save settings"
|
|
-command "saveOgreExporterSettings"
|
|
-width 100
|
|
SaveSettingsButton;
|
|
|
|
button
|
|
-parent SettingsButtonsLayout
|
|
-label "Default settings"
|
|
-command "defaultOgreExporterSettings"
|
|
-width 100
|
|
DefaultSettingsButton;
|
|
|
|
|
|
// --- Add an empty skeleton clip
|
|
addOgreExporterSkeletonClip();
|
|
// --- Add an empty blend shape clip
|
|
addOgreExporterBSClip();
|
|
// --- Add an empty vertex clip
|
|
addOgreExporterVertexClip();
|
|
// --- Show the Window
|
|
showWindow OgreExportWindow;
|
|
}
|
|
|
|
global proc addOgreExporterSkeletonClip()
|
|
{
|
|
global int $numSkelClips;
|
|
$numSkelClips++;
|
|
|
|
frameLayout
|
|
-parent SkelClipsLayout
|
|
-width 309
|
|
-label ("Clip"+$numSkelClips)
|
|
("SkelClipFrame"+$numSkelClips);
|
|
|
|
columnLayout
|
|
-parent ("SkelClipFrame"+$numSkelClips)
|
|
-columnAttach "left" 0
|
|
("SkelClipLayout"+$numSkelClips);
|
|
|
|
rowLayout
|
|
-parent ("SkelClipLayout"+$numSkelClips)
|
|
-numberOfColumns 2
|
|
-columnWidth2 100 200
|
|
-columnOffset2 5 5
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
("SkelClipNameLayout"+$numSkelClips);
|
|
|
|
checkBox
|
|
-parent ("SkelClipNameLayout"+$numSkelClips)
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Clip Name"
|
|
("ExportSkelClip"+$numSkelClips);
|
|
|
|
textField
|
|
-parent ("SkelClipNameLayout"+$numSkelClips)
|
|
-width 200
|
|
-text ("clip"+$numSkelClips)
|
|
("SkelClipName"+$numSkelClips);
|
|
|
|
separator
|
|
-parent ("SkelClipLayout"+$numSkelClips)
|
|
-style "in"
|
|
-width 309
|
|
-height 5;
|
|
|
|
rowLayout
|
|
-parent ("SkelClipLayout"+$numSkelClips)
|
|
-numberOfColumns 2
|
|
-columnWidth2 100 200
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
("SkelClipRangeTypeLayout"+$numSkelClips);
|
|
|
|
text
|
|
-parent ("SkelClipRangeTypeLayout"+$numSkelClips)
|
|
-label "Time Range:"
|
|
("SkelClipRangeLabel"+$numSkelClips);
|
|
|
|
radioButtonGrp
|
|
-parent ("SkelClipRangeTypeLayout"+$numSkelClips)
|
|
-numberOfRadioButtons 2
|
|
-labelArray2 "Start/End" "Time Slider"
|
|
-cw 1 100
|
|
-cw 2 100
|
|
-select 2
|
|
-changeCommand "formatOgreExporterUI"
|
|
("SkelClipRangeRadio"+$numSkelClips);
|
|
|
|
columnLayout
|
|
-parent ("SkelClipLayout"+$numSkelClips)
|
|
-columnAttach "left" 70
|
|
("SkelClipRangeLayout"+$numSkelClips);
|
|
|
|
rowLayout
|
|
-parent ("SkelClipRangeLayout"+$numSkelClips)
|
|
-numberOfColumns 2
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
-columnAttach 1 "both" 0
|
|
-columnAttach 2 "both" 0
|
|
-columnOffset2 5 5
|
|
-columnWidth 1 70
|
|
-columnWidth 2 50
|
|
("SkelClipRangeStartLayout"+$numSkelClips);
|
|
|
|
text
|
|
-parent ("SkelClipRangeStartLayout"+$numSkelClips)
|
|
-label "Start Time:"
|
|
-width 50
|
|
("SkelClipRangeStartLabel"+$numSkelClips);
|
|
|
|
floatField
|
|
-parent ("SkelClipRangeStartLayout"+$numSkelClips)
|
|
-width 50
|
|
-value 0.000
|
|
("SkelClipRangeStart"+$numSkelClips);
|
|
|
|
rowLayout
|
|
-parent ("SkelClipRangeLayout"+$numSkelClips)
|
|
-numberOfColumns 2
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
-columnAttach 1 "both" 0
|
|
-columnAttach 2 "both" 0
|
|
-columnOffset2 5 5
|
|
-columnWidth 1 70
|
|
-columnWidth 2 50
|
|
("SkelClipRangeEndLayout"+$numSkelClips);
|
|
|
|
text
|
|
-parent ("SkelClipRangeEndLayout"+$numSkelClips)
|
|
-label "End Time:"
|
|
("SkelClipRangeEndLabel"+$numSkelClips);
|
|
|
|
floatField
|
|
-parent ("SkelClipRangeEndLayout"+$numSkelClips)
|
|
-value 0.000
|
|
-width 50
|
|
("SkelClipRangeEnd"+$numSkelClips);
|
|
|
|
columnLayout
|
|
-parent ("SkelClipRangeLayout"+$numSkelClips)
|
|
-columnAttach "left" 0
|
|
("SkelClipRangeUnitsLayout"+$numSkelClips);
|
|
|
|
radioButtonGrp
|
|
-parent ("SkelClipRangeUnitsLayout"+$numSkelClips)
|
|
-numberOfRadioButtons 2
|
|
-labelArray2 "Frames" "Seconds"
|
|
-cw 1 65
|
|
-cw 2 65
|
|
-select 1
|
|
("SkelClipRangeUnits"+$numSkelClips);
|
|
|
|
separator
|
|
-parent ("SkelClipLayout"+$numSkelClips)
|
|
-style "in"
|
|
-width 309
|
|
-height 5;
|
|
|
|
rowLayout
|
|
-parent ("SkelClipLayout"+$numSkelClips)
|
|
-numberOfColumns 2
|
|
-columnWidth 1 70
|
|
-columnWidth 2 230
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
-columnAttach 1 "both" 0
|
|
-columnAttach 2 "both" 0
|
|
-columnOffset2 5 5
|
|
("SkelClipRateTypeLayout"+$numSkelClips);
|
|
|
|
text
|
|
-parent ("SkelClipRateTypeLayout"+$numSkelClips)
|
|
-label "Sample by:"
|
|
("SkelClipRateTypeLabel"+$numSkelClips);
|
|
|
|
radioButtonGrp
|
|
-parent ("SkelClipRateTypeLayout"+$numSkelClips)
|
|
-numberOfRadioButtons 2
|
|
-labelArray2 "Frames" "Seconds"
|
|
-cw 1 65
|
|
-cw 2 65
|
|
-select 1
|
|
-changeCommand "formatOgreExporterUI"
|
|
("SkelClipRateType"+$numSkelClips);
|
|
|
|
rowLayout
|
|
-parent ("SkelClipLayout"+$numSkelClips)
|
|
-numberOfColumns 2
|
|
-columnWidth 1 125
|
|
-columnWidth 2 80
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
-columnAttach 1 "left" 75
|
|
-columnAttach 2 "both" 15
|
|
("SkelClipRateLayout"+$numSkelClips);
|
|
|
|
intField
|
|
-parent ("SkelClipRateLayout"+$numSkelClips)
|
|
-width 50
|
|
-value 1.000
|
|
("SkelClipRateFrames"+$numSkelClips);
|
|
|
|
floatField
|
|
-parent ("SkelClipRateLayout"+$numSkelClips)
|
|
-width 50
|
|
-value 0.100
|
|
("SkelClipRateSeconds"+$numSkelClips);
|
|
formatOgreExporterUI();
|
|
}
|
|
|
|
global proc delOgreExporterSkeletonClip()
|
|
{
|
|
global int $numSkelClips;
|
|
if ($numSkelClips > 1)
|
|
{
|
|
deleteUI("SkelClipFrame"+$numSkelClips);
|
|
$numSkelClips--;
|
|
}
|
|
formatOgreExporterUI();
|
|
}
|
|
|
|
global proc addOgreExporterBSClip()
|
|
{
|
|
global int $numBSClips;
|
|
$numBSClips++;
|
|
|
|
frameLayout
|
|
-parent BSClipsLayout
|
|
-width 309
|
|
-label ("Clip"+$numBSClips)
|
|
("BSClipFrame"+$numBSClips);
|
|
|
|
columnLayout
|
|
-parent ("BSClipFrame"+$numBSClips)
|
|
-columnAttach "left" 0
|
|
("BSClipLayout"+$numBSClips);
|
|
|
|
rowLayout
|
|
-parent ("BSClipLayout"+$numBSClips)
|
|
-numberOfColumns 2
|
|
-columnWidth2 100 200
|
|
-columnOffset2 5 5
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
("BSClipNameLayout"+$numBSClips);
|
|
|
|
checkBox
|
|
-parent ("BSClipNameLayout"+$numBSClips)
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Clip Name"
|
|
("ExportBSClip"+$numBSClips);
|
|
|
|
textField
|
|
-parent ("BSClipNameLayout"+$numBSClips)
|
|
-width 200
|
|
-text ("clip"+$numBSClips)
|
|
("BSClipName"+$numBSClips);
|
|
|
|
separator
|
|
-parent ("BSClipLayout"+$numBSClips)
|
|
-style "in"
|
|
-width 309
|
|
-height 5;
|
|
|
|
rowLayout
|
|
-parent ("BSClipLayout"+$numBSClips)
|
|
-numberOfColumns 2
|
|
-columnWidth2 100 200
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
("BSClipRangeTypeLayout"+$numBSClips);
|
|
|
|
text
|
|
-parent ("BSClipRangeTypeLayout"+$numBSClips)
|
|
-label "Time Range:"
|
|
("BSClipRangeLabel"+$numBSClips);
|
|
|
|
radioButtonGrp
|
|
-parent ("BSClipRangeTypeLayout"+$numBSClips)
|
|
-numberOfRadioButtons 2
|
|
-labelArray2 "Start/End" "Time Slider"
|
|
-cw 1 100
|
|
-cw 2 100
|
|
-select 2
|
|
-changeCommand "formatOgreExporterUI"
|
|
("BSClipRangeRadio"+$numBSClips);
|
|
|
|
columnLayout
|
|
-parent ("BSClipLayout"+$numBSClips)
|
|
-columnAttach "left" 70
|
|
("BSClipRangeLayout"+$numBSClips);
|
|
|
|
rowLayout
|
|
-parent ("BSClipRangeLayout"+$numBSClips)
|
|
-numberOfColumns 2
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
-columnAttach 1 "both" 0
|
|
-columnAttach 2 "both" 0
|
|
-columnOffset2 5 5
|
|
-columnWidth 1 70
|
|
-columnWidth 2 50
|
|
("BSClipRangeStartLayout"+$numBSClips);
|
|
|
|
text
|
|
-parent ("BSClipRangeStartLayout"+$numBSClips)
|
|
-label "Start Time:"
|
|
-width 50
|
|
("BSClipRangeStartLabel"+$numBSClips);
|
|
|
|
floatField
|
|
-parent ("BSClipRangeStartLayout"+$numBSClips)
|
|
-width 50
|
|
-value 0.000
|
|
("BSClipRangeStart"+$numBSClips);
|
|
|
|
rowLayout
|
|
-parent ("BSClipRangeLayout"+$numBSClips)
|
|
-numberOfColumns 2
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
-columnAttach 1 "both" 0
|
|
-columnAttach 2 "both" 0
|
|
-columnOffset2 5 5
|
|
-columnWidth 1 70
|
|
-columnWidth 2 50
|
|
("BSClipRangeEndLayout"+$numBSClips);
|
|
|
|
text
|
|
-parent ("BSClipRangeEndLayout"+$numBSClips)
|
|
-label "End Time:"
|
|
("BSClipRangeEndLabel"+$numBSClips);
|
|
|
|
floatField
|
|
-parent ("BSClipRangeEndLayout"+$numBSClips)
|
|
-value 0.000
|
|
-width 50
|
|
("BSClipRangeEnd"+$numBSClips);
|
|
|
|
columnLayout
|
|
-parent ("BSClipRangeLayout"+$numBSClips)
|
|
-columnAttach "left" 0
|
|
("BSClipRangeUnitsLayout"+$numBSClips);
|
|
|
|
radioButtonGrp
|
|
-parent ("BSClipRangeUnitsLayout"+$numBSClips)
|
|
-numberOfRadioButtons 2
|
|
-labelArray2 "Frames" "Seconds"
|
|
-cw 1 65
|
|
-cw 2 65
|
|
-select 1
|
|
("BSClipRangeUnits"+$numBSClips);
|
|
|
|
separator
|
|
-parent ("BSClipLayout"+$numBSClips)
|
|
-style "in"
|
|
-width 309
|
|
-height 5;
|
|
|
|
rowLayout
|
|
-parent ("BSClipLayout"+$numBSClips)
|
|
-numberOfColumns 2
|
|
-columnWidth 1 70
|
|
-columnWidth 2 230
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
-columnAttach 1 "both" 0
|
|
-columnAttach 2 "both" 0
|
|
-columnOffset2 5 5
|
|
("BSClipRateTypeLayout"+$numBSClips);
|
|
|
|
text
|
|
-parent ("BSClipRateTypeLayout"+$numBSClips)
|
|
-label "Sample by:"
|
|
("BSClipRateTypeLabel"+$numBSClips);
|
|
|
|
radioButtonGrp
|
|
-parent ("BSClipRateTypeLayout"+$numBSClips)
|
|
-numberOfRadioButtons 2
|
|
-labelArray2 "Frames" "Seconds"
|
|
-cw 1 65
|
|
-cw 2 65
|
|
-select 1
|
|
-changeCommand "formatOgreExporterUI"
|
|
("BSClipRateType"+$numBSClips);
|
|
|
|
rowLayout
|
|
-parent ("BSClipLayout"+$numBSClips)
|
|
-numberOfColumns 2
|
|
-columnWidth 1 125
|
|
-columnWidth 2 80
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
-columnAttach 1 "left" 75
|
|
-columnAttach 2 "both" 15
|
|
("BSClipRateLayout"+$numBSClips);
|
|
|
|
intField
|
|
-parent ("BSClipRateLayout"+$numBSClips)
|
|
-width 50
|
|
-value 1.000
|
|
("BSClipRateFrames"+$numBSClips);
|
|
|
|
floatField
|
|
-parent ("BSClipRateLayout"+$numBSClips)
|
|
-width 50
|
|
-value 0.100
|
|
("BSClipRateSeconds"+$numBSClips);
|
|
formatOgreExporterUI();
|
|
}
|
|
|
|
global proc delOgreExporterBSClip()
|
|
{
|
|
global int $numBSClips;
|
|
if ($numBSClips > 1)
|
|
{
|
|
deleteUI("BSClipFrame"+$numBSClips);
|
|
$numBSClips--;
|
|
}
|
|
formatOgreExporterUI();
|
|
}
|
|
|
|
global proc addOgreExporterVertexClip()
|
|
{
|
|
global int $numVertClips;
|
|
$numVertClips++;
|
|
|
|
frameLayout
|
|
-parent VertexClipsLayout
|
|
-width 309
|
|
-label ("Clip"+$numVertClips)
|
|
("VertexClipFrame"+$numVertClips);
|
|
|
|
columnLayout
|
|
-parent ("VertexClipFrame"+$numVertClips)
|
|
-columnAttach "left" 0
|
|
("VertexClipLayout"+$numVertClips);
|
|
|
|
rowLayout
|
|
-parent ("VertexClipLayout"+$numVertClips)
|
|
-numberOfColumns 2
|
|
-columnWidth2 100 200
|
|
-columnOffset2 5 5
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
("VertexClipNameLayout"+$numVertClips);
|
|
|
|
checkBox
|
|
-parent ("VertexClipNameLayout"+$numVertClips)
|
|
-value false
|
|
-changeCommand "formatOgreExporterUI"
|
|
-label "Clip Name"
|
|
("ExportVertexClip"+$numVertClips);
|
|
|
|
textField
|
|
-parent ("VertexClipNameLayout"+$numVertClips)
|
|
-width 200
|
|
-text ("clip"+$numVertClips)
|
|
("VertexClipName"+$numVertClips);
|
|
|
|
separator
|
|
-parent ("VertexClipLayout"+$numVertClips)
|
|
-style "in"
|
|
-width 309
|
|
-height 5;
|
|
|
|
rowLayout
|
|
-parent ("VertexClipLayout"+$numVertClips)
|
|
-numberOfColumns 2
|
|
-columnWidth2 100 200
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
("VertexClipRangeTypeLayout"+$numVertClips);
|
|
|
|
text
|
|
-parent ("VertexClipRangeTypeLayout"+$numVertClips)
|
|
-label "Time Range:"
|
|
("VertexClipRangeLabel"+$numVertClips);
|
|
|
|
radioButtonGrp
|
|
-parent ("VertexClipRangeTypeLayout"+$numVertClips)
|
|
-numberOfRadioButtons 2
|
|
-labelArray2 "Start/End" "Time Slider"
|
|
-cw 1 100
|
|
-cw 2 100
|
|
-select 2
|
|
-changeCommand "formatOgreExporterUI"
|
|
("VertexClipRangeRadio"+$numVertClips);
|
|
|
|
columnLayout
|
|
-parent ("VertexClipLayout"+$numVertClips)
|
|
-columnAttach "left" 70
|
|
("VertexClipRangeLayout"+$numVertClips);
|
|
|
|
rowLayout
|
|
-parent ("VertexClipRangeLayout"+$numVertClips)
|
|
-numberOfColumns 2
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
-columnAttach 1 "both" 0
|
|
-columnAttach 2 "both" 0
|
|
-columnOffset2 5 5
|
|
-columnWidth 1 70
|
|
-columnWidth 2 50
|
|
("VertexClipRangeStartLayout"+$numVertClips);
|
|
|
|
text
|
|
-parent ("VertexClipRangeStartLayout"+$numVertClips)
|
|
-label "Start Time:"
|
|
-width 50
|
|
("VertexClipRangeStartLabel"+$numVertClips);
|
|
|
|
floatField
|
|
-parent ("VertexClipRangeStartLayout"+$numVertClips)
|
|
-width 50
|
|
-value 0.000
|
|
("VertexClipRangeStart"+$numVertClips);
|
|
|
|
rowLayout
|
|
-parent ("VertexClipRangeLayout"+$numVertClips)
|
|
-numberOfColumns 2
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
-columnAttach 1 "both" 0
|
|
-columnAttach 2 "both" 0
|
|
-columnOffset2 5 5
|
|
-columnWidth 1 70
|
|
-columnWidth 2 50
|
|
("VertexClipRangeEndLayout"+$numVertClips);
|
|
|
|
text
|
|
-parent ("VertexClipRangeEndLayout"+$numVertClips)
|
|
-label "End Time:"
|
|
("VertexClipRangeEndLabel"+$numVertClips);
|
|
|
|
floatField
|
|
-parent ("VertexClipRangeEndLayout"+$numVertClips)
|
|
-value 0.000
|
|
-width 50
|
|
("VertexClipRangeEnd"+$numVertClips);
|
|
|
|
columnLayout
|
|
-parent ("VertexClipRangeLayout"+$numVertClips)
|
|
-columnAttach "left" 0
|
|
("VertexClipRangeUnitsLayout"+$numVertClips);
|
|
|
|
radioButtonGrp
|
|
-parent ("VertexClipRangeUnitsLayout"+$numVertClips)
|
|
-numberOfRadioButtons 2
|
|
-labelArray2 "Frames" "Seconds"
|
|
-cw 1 65
|
|
-cw 2 65
|
|
-select 1
|
|
("VertexClipRangeUnits"+$numVertClips);
|
|
|
|
separator
|
|
-parent ("VertexClipLayout"+$numVertClips)
|
|
-style "in"
|
|
-width 309
|
|
-height 5;
|
|
|
|
rowLayout
|
|
-parent ("VertexClipLayout"+$numVertClips)
|
|
-numberOfColumns 2
|
|
-columnWidth 1 70
|
|
-columnWidth 2 230
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
-columnAttach 1 "both" 0
|
|
-columnAttach 2 "both" 0
|
|
-columnOffset2 5 5
|
|
("VertexClipRateTypeLayout"+$numVertClips);
|
|
|
|
text
|
|
-parent ("VertexClipRateTypeLayout"+$numVertClips)
|
|
-label "Sample by:"
|
|
("VertexClipRateTypeLabel"+$numVertClips);
|
|
|
|
radioButtonGrp
|
|
-parent ("VertexClipRateTypeLayout"+$numVertClips)
|
|
-numberOfRadioButtons 2
|
|
-labelArray2 "Frames" "Seconds"
|
|
-cw 1 65
|
|
-cw 2 65
|
|
-select 1
|
|
-changeCommand "formatOgreExporterUI"
|
|
("VertexClipRateType"+$numVertClips);
|
|
|
|
rowLayout
|
|
-parent ("VertexClipLayout"+$numVertClips)
|
|
-numberOfColumns 2
|
|
-columnWidth 1 125
|
|
-columnWidth 2 80
|
|
-columnAlign 1 "left"
|
|
-columnAlign 2 "left"
|
|
-columnAttach 1 "left" 75
|
|
-columnAttach 2 "both" 15
|
|
("VertexClipRateLayout"+$numVertClips);
|
|
|
|
intField
|
|
-parent ("VertexClipRateLayout"+$numVertClips)
|
|
-width 50
|
|
-value 1.000
|
|
("VertexClipRateFrames"+$numVertClips);
|
|
|
|
floatField
|
|
-parent ("VertexClipRateLayout"+$numVertClips)
|
|
-width 50
|
|
-value 0.100
|
|
("VertexClipRateSeconds"+$numVertClips);
|
|
formatOgreExporterUI();
|
|
}
|
|
|
|
global proc delOgreExporterVertexClip()
|
|
{
|
|
global int $numVertClips;
|
|
if ($numVertClips > 1)
|
|
{
|
|
deleteUI("VertexClipFrame"+$numVertClips);
|
|
$numVertClips--;
|
|
}
|
|
formatOgreExporterUI();
|
|
}
|
|
|
|
|
|
global proc saveOgreExporterSettings()
|
|
{
|
|
fileInfo "ogreExporter_savedSettings" "1";
|
|
|
|
// Common parameters
|
|
fileInfo "ogreExporter_outputDir" `textField -query -fileName OutputDirectory`;
|
|
fileInfo "ogreExporter_exportType" `radioCollection -q -select ExportTypeCollection`;
|
|
fileInfo "ogreExporter_coordsType" `radioCollection -q -select CoordsTypeCollection`;
|
|
fileInfo "ogreExporter_lengthUnit" `optionMenu -q -select UnitsMenu`;
|
|
fileInfo "ogreExporter_animationType" `optionMenu -q -select AnimationTypeMenu`;
|
|
fileInfo "ogreExporter_globalScale" `floatField -q -v GlobalScale`;
|
|
|
|
// Mesh
|
|
fileInfo "ogreExporter_exportMesh" `checkBox -q -v ExportMesh`;
|
|
fileInfo "ogreExporter_useSharedGeom" `checkBox -q -v UseSharedGeometry`;
|
|
fileInfo "ogreExporter_exportVBA" `checkBox -q -v ExportVBA`;
|
|
fileInfo "ogreExporter_exportNormals" `checkBox -q -v ExportMeshNormals`;
|
|
fileInfo "ogreExporter_exportColours" `checkBox -q -v ExportMeshColours`;
|
|
fileInfo "ogreExporter_exportUVs" `checkBox -q -v ExportMeshUVs`;
|
|
fileInfo "ogreExporter_meshFilename" `textField -q -text ExportMeshFilename`;
|
|
fileInfo "ogreExporter_buildEdges" `checkBox -q -v BuildEdges`;
|
|
fileInfo "ogreExporter_buildTangents" `checkBox -q -v BuildTangents`;
|
|
fileInfo "ogreExporter_tangentSemantic" `radioCollection -q -select TangentSemanticCollection`;
|
|
fileInfo "ogreExporter_tangentSplitMirrored" `checkBox -q -select TangentsSplitMirrored`;
|
|
fileInfo "ogreExporter_tangentSplitRotated" `checkBox -q -select TangentsSplitRotated`;
|
|
fileInfo "ogreExporter_tangentUseParity" `checkBox -q -select TangentsUseParity`;
|
|
|
|
// Materials
|
|
fileInfo "ogreExporter_exportMat" `checkBox -q -v ExportMaterial`;
|
|
fileInfo "ogreExporter_materialFile" `textField -q -text ExportMaterialFilename`;
|
|
fileInfo "ogreExporter_matPrefix" `textField -q -text ExportMaterialPrefix`;
|
|
fileInfo "ogreExporter_copyTextures" `checkBox -q -v CopyTextures`;
|
|
fileInfo "ogreExporter_lightingOff" `checkBox -q -v MatLightingOff`;
|
|
|
|
// Scene
|
|
fileInfo "ogreExporter_exportScene" `checkBox -q -v ExportScene`;
|
|
fileInfo "ogreExporter_sceneFilename" `textField -q -text ExportSceneFilename`;
|
|
|
|
// Skeleton
|
|
fileInfo "ogreExporter_exportSkel" `checkBox -q -v ExportSkeleton`;
|
|
fileInfo "ogreExporter_skelFilename" `textField -q -text ExportSkeletonFilename`;
|
|
|
|
// Skeleton Animations
|
|
fileInfo "ogreExporter_exportSkelAnims" `checkBox -q -v ExportSkelAnims`;
|
|
fileInfo "ogreExporter_skelBB" `checkBox -q -v SkelBB`;
|
|
fileInfo "ogreExporter_neutralPoseType" `radioButtonGrp -q -select NeutralPoseRadio`;
|
|
global int $numSkelClips;
|
|
fileInfo "ogreExporter_numSkelClips" $numSkelClips;
|
|
int $i;
|
|
for ($i=1; $i<=$numSkelClips; $i++)
|
|
{
|
|
fileInfo ("ogreExporter_exportSkelClip"+$i) `checkBox -q -v ("ExportSkelClip"+$i)`;
|
|
fileInfo ("ogreExporter_skelClipName"+$i) `textField -q -text ("SkelClipName"+$i)`;
|
|
fileInfo ("ogreExporter_skelClipRangeType"+$i) `radioButtonGrp -q -select ("SkelClipRangeRadio"+$i)`;
|
|
fileInfo ("ogreExporter_skelClipStart"+$i) `floatField -q -v ("SkelClipRangeStart"+$i)`;
|
|
fileInfo ("ogreExporter_skelClipEnd"+$i) `floatField -q -v ("SkelClipRangeEnd"+$i)`;
|
|
fileInfo ("ogreExporter_skelClipRangeUnits"+$i) `radioButtonGrp -q -select ("SkelClipRangeUnits"+$i)`;
|
|
fileInfo ("ogreExporter_skelClipRateType"+$i) `radioButtonGrp -q -select ("SkelClipRateType"+$i)`;
|
|
fileInfo ("ogreExporter_skelClipRateFrames"+$i) `intField -q -v ("SkelClipRateFrames"+$i)`;
|
|
fileInfo ("ogreExporter_skelClipRangeSeconds"+$i) `floatField -q -v ("SkelClipRateSeconds"+$i)`;
|
|
}
|
|
|
|
// Blend Shapes
|
|
fileInfo "ogreExporter_exportBlendShapes" `checkBox -q -v ExportBlendShapes`;
|
|
fileInfo "ogreExporter_bsBB" `checkBox -q -v BsBB`;
|
|
fileInfo "ogreExporter_useBlendshapeDeformerName" `checkBox -q -v UseBlendShapeDeformerName`;
|
|
|
|
// Blend Shape Animations
|
|
fileInfo "ogreExporter_exportBSAnims" `checkBox -q -v ExportBSAnims`;
|
|
global int $numBSClips;
|
|
fileInfo "ogreExporter_numBSClips" $numBSClips;
|
|
int $i;
|
|
for ($i=1; $i<=$numBSClips; $i++)
|
|
{
|
|
fileInfo ("ogreExporter_exportBSClip"+$i) `checkBox -q -v ("ExportBSClip"+$i)`;
|
|
fileInfo ("ogreExporter_BSClipName"+$i) `textField -q -text ("BSClipName"+$i)`;
|
|
fileInfo ("ogreExporter_BSClipRangeType"+$i) `radioButtonGrp -q -select ("BSClipRangeRadio"+$i)`;
|
|
fileInfo ("ogreExporter_BSClipStart"+$i) `floatField -q -v ("BSClipRangeStart"+$i)`;
|
|
fileInfo ("ogreExporter_BSClipEnd"+$i) `floatField -q -v ("BSClipRangeEnd"+$i)`;
|
|
fileInfo ("ogreExporter_BSClipRangeUnits"+$i) `radioButtonGrp -q -select ("BSClipRangeUnits"+$i)`;
|
|
fileInfo ("ogreExporter_BSClipRateType"+$i) `radioButtonGrp -q -select ("BSClipRateType"+$i)`;
|
|
fileInfo ("ogreExporter_BSClipRateFrames"+$i) `intField -q -v ("BSClipRateFrames"+$i)`;
|
|
fileInfo ("ogreExporter_BSClipRangeSeconds"+$i) `floatField -q -v ("BSClipRateSeconds"+$i)`;
|
|
}
|
|
|
|
// Vertex Animations
|
|
fileInfo "ogreExporter_exportVertexAnims" `checkBox -q -v ExportVertexAnims`;
|
|
fileInfo "ogreExporter_vertBB" `checkBox -q -v VertBB`;
|
|
global int $numVertClips;
|
|
fileInfo "ogreExporter_numVertClips" $numVertClips;
|
|
int $i;
|
|
for ($i=1; $i<=$numVertClips; $i++)
|
|
{
|
|
fileInfo ("ogreExporter_exportVertexClip"+$i) `checkBox -q -v ("ExportVertexClip"+$i)`;
|
|
fileInfo ("ogreExporter_vertexClipName"+$i) `textField -q -text ("VertexClipName"+$i)`;
|
|
fileInfo ("ogreExporter_vertexClipRangeType"+$i) `radioButtonGrp -q -select ("VertexClipRangeRadio"+$i)`;
|
|
fileInfo ("ogreExporter_vertexClipStart"+$i) `floatField -q -v ("VertexClipRangeStart"+$i)`;
|
|
fileInfo ("ogreExporter_vertexClipEnd"+$i) `floatField -q -v ("VertexClipRangeEnd"+$i)`;
|
|
fileInfo ("ogreExporter_vertexClipRangeUnits"+$i) `radioButtonGrp -q -select ("VertexClipRangeUnits"+$i)`;
|
|
fileInfo ("ogreExporter_vertexClipRateType"+$i) `radioButtonGrp -q -select ("VertexClipRateType"+$i)`;
|
|
fileInfo ("ogreExporter_vertexClipRateFrames"+$i) `intField -q -v ("VertexClipRateFrames"+$i)`;
|
|
fileInfo ("ogreExporter_vertexClipRangeSeconds"+$i) `floatField -q -v ("VertexClipRateSeconds"+$i)`;
|
|
}
|
|
|
|
// Anim Curves
|
|
fileInfo "ogreExporter_exportAnimCurves" `checkBox -q -v ExportAnimCurves`;
|
|
fileInfo "ogreExporter_animCurvesFilename" `textField -q -text ExportAnimCurvesFilename`;
|
|
|
|
// Cameras
|
|
fileInfo "ogreExporter_exportCameras" `checkBox -q -v ExportCameras`;
|
|
fileInfo "ogreExporter_exportCamerasAnim" `checkBox -q -v ExportCamerasAnim`;
|
|
fileInfo "ogreExporter_camerasFilename" `textField -q -text ExportCamerasFilename`;
|
|
|
|
// Particles
|
|
fileInfo "ogreExporter_exportParticles" `checkBox -q -v ExportParticles`;
|
|
fileInfo "ogreExporter_particlesFilename" `textField -q -text ExportParticlesFilename`;
|
|
}
|
|
|
|
global proc loadOgreExporterSettings()
|
|
{
|
|
string $valStrings[];
|
|
int $valInt;
|
|
float $valFloat;
|
|
$valStrings = `fileInfo -q "ogreExporter_savedSettings"`;
|
|
if (`gmatch $valStrings[0] "1"`)
|
|
{
|
|
// Common parameters
|
|
textField -edit -fileName `fileInfo -q "ogreExporter_outputDir"` OutputDirectory;
|
|
radioCollection -edit -select `fileInfo -q "ogreExporter_exportType"` ExportTypeCollection;
|
|
radioCollection -edit -select `fileInfo -q "ogreExporter_coordsType"` CoordsTypeCollection;
|
|
$valStrings = `fileInfo -q "ogreExporter_lengthUnit"`;
|
|
string $lengthUnitSel = $valStrings[0];
|
|
if (`gmatch $lengthUnitSel "1"`)
|
|
optionMenu -edit -select 1 UnitsMenu;
|
|
else if (`gmatch $lengthUnitSel "2"`)
|
|
optionMenu -edit -select 2 UnitsMenu;
|
|
else if (`gmatch $lengthUnitSel "3"`)
|
|
optionMenu -edit -select 3 UnitsMenu;
|
|
else if (`gmatch $lengthUnitSel "4"`)
|
|
optionMenu -edit -select 4 UnitsMenu;
|
|
else if (`gmatch $lengthUnitSel "5"`)
|
|
optionMenu -edit -select 5 UnitsMenu;
|
|
else if (`gmatch $lengthUnitSel "6"`)
|
|
optionMenu -edit -select 6 UnitsMenu;
|
|
else if (`gmatch $lengthUnitSel "7"`)
|
|
optionMenu -edit -select 7 UnitsMenu;
|
|
$valStrings = `fileInfo -q "ogreExporter_animationType"`;
|
|
string $animType = $valStrings[0];
|
|
if (`gmatch $animType "1"`)
|
|
optionMenu -edit -select 1 AnimationTypeMenu;
|
|
else
|
|
optionMenu -edit -select 2 AnimationTypeMenu;
|
|
$valStrings = `fileInfo -q "ogreExporter_globalScale"`;
|
|
$valFloat = $valStrings[0];
|
|
floatField -edit -v $valFloat GlobalScale;
|
|
|
|
// Mesh
|
|
$valStrings = `fileInfo -q "ogreExporter_exportMesh"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportMesh;
|
|
$valStrings = `fileInfo -q "ogreExporter_useSharedGeom"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` UseSharedGeometry;
|
|
$valStrings = `fileInfo -q "ogreExporter_exportVBA"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportVBA;
|
|
$valStrings = `fileInfo -q "ogreExporter_exportNormals"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportMeshNormals;
|
|
$valStrings = `fileInfo -q "ogreExporter_exportColours"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportMeshColours;
|
|
$valStrings = `fileInfo -q "ogreExporter_exportUVs"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportMeshUVs;
|
|
textField -edit -text `fileInfo -q "ogreExporter_meshFilename"` ExportMeshFilename;
|
|
$valStrings = `fileInfo -q "ogreExporter_buildEdges"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` BuildEdges;
|
|
$valStrings = `fileInfo -q "ogreExporter_buildTangents"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` BuildTangents;
|
|
radioCollection -edit -select `fileInfo -q "ogreExporter_tangentSemantic"` TangentSemanticCollection;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` TangentsSplitMirrored;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` TangentsSplitRotated;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` TangentsUseParity;
|
|
|
|
// Materials
|
|
$valStrings = `fileInfo -q "ogreExporter_exportMat"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportMaterial;
|
|
textField -edit -text `fileInfo -q "ogreExporter_materialFile"` ExportMaterialFilename;
|
|
textField -edit -text `fileInfo -q "ogreExporter_matPrefix"` ExportMaterialPrefix;
|
|
$valStrings = `fileInfo -q "ogreExporter_copyTextures"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` CopyTextures;
|
|
$valStrings = `fileInfo -q "ogreExporter_lightingOff"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` MatLightingOff;
|
|
|
|
// Scene
|
|
$valStrings = `fileInfo -q "ogreExporter_exportScene"` ;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportScene;
|
|
textField -edit -text `fileInfo -q "ogreExporter_sceneFilename"` ExportSceneFilename;
|
|
|
|
// Skeleton
|
|
$valStrings = `fileInfo -q "ogreExporter_exportSkel"` ;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportSkeleton;
|
|
textField -edit -text `fileInfo -q "ogreExporter_skelFilename"` ExportSkeletonFilename;
|
|
|
|
// Skeleton Animations
|
|
$valStrings = `fileInfo -q "ogreExporter_exportSkelAnims"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportSkelAnims;
|
|
$valStrings = `fileInfo -q "ogreExporter_skelBB"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` SkelBB;
|
|
$valStrings = `fileInfo -q "ogreExporter_neutralPoseType"`;
|
|
$valInt = $valStrings[0];
|
|
radioButtonGrp -edit -select $valInt NeutralPoseRadio;
|
|
$valStrings = `fileInfo -q "ogreExporter_numSkelClips"`;
|
|
int $n = $valStrings[0];
|
|
$valInt = $valStrings[0];
|
|
global int $numSkelClips;
|
|
for (;$numSkelClips>1;delOgreExporterSkeletonClip());
|
|
int $i;
|
|
for ($i=1; $i<=$n; $i++)
|
|
{
|
|
if ($i > 1)
|
|
addOgreExporterSkeletonClip();
|
|
$valStrings = `fileInfo -q ("ogreExporter_exportSkelClip"+$i)`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ("ExportSkelClip"+$i);
|
|
textField -edit -text `fileInfo -q ("ogreExporter_skelClipName"+$i)` ("SkelClipName"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_skelClipRangeType"+$i)`;
|
|
$valInt = $valStrings[0];
|
|
radioButtonGrp -edit -select $valInt ("SkelClipRangeRadio"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_skelClipStart"+$i)`;
|
|
$valFloat = $valStrings[0];
|
|
floatField -edit -v $valFloat ("SkelClipRangeStart"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_skelClipEnd"+$i)`;
|
|
$valFloat = $valStrings[0];
|
|
floatField -edit -v $valFloat ("SkelClipRangeEnd"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_skelClipRangeUnits"+$i)`;
|
|
$valInt = $valStrings[0];
|
|
radioButtonGrp -edit -select $valInt ("SkelClipRangeUnits"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_skelClipRateType"+$i)`;
|
|
$valInt = $valStrings[0];
|
|
radioButtonGrp -edit -select $valInt ("SkelClipRateType"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_skelClipRateFrames"+$i)`;
|
|
$valInt = $valStrings[0];
|
|
intField -edit -v $valInt ("SkelClipRateFrames"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_skelClipRateSeconds"+$i)`;
|
|
$valFloat = $valStrings[0];
|
|
floatField -edit -v $valFloat ("SkelClipRateSeconds"+$i);
|
|
}
|
|
|
|
// Blend Shapes
|
|
$valStrings = `fileInfo -q "ogreExporter_exportBlendShapes"` ;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportBlendShapes;
|
|
$valStrings = `fileInfo -q "ogreExporter_bsBB"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` BsBB;
|
|
$valStrings = `fileInfo -q "ogreExporter_useBlendshapeDeformerName"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` UseBlendShapeDeformerName;
|
|
|
|
// Blend Shape Animations
|
|
$valStrings = `fileInfo -q "ogreExporter_exportBSAnims"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportBSAnims;
|
|
$valStrings = `fileInfo -q "ogreExporter_numBSClips"`;
|
|
int $n = $valStrings[0];
|
|
$valInt = $valStrings[0];
|
|
global int $numBSClips;
|
|
for (;$numBSClips>1;delOgreExporterBSClip());
|
|
int $i;
|
|
for ($i=1; $i<=$n; $i++)
|
|
{
|
|
if ($i > 1)
|
|
addOgreExporterBSClip();
|
|
$valStrings = `fileInfo -q ("ogreExporter_exportBSClip"+$i)`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ("ExportBSClip"+$i);
|
|
textField -edit -text `fileInfo -q ("ogreExporter_BSClipName"+$i)` ("BSClipName"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_BSClipRangeType"+$i)`;
|
|
$valInt = $valStrings[0];
|
|
radioButtonGrp -edit -select $valInt ("BSClipRangeRadio"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_BSClipStart"+$i)`;
|
|
$valFloat = $valStrings[0];
|
|
floatField -edit -v $valFloat ("BSClipRangeStart"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_BSClipEnd"+$i)`;
|
|
$valFloat = $valStrings[0];
|
|
floatField -edit -v $valFloat ("BSClipRangeEnd"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_BSClipRangeUnits"+$i)`;
|
|
$valInt = $valStrings[0];
|
|
radioButtonGrp -edit -select $valInt ("BSClipRangeUnits"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_BSClipRateType"+$i)`;
|
|
$valInt = $valStrings[0];
|
|
radioButtonGrp -edit -select $valInt ("BSClipRateType"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_BSClipRateFrames"+$i)`;
|
|
$valInt = $valStrings[0];
|
|
intField -edit -v $valInt ("BSClipRateFrames"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_BSClipRateSeconds"+$i)`;
|
|
$valFloat = $valStrings[0];
|
|
floatField -edit -v $valFloat ("BSClipRateSeconds"+$i);
|
|
}
|
|
|
|
// Vertex Animations
|
|
$valStrings = `fileInfo -q "ogreExporter_exportVertexAnims"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportVertexAnims;
|
|
$valStrings = `fileInfo -q "ogreExporter_vertBB"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` VertBB;
|
|
$valStrings = `fileInfo -q "ogreExporter_numVertClips"`;
|
|
int $n = $valStrings[0];
|
|
$valInt = $valStrings[0];
|
|
global int $numVertClips;
|
|
for (;$numVertClips>1;delOgreExporterVertexClip());
|
|
int $i;
|
|
for ($i=1; $i<=$n; $i++)
|
|
{
|
|
if ($i > 1)
|
|
addOgreExporterVertexClip();
|
|
$valStrings = `fileInfo -q ("ogreExporter_exportVertexClip"+$i)`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ("ExportVertexClip"+$i);
|
|
textField -edit -text `fileInfo -q ("ogreExporter_vertexSkelClipName"+$i)` ("VertexClipName"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_vertexClipRangeType"+$i)`;
|
|
$valInt = $valStrings[0];
|
|
radioButtonGrp -edit -select $valInt ("VertexClipRangeRadio"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_vertexClipStart"+$i)`;
|
|
$valFloat = $valStrings[0];
|
|
floatField -edit -v $valFloat ("VertexClipRangeStart"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_vertexClipEnd"+$i)`;
|
|
$valFloat = $valStrings[0];
|
|
floatField -edit -v $valFloat ("VertexClipRangeEnd"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_vertexClipRangeUnits"+$i)`;
|
|
$valInt = $valStrings[0];
|
|
radioButtonGrp -edit -select $valInt ("VertexClipRangeUnits"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_vertexClipRateType"+$i)`;
|
|
$valInt = $valStrings[0];
|
|
radioButtonGrp -edit -select $valInt ("VertexClipRateType"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_vertexClipRateFrames"+$i)`;
|
|
$valInt = $valStrings[0];
|
|
intField -edit -v $valInt ("VertexClipRateFrames"+$i);
|
|
$valStrings = `fileInfo -q ("ogreExporter_vertexClipRateSeconds"+$i)`;
|
|
$valFloat = $valStrings[0];
|
|
floatField -edit -v $valFloat ("VertexClipRateSeconds"+$i);
|
|
}
|
|
|
|
// Anim Curves
|
|
$valStrings = `fileInfo -q "ogreExporter_exportAnimCurves"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportAnimCurves;
|
|
textField -edit -text `fileInfo -q "ogreExporter_animCurvesFilename"` ExportAnimCurvesFilename;
|
|
|
|
// Cameras
|
|
$valStrings = `fileInfo -q "ogreExporter_exportCameras"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportCameras;
|
|
$valStrings = `fileInfo -q "ogreExporter_exportCamerasAnim"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportCamerasAnim;
|
|
textField -edit -text `fileInfo -q "ogreExporter_camerasFilename"` ExportCamerasFilename;
|
|
|
|
// Particles
|
|
$valStrings = `fileInfo -q "ogreExporter_exportParticles"`;
|
|
checkBox -edit -v `gmatch $valStrings[0] "1"` ExportParticles;
|
|
textField -edit -text `fileInfo -q "ogreExporter_particlesFilename"` ExportParticlesFilename;
|
|
|
|
formatOgreExporterUI();
|
|
}
|
|
else
|
|
defaultOgreExporterSettings();
|
|
}
|
|
|
|
global proc defaultOgreExporterSettings()
|
|
{
|
|
// Common parameters
|
|
textField -edit -fileName "" OutputDirectory;
|
|
radioCollection -edit -select "RadioButtonAll" ExportTypeCollection;
|
|
radioCollection -edit -select "RadioButtonWorld" CoordsTypeCollection;
|
|
optionMenu -edit -select 1 UnitsMenu;
|
|
optionMenu -edit -select 1 AnimationTypeMenu;
|
|
floatField -edit -v 1 GlobalScale;
|
|
|
|
// Mesh
|
|
checkBox -edit -v 0 ExportMesh;
|
|
checkBox -edit -v 1 UseSharedGeometry;
|
|
checkBox -edit -v 1 ExportVBA;
|
|
checkBox -edit -v 1 ExportMeshNormals;
|
|
checkBox -edit -v 0 ExportMeshColours;
|
|
checkBox -edit -v 1 ExportMeshUVs;
|
|
textField -edit -text "" ExportMeshFilename;
|
|
checkBox -edit -v 0 BuildEdges;
|
|
checkBox -edit -v 0 BuildTangents;
|
|
radioCollection -edit -select "TangentSemanticTangent" TangentSemanticCollection;
|
|
checkBox -edit -v 0 TangentsSplitMirrored;
|
|
checkBox -edit -v 0 TangentsSplitRotated;
|
|
checkBox -edit -v 0 TangentsUseParity;
|
|
|
|
// Materials
|
|
checkBox -edit -v 0 ExportMaterial;
|
|
textField -edit -text "" ExportMaterialFilename;
|
|
textField -edit -text "" ExportMaterialPrefix;
|
|
checkBox -edit -v 0 CopyTextures;
|
|
checkBox -edit -v 0 MatLightingOff;
|
|
|
|
// Skeleton
|
|
checkBox -edit -v 0 ExportSkeleton;
|
|
textField -edit -text "" ExportSkeletonFilename;
|
|
|
|
// Skeleton Animations
|
|
checkBox -edit -v 0 ExportSkelAnims;
|
|
checkBox -edit -v 0 SkelBB;
|
|
radioButtonGrp -edit -select 1 NeutralPoseRadio;
|
|
global int $numSkelClips;
|
|
for (;$numSkelClips>1;delOgreExporterSkeletonClip());
|
|
checkBox -edit -v 0 ExportSkelClip1;
|
|
textField -edit -text "clip1" SkelClipName1;
|
|
radioButtonGrp -edit -select 1 SkelClipRangeRadio1;
|
|
floatField -edit -v 0 SkelClipRangeStart1;
|
|
floatField -edit -v 0 SkelClipRangeEnd1;
|
|
radioButtonGrp -edit -select 1 SkelClipRangeUnits1;
|
|
radioButtonGrp -edit -select 1 SkelClipRateType1;
|
|
intField -edit -v 1 SkelClipRateFrames1;
|
|
floatField -edit -v 0.1 SkelClipRateSeconds1;
|
|
|
|
// Blend Shapes
|
|
checkBox -edit -v 0 ExportBlendShapes;
|
|
checkBox -edit -v 0 BsBB;
|
|
checkBox -edit -v 0 UseBlendShapeDeformerName;
|
|
|
|
// Blend Shape Animations
|
|
checkBox -edit -v 0 ExportBSAnims;
|
|
global int $numBSClips;
|
|
for (;$numBSClips>1;delOgreExporterBSClip());
|
|
checkBox -edit -v 0 ExportBSClip1;
|
|
textField -edit -text "clip1" BSClipName1;
|
|
radioButtonGrp -edit -select 1 BSClipRangeRadio1;
|
|
floatField -edit -v 0 BSClipRangeStart1;
|
|
floatField -edit -v 0 BSClipRangeEnd1;
|
|
radioButtonGrp -edit -select 1 BSClipRangeUnits1;
|
|
radioButtonGrp -edit -select 1 BSClipRateType1;
|
|
intField -edit -v 1 BSClipRateFrames1;
|
|
floatField -edit -v 0.1 BSClipRateSeconds1;
|
|
|
|
// Vertex Animation
|
|
checkBox -edit -v 0 ExportVertexAnims;
|
|
checkBox -edit -v 0 VertBB;
|
|
global int $numVertClips;
|
|
for (;$numVertClips>1;delOgreExporterVertexClip());
|
|
checkBox -edit -v 0 ExportSkelClip1;
|
|
textField -edit -text "clip1" VertexClipName1;
|
|
radioButtonGrp -edit -select 1 VertexClipRangeRadio1;
|
|
floatField -edit -v 0 VertexClipRangeStart1;
|
|
floatField -edit -v 0 VertexClipRangeEnd1;
|
|
radioButtonGrp -edit -select 1 VertexClipRangeUnits1;
|
|
radioButtonGrp -edit -select 1 VertexClipRateType1;
|
|
intField -edit -v 1 VertexClipRateFrames1;
|
|
floatField -edit -v 0.1 VertexClipRateSeconds1;
|
|
|
|
// Anim Curves
|
|
checkBox -edit -v 0 ExportAnimCurves;
|
|
textField -edit -text "" ExportAnimCurvesFilename;
|
|
|
|
// Cameras
|
|
checkBox -edit -v 0 ExportCameras;
|
|
checkBox -edit -v 0 ExportCamerasAnim;
|
|
textField -edit -text `fileInfo -q "ogreExporter_camerasFilename"` ExportCamerasFilename;
|
|
|
|
// Particles
|
|
checkBox -edit -v 0 ExportParticles;
|
|
textField -edit -text "" ExportParticlesFilename;
|
|
|
|
// Initialize filenames
|
|
string $sceneFile = `file -query -sceneName`;
|
|
string $sceneDir = dirname($sceneFile);
|
|
string $baseFile = basename($sceneFile, ".mb");
|
|
textField -edit -fileName $sceneDir SceneDirectory;
|
|
|
|
// --- Mesh File
|
|
string $meshFile = $baseFile + ".mesh";
|
|
textField -edit -fileName $meshFile ExportMeshFilename;
|
|
|
|
// --- Material File
|
|
string $matFile = $baseFile + ".material";
|
|
textField -edit -fileName $matFile ExportMaterialFilename;
|
|
|
|
// --- Scene File
|
|
string $scnFile = $baseFile + ".scene";
|
|
textField -edit -fileName $scnFile ExportSceneFilename;
|
|
|
|
// --- Skeleton File
|
|
string $skelFile = $baseFile + ".skeleton";
|
|
textField -edit -fileName $skelFile ExportSkeletonFilename;
|
|
|
|
// --- Camera File
|
|
string $camFile = $baseFile + ".camera";
|
|
textField -edit -fileName $camFile ExportCamerasFilename;
|
|
|
|
// --- Anim Curves File
|
|
string $animFile = $baseFile + ".anim";
|
|
textField -edit -fileName $animFile ExportAnimCurvesFilename;
|
|
|
|
// --- Particles File
|
|
string $particlesFile = $baseFile + ".particles.xml";
|
|
textField -edit -fileName $particlesFile ExportParticlesFilename;
|
|
|
|
formatOgreExporterUI();
|
|
}
|
|
|