Maxscript: Texturename ab bestimmter länge umbenennen und neu verlinken

Hier ein kleiner Code Schnippel. Damit werden die Szene Materialien nach Texturen durchsucht. Sind die Texturnamen länger als 8 Zeichen, werden sie umbenannt in einen neuen Ordner gespeichert und in Max neu verlinkt.

Das Script ist nicht sonderlich ausgefeilt, daher werden nur Materialien ohne Unternamterialien (wie z.B. das Multi Material) unterstützt.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mapArray = #()
for i = 1 to scenematerials.count do (
    for a = 1 to (getNumSubTexmaps scenematerials[i] ) do (
        if ( ( getSubTexmap scenematerials[i] a ) != undefined ) do (
            mapName = ( getSubTexmap scenematerials[i] a )
            join mapArray #( mapName )
            )
        )
    )
    
    for map in mapArray do (
        mapPath = getFilenamePath map.filename + "shortnames\\"
        mapFile = getFilenameFile map.filename
        mapExt = getFilenameType map.filename
        if mapFile.count > 8 do (
            newName = substring mapFile 3 8
            renameFile map.filename ( mapPath + newName + mapExt )
            map.filename = ( mapPath + newName + mapExt )
            )
        )

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.