Render.ru

Класс в виде переменной?

Александр Якушев

Активный участник
Рейтинг
7
#1
Ничего так и неполучилось нарыть в интернете по этой теме. Помогите, пожалуйста.
Есть функция для изменения величины блюра в нужных слотах в выбранных картах для любых типов материалов (надеюсь понятно выражаюсь:)):
Код:
fn EditBlurMaps mm slotName theBlur typeMAP =
(
    if mm != undefined do
    (
        numSTM = getNumSubTexmaps  mm
        if numSTM != 0 do
        (
            for i = 1 to numSTM do
            (
                theSlotName = getSubTexmapSlotName  mm i
                if findString theSlotName slotName == 1 do  theMAP = getSubTexmap  mm i
                for bt in getclassinstances typeMAP target:theMAP do bt.coords.blur = theBlur
                   
                EditBlurMaps theMAP slotName theBlur typeMAP
                )
                )
            )
        )
mm - это материал
slotName - имя выбранного слота этого материала (например "Diffuse")
theBlur - величина блюра (например 0.2)
вопрос: !!!!!!!!typeMAP - должна быть переменная с классом карты (bitmaptexture и т.п.)!!!!!!!!! но, понятное дело, выдает ошибку.

Прилагаю, также, небольшой скрипт с этой функцией.
 

Вложения

igorznag

Мастер
Рейтинг
103
#2
Код:
fn EditBlurMaps mm slotName theBlur typeMAP =
(
    if mm != undefined do
    (
        numSTM = getNumSubTexmaps  mm
        if numSTM != 0 do
        (
            for i = 1 to numSTM do
            (
                theSlotName = getSubTexmapSlotName  mm i
                if findString theSlotName slotName == 1 do  theMAP = getSubTexmap  mm i
                if theMAP!=undefined then
                for bt in getclassinstances (execute typeMAP) target:theMAP do bt.coords.blur = theBlur             
                EditBlurMaps theMAP slotName theBlur typeMAP
                )
                )
            )
        )
 
Сверху