---------------------------------------------------------------------------------- --Bad Map and Material Finder --(C) Sam O'Hare, Uniform Communications Ltd, Jun 2006 --Last updated 13/06/06 --Email sam@pixelpollen.com --Version 0.1 --Current Functionality: --Select a material type and drop instances into the material editor --Select a map type and drop instances into the material editor --Proposed Functionality: -- ---------------------------------------------------------------------------------- macroScript BMF category:"Dusk" tooltip:"Bad Map Finder" icon:#("Uniform",5) ( fn get_bad_maps = ( raytrace_maps = getclassinstances raytrace flatmirror_maps = getclassinstances flat_mirror refref_maps = getclassinstances ReflectRefract bad_maps = refref_maps + raytrace_maps + flatmirror_maps print "Bad Maps:" print bad_maps bad_map_mats = #() for i in 1 to bad_maps.count do ( these = for j in refs.dependents bad_maps[i] where superclassof j == material collect j bad_map_mats = bad_map_mats + these ) for i in 1 to bad_map_mats.count where i<25 do setMeditMaterial i bad_map_mats[i] ) fn get_bad_mats = ( raytrace_mats = getclassinstances raytracematerial advlight_mats = getclassinstances Advanced_Lighting_Override bad_mats = raytrace_mats + advlight_mats print "Bad Materials:" print bad_mats for i in 1 to bad_mats.count where i<25 do setMeditMaterial i bad_mats[i] ) fn get_brazil_mats = ( brazil_glasses = getclassinstances Brazil_Glass brazil_chromes = getclassinstances Brazil_Chrome brazil_advanceds = getclassinstances Brazil_Advanced brazil_utils = getclassinstances Brazil_Utility brazil_toons = getclassinstances Brazil_Toon brazil_mats = brazil_glasses + brazil_chromes + brazil_advanceds + brazil_utils + brazil_toons print "Brazil Materials:" print brazil_mats for i in 1 to brazil_mats.count where i<25 do setMeditMaterial i brazil_mats[i] ) fn get_vray_mats = ( vray_mat = getclassinstances vraymtl vray_GI = getclassinstances vrayGImtl vray_light = getclassinstances vraylightmtl vray_wrapper = getclassinstances vrayMtlWrapper vray_2sided = getclassinstances vray2sidedMtl vray_mats = vray_mat + vray_GI + vray_light + vray_wrapper + vray_2Sided print "Vray Materials:" print vray_mats for i in 1 to vray_mats.count where i<25 do setMeditMaterial i vray_mats[i] ) rollout BMF "Bad Map Finder" ( button BadMaps "Bad Maps" across:2 width:60 button BadMats "Bad Mats" width:60 button Brazil "Brazil" across:2 width:60 button Vray "Vray" width:60 on BadMaps pressed do get_bad_maps() on BadMats pressed do get_bad_mats() on Brazil pressed do get_brazil_mats() on Vray pressed do get_vray_mats() ) createdialog BMF 160 60 30 30 )