Skip to content

Commit d42cd4c

Browse files
committed
support animation file import
- store data in custom attributes - import onto model with same name
1 parent 625d532 commit d42cd4c

File tree

1 file changed

+27
-7
lines changed

1 file changed

+27
-7
lines changed

Assets/Integrations/Autodesk/max/scripts/UnityFbxForMaxPlugin.ms

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,16 +72,20 @@ macroScript UnityImport category:"Unity" tooltip:"Import an FBX file from a Unit
7272
(
7373
parameters main rollout:params
7474
(
75-
filePath type: #string ui:filep default:""
76-
fileName type: #string ui:filen default:""
75+
modelFilePath type: #string ui:filep default:""
76+
modelFileName type: #string ui:filen default:""
77+
animFilePath type: #string ui:afilep default:""
78+
animFileName type: #string ui:afilen default:""
7779
)
7880
rollout params "Unity Export Parameters"
7981
(
80-
edittext filep "File Path:" text:filePath readOnly:false labelOnTop:true
81-
edittext filen "File Name:" text:fileName readOnly:false labelOnTop:true
82+
edittext filep "Model File Path:" text:modelFilePath readOnly:false labelOnTop:true
83+
edittext filen "Model File Name:" text:modelFileName readOnly:false labelOnTop:true
84+
edittext afilep "Animation File Path:" text:animFilePath readOnly:false labelOnTop:true
85+
edittext afilen "Animation File Name:" text:animFileName readOnly:false labelOnTop:true
8286
)
8387
)
84-
custAttributes.add unityDummy unitySetData #unique
88+
custAttributes.add unityDummy unitySetData
8589
)
8690
unityDummy -- return dummy
8791
)
@@ -124,6 +128,16 @@ macroScript UnityImport category:"Unity" tooltip:"Import an FBX file from a Unit
124128
local unityFbxFileNameAttr = filenameFromPath fbxFileName
125129
local unityFbxFileName = getFilenameFile fbxFileName
126130

131+
local unityAnimFilePathAttr = unityFbxFilePathAttr
132+
local unityAnimFileNameAttr = unityFbxFileNameAttr
133+
134+
-- check if importing an animation file (contains @ symbol)
135+
local isAnimFile = false
136+
if(matchPattern unityFbxFileName pattern:"*@*") do (
137+
isAnimFile = true
138+
unityFbxFileName = (filterString unityFbxFileName "@")[1]
139+
)
140+
127141
currSetName = unityFbxFileName + "_UnityExportSet"
128142

129143
callbacks.addScript #postImport ("afterImport()") id:#unityPlugin
@@ -134,8 +148,14 @@ macroScript UnityImport category:"Unity" tooltip:"Import an FBX file from a Unit
134148
currSetName = unityFbxFileName + "_UnityExportSet"
135149
unityDummy = getOrCreateSettingsDummy currSetName
136150

137-
unityDummy.unityData.filePath = unityFbxFilePathAttr
138-
unityDummy.unityData.fileName = unityFbxFileNameAttr
151+
if((not isAnimFile) or unityDummy.unityData.modelFilePath == "") do (
152+
unityDummy.unityData.modelFilePath = unityFbxFilePathAttr
153+
)
154+
if((not isAnimFile) or unityDummy.unityData.modelFileName == "") do (
155+
unityDummy.unityData.modelFileName = unityFbxFileNameAttr
156+
)
157+
unityDummy.unityData.animFilePath = unityAnimFilePathAttr
158+
unityDummy.unityData.animFileName = unityAnimFileNameAttr
139159

140160
unityRootDummy = getOrCreateRootDummy()
141161
unityDummy.parent = unityRootDummy

0 commit comments

Comments
 (0)