Здравствуйте форумчане.
Надо научиться менять определенные параметры материалов.
Вот примерный код, но он не работает:
(
------------------------------------
fn edit_maps mat =
(
if mat.numsubs != 0 then
(
for i = 1 to mat.numsubs do
(
if mat != undefined then
(
if classof mat == SubAnim then
(
if superclassof mat.object == Missing_TextureMap then
(
print mat
)
)
edit_maps mat
)
)
)
)
------------------------------------
for o in objects do
(
if o.material != undefined do
(
edit_maps o.material
)
)
)
вот его упрощенная и немного измененная версия:
(
------------------------------------
fn edit_maps mat =
(
for i = 1 to mat.numsubs do
(
if mat != undefined then
(
if classof mat == Missing_TextureMap do print mat
edit_maps mat
)
)
)
------------------------------------
for o in objects do edit_maps o.material
)
В данном случае нужно найти все "Missing_TextureMap" и удалить их или заменить на какие-нить другие, например на Cellular () или просто распечатать.
Если обращаться к материалу напрямую, то все работает:
iskindof materialsEditor[2].diffuseMap Missing_TextureMap - хоть так
classOf materialsEditor[2].diffuseMap == Missing_TextureMap или так,
то все работает, легко находит Missing_TextureMap и меняет.
Вышеописанный способ, при запросе СlassOf выдает SubAnim - везде.
Просто офигеть. Помогите, пожалуйста, разобраться.
Надо научиться менять определенные параметры материалов.
Вот примерный код, но он не работает:
(
------------------------------------
fn edit_maps mat =
(
if mat.numsubs != 0 then
(
for i = 1 to mat.numsubs do
(
if mat != undefined then
(
if classof mat == SubAnim then
(
if superclassof mat.object == Missing_TextureMap then
(
print mat
)
)
edit_maps mat
)
)
)
)
------------------------------------
for o in objects do
(
if o.material != undefined do
(
edit_maps o.material
)
)
)
вот его упрощенная и немного измененная версия:
(
------------------------------------
fn edit_maps mat =
(
for i = 1 to mat.numsubs do
(
if mat != undefined then
(
if classof mat == Missing_TextureMap do print mat
edit_maps mat
)
)
)
------------------------------------
for o in objects do edit_maps o.material
)
В данном случае нужно найти все "Missing_TextureMap" и удалить их или заменить на какие-нить другие, например на Cellular () или просто распечатать.
Если обращаться к материалу напрямую, то все работает:
iskindof materialsEditor[2].diffuseMap Missing_TextureMap - хоть так
classOf materialsEditor[2].diffuseMap == Missing_TextureMap или так,
то все работает, легко находит Missing_TextureMap и меняет.
Вышеописанный способ, при запросе СlassOf выдает SubAnim - везде.
Просто офигеть. Помогите, пожалуйста, разобраться.