[3d max 8] 5000 boxen vullen met random texture?

Pagina: 1
Acties:

  • likkepot
  • Registratie: April 2002
  • Laatst online: 06-12-2024

likkepot

Ghehe ghe heehe!

Topicstarter
Ik heb een bestand met bijna 5000 objecten
Afbeeldingslocatie: http://img143.imageshack.us/img143/306/vb1ei4.jpg
Daarnaast heb ik 20 textures die ik wil assignen aan deze objecten. Het moet er random uitzien.
Wat ik wil voorkomen is dat ik telkens een blok moet aanklikken, assing material to selection, volgend blok etc. Dan ben ik morgen nog niet klaar 8)7
Is er een manier om een x aantal textures over een x aantal objecten te verdelen?

nikszolekkeralss.exe


  • Tjeemp
  • Registratie: Januari 2005
  • Laatst online: 03-01-2015

Tjeemp

BEER N TEA

geen idee of het mogelijk is, maar heb je al naar de mogelijkheden van MAXscript gekeken?

www.timovanderzanden.nl | Beer 'n' Tea


  • Yanik
  • Registratie: April 2002
  • Laatst online: 25-01 16:11
likkepot schreef op zondag 05 november 2006 @ 16:37:
Ik heb een bestand met bijna 5000 objecten
[afbeelding]
Daarnaast heb ik 20 textures die ik wil assignen aan deze objecten. Het moet er random uitzien.
Wat ik wil voorkomen is dat ik telkens een blok moet aanklikken, assing material to selection, volgend blok etc. Dan ben ik morgen nog niet klaar 8)7
Is er een manier om een x aantal textures over een x aantal objecten te verdelen?
Het is mogelijk en best eenvoudig, gelukkig.

-Maak eerst een multi-sub object material met je 20 submaterialen.
-Combineer al je objecten tot 1 object. Dus in editable poly "attache multiple" doen en alles 1 object maken.
-Gooi er een "material by element" modifier overheen. Helaas kun je volgens mij maar 8 verschillende id's gebruiken dus kun je niet 20 verschillende afbeeldingen gebruiken. Hoe je dit op kunt lossen weet ik niet, misschien lukt het wel.
Maar in ieder geval moet je bij de frequency van een id aangeven hoeveel procent een material id aanwezig moet zijn. Als je alle id's gebruikt dan gebruik je 100 / 8 = 12,5 per id. Misschien werkt de "Random Distribution" optie. Speel er maar even mee.

Dat zou het moeten doen. En niet vergeten de multi-subobject material op je object te applyen.

Ik hoop dat je weet wat een material id is. Je kunt per polygoon, object of element een id aangeven, dat kan via bijvoorbeeld de material modifier of in editable poly heb je ook een optie om een polygoon een id te geven. Wanneer je je object een multi-subobject materiaal geeft dan heb je meerdere materialen in 1 slot. Je hebt dan bijvoorbeeld materiaal 1, die correspondeert met dezelfde id als je object.

Ik hoop dat je het zo een beetje snapt.

Verwijderd

Je zou natuurlijk nederland door 4 kunnen delen.
Je heb dan 4 maal 8 = 32 stuks.
Dus 8 id's koppelen aan 1 multi materiaal en dat vier maal toe passen
Zou dat geen optie kunnen zijn om meer materialen toe te passen ?

[ Voor 44% gewijzigd door Verwijderd op 05-11-2006 21:28 ]


Verwijderd

Hiervoor is maxscript uitermate geschikt, probeer de volgende code eens in de listener uit:



for i in $box* do i.material = MeditMaterials[(random 1 20)]



Voor deze code ben ik er gemakshalve van uitgegaan dat je objecten dozen zijn die de namen hebben box01 t/m box5000 als dit niet het geval is moet je even de instantienaam gebruiken uiteraard.

Verder moeten de materials netjes als eerste 20 in de material editor geplaatst worden (dus materiaal 1 linksboven en dan rijtje van links naar rechts).

Laat maar ff horen of je er wat aan hebt en succes ermee