Habe ein älteres Script noch mal überarbeitet. Es basiert jetzt zum Teil auf dotnet, wodurch es Farbcodierungen zulässt, auch sind nun einige Befehle über ein rechts-klick-Menü erreichbar. Auch werden jetzt alle Maps aufgelistet, was gerade die Suche nach nicht render- fähigen Shadern vereinfacht, wenn man z.B. die Szene von VRay nach Mental Ray konvertiert hat.
Zusätzlich kann man nun das Fenster auch andocken:
Download : https://github.com/jb-alvarado/SearchMaterialAndMaps
Mit diesem Script lassen sich Materialien und Texturen auflisten, suchen und Texturepfade anpassen.
Download: https://github.com/jb-alvarado/SearchMaterialAndTexture
Mit diesem Script lassen sich die Textur-Endungen ändern. Z.B. von tif nach tga. Werden die alten Texturen nicht entfernt „Condense Material Editor“ verwenden.
Download: jb_change_textureExtension
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
macroScript ExtensionChange
category: "jb_scripts"
ButtonText: "TexExtensionChange"
Tooltip: "TexExtensionChange"
( -- macro begins
local TexExtensionChange
(
fn GetBitmapTextures theObjects =
(
texMaps = #( )
for obj in theObjects do
(
join texMaps ( getClassInstances bitmapTexture target: obj asTrackViewPick: off)
)
makeUniqueArray texMaps
)
texMaps = ( GetBitmapTextures objects)
fn changeOutExt inExt outExt =
(
for texMap in texMaps do (
objName = getFilenameFile texMap.filename
-- remove the point in string
inExt = trimleft inExt "."
outExt = trimleft outExt "."
-- add a point and change the extension
inex = "." + inExt
if getFilenameType texMap.filename == inex do texMap.filename = ( objName + "." + outExt)
)
)
)
rollout TexExtensionChange "Tex Extension Change"
(
label lbl1 "Change Texture Extension" pos: [ 10 , 6 ] width: 193 height: 20
editText edt1 "from" pos: [ 11 , 27 ] width: 90 height: 20
editText edt2 "to" pos: [ 115 , 27 ] width: 90 height: 20
button btn1 "Change" pos: [ 219 , 27 ] width: 130 height: 20
on btn1 pressed do (
with undo on
(
changeOutExt edt1.text edt2.text
)
)
button btn2 "Condense Material Editor" pos: [ 219 , 54 ] width: 130 height: 20
on btn2 pressed do (
with undo on
(
defaultMtlLibFile = MeditUtilities.getDefaultLibraryFile ( )
if defaultMtlLibFile != undefined do
(
defaultMtlLib = loadTempMaterialLibrary defaultMtlLibFile
usedMtls = #( )
for i in 1 to meditMaterials.count do
(
if MeditUtilities.isMaterialInUse meditMaterials[ i] == true do
append usedMtls meditMaterials[ i]
)
global _meditMaterialsBeforeReset = #( )
for i in 1 to meditMaterials.count do
(
append _meditMaterialsBeforeReset meditMaterials[ i]
if i & lt;= usedMtls.count then
meditMaterials[ i] = usedMtls[ i]
else if i & lt;= defaultMtlLib.count then
meditMaterials[ i] = defaultMtlLib[ i]
else
meditMaterials[ i] = defaultMtlLib[ defaultMtlLib.count ]
)
)
)
)
)
createDialog TexExtensionChange 356 80
) -- macro end
macroScript ExtensionChange
category:"jb_scripts"
ButtonText:"TexExtensionChange"
Tooltip:"TexExtensionChange"
(--macro begins
local TexExtensionChange
(
fn GetBitmapTextures theObjects =
(
texMaps = #()
for obj in theObjects do
(
join texMaps (getClassInstances bitmapTexture target:obj asTrackViewPick:off)
)
makeUniqueArray texMaps
)
texMaps = (GetBitmapTextures objects)
fn changeOutExt inExt outExt =
(
for texMap in texMaps do (
objName = getFilenameFile texMap.filename
-- remove the point in string
inExt = trimleft inExt "."
outExt = trimleft outExt "."
-- add a point and change the extension
inex = "."+inExt
if getFilenameType texMap.filename == inex do texMap.filename = (objName + "." + outExt)
)
)
)
rollout TexExtensionChange "Tex Extension Change"
(
label lbl1 "Change Texture Extension" pos:[10,6] width:193 height:20
editText edt1 "from" pos:[11,27] width:90 height:20
editText edt2 "to" pos:[115,27] width:90 height:20
button btn1 "Change" pos:[219,27] width:130 height:20
on btn1 pressed do (
with undo on
(
changeOutExt edt1.text edt2.text
)
)
button btn2 "Condense Material Editor" pos:[219,54] width:130 height:20
on btn2 pressed do (
with undo on
(
defaultMtlLibFile = MeditUtilities.getDefaultLibraryFile()
if defaultMtlLibFile != undefined do
(
defaultMtlLib = loadTempMaterialLibrary defaultMtlLibFile
usedMtls = #()
for i in 1 to meditMaterials.count do
(
if MeditUtilities.isMaterialInUse meditMaterials[i] == true do
append usedMtls meditMaterials[i]
)
global _meditMaterialsBeforeReset = #()
for i in 1 to meditMaterials.count do
(
append _meditMaterialsBeforeReset meditMaterials[i]
if i <= usedMtls.count then
meditMaterials[i] = usedMtls[i]
else if i <= defaultMtlLib.count then
meditMaterials[i] = defaultMtlLib[i]
else
meditMaterials[i] = defaultMtlLib[defaultMtlLib.count]
)
)
)
)
)
createDialog TexExtensionChange 356 80
)--macro end
Verschiedenes zu Batch, Shell, Linux, Python, ffmpeg, maxscript, 3d, rendering und vfx