Как программно назначить случайные цвета объектам в 3ds max? - PullRequest
4 голосов
/ 26 октября 2010

Как программно назначить случайные цвета объектам в 3ds max?

Ответы [ 4 ]

6 голосов
/ 26 октября 2010

Это хорошо работает, если вы просто хотите назначить случайный цвет провода.Вот некоторый код для создания стандартного материала со случайным диффузным цветом.

for o in $* do 
( 
  m = standard
  m.diffuse = random white black 
  o.material = m
) 
3 голосов
/ 03 декабря 2010

Различные способы:

Для изменений цвета проводов (т.е. объектов без материала сцены) вы можете сделать,

(только для объектов сетки)

for o in geometry do
(
     o.wirecolor = random black white
)

для всех объектов сцены, которые вы можете сделать

for o in objects do
(
     o.wirecolor = random black white
)

для всех выбранных объектов вы можете сделать

for o in selection do
(
     o.wirecolor = random black
)

только для одного объекта, вы можете сделать

selection[1].wirecolor = random black white
3 голосов
/ 26 октября 2010

Вот то, что я нашел в Интернете в качестве решения:

for o in $* do
(
o.wirecolor = random white black
)
0 голосов
/ 17 апреля 2013

для объекта, который соответствует критерию, используйте предложение where

for o in objects where <someproperty> == <somevalue> do o.wirecolor = random black white

, например, ..

for o in objects where classof o == Sphere and o.radius > 10.0 do o.wirecolor = random black white

или фильтр по имени объекта, затем создайте и примените стандартный материал:

for o in objects where matchpattern o.name pattern:"Sphere*" do o.material = (standard diffuse:(random white black))
...