Skip to content

Commit 12635e5

Browse files
authored
Merge pull request #353 from Unity-Technologies/UNI-39859-maya-export-model-and-anim
UNI-39859 Maya add option to export both model and anim together
2 parents 82e1ba7 + b34ec1c commit 12635e5

File tree

2 files changed

+37
-5
lines changed

2 files changed

+37
-5
lines changed

Assets/Integrations/Autodesk/maya/scripts/unityCommands.mel

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ global string $UnityFbxAnimFileNameAttr = "unityFbxAnimFileName";
66
global string $UnityFbxNamespaceAttr = "unityFbxNamespace";
77
global string $UnityExportSetNameFormat = "^1s_UnityExportSet";
88

9+
/* Enum */
10+
global int $UnityExportAnim = 0;
11+
global int $UnityExportModel = 1;
12+
global int $UnityExportModelAnim = 2;
13+
914
global proc unityRemoveNativeMenuOnLoad(){
1015
$removeSendToUnityMenu = `optionVar -q "UnityFbxForMaya_removeSendToUnityMenu"`;
1116
if($removeSendToUnityMenu && `menu -exists "sendToUnityMenu"`){
@@ -413,7 +418,7 @@ proc exportSet(string $unitySet, int $exportAnim){
413418
}
414419
}
415420

416-
proc unityExport(int $exportAnim){
421+
proc unityExport(int $exportType){
417422
// get the global variables
418423
global string $UnityExportSets[];
419424

@@ -425,8 +430,21 @@ proc unityExport(int $exportAnim){
425430
return;
426431
}
427432

433+
$exportAnim = false;
434+
$exportAnimOnly = false;
435+
switch($exportType){
436+
case 0 /* export animation only */:
437+
$exportAnim = true;
438+
$exportAnimOnly = true;
439+
break;
440+
case 1 /* export model only */:
441+
break;
442+
default: /* export model + animation */
443+
$exportAnim = true;
444+
break;
445+
}
428446
FBXProperty "Export|IncludeGrp|Animation" -v $exportAnim;
429-
FBXExportAnimationOnly -v $exportAnim;
447+
FBXExportAnimationOnly -v $exportAnimOnly;
430448

431449
$origSelection = `ls -sl`;
432450
if(size($origSelection) <= 0){
@@ -462,7 +480,7 @@ proc unityExport(int $exportAnim){
462480

463481
for($unitySet in $setsToExport){
464482
print ("exporting set: " + $unitySet);
465-
exportSet($unitySet, $exportAnim);
483+
exportSet($unitySet, $exportAnimOnly);
466484
}
467485

468486
select -cl;
@@ -472,9 +490,16 @@ proc unityExport(int $exportAnim){
472490
}
473491

474492
global proc unityExportAnim(){
475-
unityExport(true);
493+
global int $UnityExportAnim;
494+
unityExport($UnityExportAnim);
476495
}
477496

478497
global proc unityExportModel(){
479-
unityExport(false);
498+
global int $UnityExportModel;
499+
unityExport($UnityExportModel);
500+
}
501+
502+
global proc unityExportModelAnim(){
503+
global int $UnityExportModelAnim;
504+
unityExport($UnityExportModelAnim);
480505
}

Assets/Integrations/Autodesk/maya/scripts/unitySetupUI.mel

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,17 @@ global string $unityFamilyLabel = "The UnityFbxForMaya plugin (v.{Version}) allo
1111
global string $unityImportLabel = "Import an FBX file from a Unity project and auto-configure for exporting";
1212
global string $unityExportModelLabel = "Export Model to Unity";
1313
global string $unityExportAnimLabel = "Export Animation to Unity";
14+
global string $unityExportModelAnimLabel = "Export Model and Animation to Unity in a single file";
1415

1516
global string $unityCommandsFile = "unityCommands.mel";
1617
global string $unityImportMenuName = "Import";
1718
global string $unityExportModelMenuName = "Export Model Only";
1819
global string $unityExportAnimMenuName = "Export Animation Only";
20+
global string $unityExportModelAnimMenuName = "Export";
1921
global string $unityImportCommand = "unityImport";
2022
global string $unityExportModelCommand = "unityExportModel";
2123
global string $unityExportAnimCommand = "unityExportAnim";
24+
global string $unityExportModelAnimCommand = "unityExportModelAnim";
2225

2326
global proc string unityWhatsNewVersion(){
2427
return `about -q -version`;
@@ -54,13 +57,16 @@ global proc unityInstallUI(){
5457
global string $unityImportLabel;
5558
global string $unityExportModelLabel;
5659
global string $unityExportAnimLabel;
60+
global string $unityExportModelAnimLabel;
5761
global string $unityCommandsFile;
5862
global string $unityImportMenuName;
5963
global string $unityExportModelMenuName;
6064
global string $unityExportAnimMenuName;
65+
global string $unityExportModelAnimMenuName;
6166
global string $unityImportCommand;
6267
global string $unityExportModelCommand;
6368
global string $unityExportAnimCommand;
69+
global string $unityExportModelAnimCommand;
6470

6571
global string $gMainFileMenu;
6672

@@ -72,6 +78,7 @@ global proc unityInstallUI(){
7278
menuItem -parent $parentMenu -insertAfter $unityMenuDivider -subMenu true -label $unityMenuLabel -tearOff true -version $pluginVersion -image $unityIconPath -annotation $unityFamilyLabel $unityMenuName;
7379
menuItem -parent $unityMenuName -label $unityImportMenuName -version $pluginVersion -image $unityImportIconPath -annotation $unityImportLabel -command $unityImportCommand;
7480

81+
menuItem -parent $unityMenuName -label $unityExportModelAnimMenuName -version $pluginVersion -image $unityExportIconPath -annotation $unityExportModelAnimLabel -command $unityExportModelAnimCommand;
7582
menuItem -parent $unityMenuName -label $unityExportModelMenuName -version $pluginVersion -image $unityExportIconPath -annotation $unityExportModelLabel -command $unityExportModelCommand;
7683
menuItem -parent $unityMenuName -label $unityExportAnimMenuName -version $pluginVersion -image $unityExportIconPath -annotation $unityExportAnimLabel -command $unityExportAnimCommand;
7784

0 commit comments

Comments
 (0)