blender3d.cz
http://blender3d.cz/forum/

Hromadné mazání materiálů
http://blender3d.cz/forum/viewtopic.php?f=6&t=8291
Stránka 11

Autor:  Marek [ pon srp 08, 2011 8:34 pm ]
Předmět příspěvku:  Hromadné mazání materiálů

Existuje v blenderu 2.58 nějaká možnost, jak vymazat tisíce materiálů najednou? Importoval jsem nějaký model z Allplanu a jediná funkční cesta byla přes vrml. Problém je, že se importovala každá zeď a dokonce i každá jedna lamela žaluzie jako samostatný objekt. A každý objekt dostal svůj unikátní materiál. Takže moje scéna má momentálně asi 4000 materiálů. Ruční smazání tedy nepřipadá v úvahu a nepomáhá ani import meshe do nového blendu, protože se všechny materiály importují též, přestože ani jeden z těch materiálů není assigned jakémukoli facu.

P.S.: Funguje vám import souborů .3ds ??

Autor:  vklidu [ úte srp 09, 2011 1:04 pm ]
Předmět příspěvku:  Re: Hromadné mazání materiálů

Tak tohle mne take zajima, mam stejny problem.
(S importem .3ds problem nemam.)

Autor:  G_Taurus [ úte srp 09, 2011 2:37 pm ]
Předmět příspěvku:  Re: Hromadné mazání materiálů

A co takhle si označit všechny objekty, kterým chceš smazat materiál a přilinkovat jim přes Ctrl+L jeden materiál. po uložení a znovu otevření ty všechny ostatní zmizí... Je to možné?

Martin S. :-)

Autor:  vklidu [ úte srp 09, 2011 4:01 pm ]
Předmět příspěvku:  Re: Hromadné mazání materiálů

Nevim jak Markovi, ale v mem pripade to nepomuze.
(Mozna, ze ted popisuji trochu jiny problem a nebo to Marek nenapsal uplne presne.)

Pokud jde o muj import:

- importovany model je slozeny z mnoha dilu, kazdy z nich je samostatny objekt se svym vlastnim materialem.
(v tomto pripade jde v pohode pouzit tvuj navrh - linknout pres Ctrl+L material aktivniho objektu a tim se zbavit vsech ostatnich, diky)

- muj problem vychazi z toho, ze jsem si materialu pri importu nevsimal, spojil jsem vsechny objekty modelu do jednoho objektu a pracoval dal (treba kvuli hromadnemu Remove Doubles atd.)
Spojenim do jednoho objektu se samozrejme stane to, ze se vsechny materialy sejdou na jednom seznamu, kdy kazdy z nich je prirazeny (Assing) konkretnim plocham (Faces). Vse vlastne funguje jak ma. Ale . . . kdyz pak vsem plocham v Edit Mode priradim jeden material, tak ostatni materialy byt nejsou nicemu prirazene ze seznamu nezmizi ani po znovu otevreni (a to nejde ani v 2.4x) a nenasel jsem zatim zadny zpusob jak se jich zbavit.

Tady v tech datablocich nejsem moc kovany, treba je zpusob jen o nem nevim (nebo Script)?

Autor:  jucas [ stř srp 10, 2011 12:20 pm ]
Předmět příspěvku:  Re: Hromadné mazání materiálů

@vklidu:
Materiály je ještě nutné odstranit ze seznamu přiřazení k meshi (v mat. panelu). Odstranit z databloků jsou jen mat. s nulovým počtem uživatelů. Hromadně to jde udělat pomocí rozšíření "Material utils" (volba clean material slots). To odstraní přiřazení materiálů ze slotu meshe, které nemají vazbu na geometrii, resp. face.

Mimochodem nepoužívané materiály jdou z databloků snadno odstranit za běhu přes Python API. Divil bych se kdyby na to nebyla nějaká volba v GUI nebo rozšíření.

Autor:  vklidu [ stř srp 10, 2011 2:09 pm ]
Předmět příspěvku:  Re: Hromadné mazání materiálů

ho hooo :) diky, hotovo
ze se musi dostat ze seznamu prirazeni jsem vedel, problem byl jak seznam vycistit, protoze 4000 polozek odklikat by byla smrt :)

(chvili jsem lustil co to je "rozsireni", ale obecne mam problem, ze nevim jak mam veci popisovat, sklonovat anglictinu se mi nechce ale v tech prekladech se clovek zase zacne ztracet kdyz je nauceny na ingliš vyrazy)
http://wiki.blender.org/index.php/Exten ... ials_Utils

"Mimochodem nepoužívané materiály jdou z databloků snadno odstranit za běhu přes Python API. Divil bych se kdyby na to nebyla nějaká volba v GUI nebo rozšíření." <- tak tomuhle jsem uz nerozumel, ale asi nevadi, diky moc za tip.

Autor:  jucas [ pát srp 12, 2011 3:21 pm ]
Předmět příspěvku:  Re: Hromadné mazání materiálů

Rozšíření mám tak nějak už delší dobu zaužívané. Pokud by to ještě někoho mátlo, tak jsem myslel "add-on" :).

Posledním odstavcem jsem myslel to, že když se v Python konzoli spustí něco na způsob:

Kód:
for mat in bpy.data.materials:
    if mat.users==0:
        bpy.data.materials.remove(mat)
        print('remove: %s'%mat.name)


,tak se materiály z databloků odstraní i bez krkolomného ukládání a načítání.
A vzhledem k tomu, že to jednosměrné uchovávání uživ. dat v Blenderu je takové divné, tak předpokládám, že toto půjde zavolat někde z GUI.

Autor:  vklidu [ sob srp 13, 2011 2:12 pm ]
Předmět příspěvku:  Re: Hromadné mazání materiálů

rozumim :) dik

Autor:  Marek [ úte srp 16, 2011 5:58 pm ]
Předmět příspěvku:  Re: Hromadné mazání materiálů

Po dlouhé době jsem se dostal k počítači a ty material utils jsou přesně to, co jsem hledal :emo35:
Díky všem za reakce a hlavně tedy jucasovi :emo17:
Marek

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/