Comment assigner par programmation des couleurs aléatoires à des objets dans 3ds max?Comment assigner par programmation des couleurs aléatoires à des objets dans 3ds max?
4
A
Répondre
6
Cela fonctionne bien si vous voulez juste d'attribuer une couleur de fil aléatoire. Voici un code pour créer un matériau standard avec une couleur diffuse aléatoire.
for o in $* do
(
m = standard
m.diffuse = random white black
o.material = m
)
3
Ce que j'ai trouvé en ligne comme solution:
3
diverses façons:
Pour les changements de WireColor (c.-à-objets avec pas de scène sur eux), vous pouvez le faire,
(uniquement pour les objets mesh)
for o in geometry do
(
o.wirecolor = random black white
)
pour tous les objets de scène que vous pouvez faire
for o in objects do
(
o.wirecolor = random black white
)
pour tous les objets sélectionnés, vous pouvez faire
for o in selection do
(
o.wirecolor = random black
)
pour un seul objet, vous pouvez le faire
selection[1].wirecolor = random black white
0
pour objet correspondant à un critère utiliser la clause where
for o in objects where <someproperty> == <somevalue> do o.wirecolor = random black white
ainsi comme ..
for o in objects where classof o == Sphere and o.radius > 10.0 do o.wirecolor = random black white
ou filtrer par le nom des objets puis créer et appliquer un matériau standard:
for o in objects where matchpattern o.name pattern:"Sphere*" do o.material = (standard diffuse:(random white black))
Merci beaucoup pour cela. Je ne savais pas comment le faire! – relima