Скрипт Corona Diffuse Correct

 

 

 Приветствую!smiley-pleasantry.gif

     В этом очередном блоге будет рассказано о моем новом скрипте Corona Diffuse Correct . У меня есть небольшой опыт по написанию скриптов, и этот скрипт является уже третьим по счету. О моих первых попытках создания скриптов вы можете прочитать здесь и здесь , а скачать тут и тут .

     Corona Diffuse Correct – скрипт для назначения/удаления карт 3ds Max Color Correction и Corona Color Correct в канале Diffuse материала Corona Render. Подходит для материалов: Corona Legacy Material в версии Corona Render 7 и/или выше, а также для младших версий Corona Render 4,5,6.

   

     Хочу обратить ваше внимание на то, что скрипт работает только с выделенным объектом в сцене.

     Чтобы установить скрипт в 3ds Max, нужно скопировать его папку Corona Diffuse Correct по пути: C:\Program Files\Autodesk\3ds Max 2021\scripts. Если у вас другая версия программы, то придется отредактировать файл Corona Diffuse Correct: ms. В нем надо будет поменять версию программы на свою в тех четырех строках, где это требуется. Это несложно сделать, например, в приложении Блокнот.

      В этих четырех строках нужно заменить название программы 3ds Maх-2021 на свою версию, например, 3ds Max-2019.

      Чтобы активировать скрипт для работы, просто перетащите подготовленный и отредактированный файл, если это требовалось для вашей версии, в окно программы. При этом у вас запустится меню программы с четырьмя кнопками управления.

        Первая кнопка Diffuse Corona Correct_on добавляет к текстуре слота Diffuse, в материале Corona Mtl карту: Corona Color Correct для цветокоррекции текстуры.

       Ниже располагается вторая кнопка - Diffuse Corona Correct_off, которая отменяет это действие.

     

 

        Еще ниже есть кнопка Diffuse Correction_on: она устанавливает в слот Diffuse материала Corona Mtl стандартную карту 3ds Max: Color Correction внедряет в ее слот Map вашу карту из канала Diffuse для ее последующей цветокоррекции.

      Крайняя нижняя кнопка Diffuse Correction_off отменяет предыдущее действие.

      В принципе, скрипт довольно простой, и все его действия описаны выше.

      Еще для удобства и ускорения работы можно назначить скрипт на кнопку в панели инструментов нашего интерфейса. Для этого немного побудем программистамиsmiley-biggrin.gif. Нужно прописать небольшой скрипт, который я приведу ниже. Для этого в папке с нашим скриптом нужно будет создать еще один файл.

      Создайте новый текстовый документ, назовите его как-нибудь. У себя, например, я дал ему название Script_install. Запускаем этот файл и копируем в него код вида:

macroScript CoronaDiffuseCorrect

category:"CoronaCorrect"

tooltip:"CoronaDiffuseCorrect"

(

on execute do

(

fileIn "CoronaDiffuseCorrect.ms"

)

)

        Без пробелов между строчками. Дальше выбираем: Файл — Сохранить как — Все файлы. И в названии файла, и в конце пишем *.ms (расширение через точку). Выбираем (если не выбрано) кодировку UTF-8 и нажимаем Сохранить. 

        Теперь в нашей папке есть два файла с одним названием, только один с расширением *.txt а другой с *.ms. Первый нам больше не нужен, и его можно удалить, а второй мы перетаскиваем в активное окно программы 3ds Max. Ничего не произошло внешне, но скрипт установился, если вы все сделали правильно. Кнопку скрипта теперь можно найти по пути: Customise – Customise User Interface - Toolbars - Category: CoronaCorrect - Corona Diffuse Correct. 

         На этом все, спасибо за внимание!

скриптcoronadiffusecorrectcorrection

Комментарии (45)

+1
Sasha-GHOST
крайняя нижняя кнопка [х]
+1
alenkey
крайний проект )
+4
VolodiaDesign
а в каких ситуациях может понадобиться этот полезный скрипт?
+1
tony3DDD
Не знаю, сам каждый день пользуюсь во всех проектах. Применяя старые модели, нужен цветокор по diffuse. Неужели никто не пользуется? Мне кстати этот скрипт просили сделать. Так что не я один такой)
0
VolodiaDesign
А ну понятно теперь, вы работаете в стандарт материал эдиторе. Это уже прошлый век, если что
+3
Sasha-GHOST
При чем тут временные рамки? Просто иногда удобно быстро что-то крутануть в компактном матэдиторе (это не значит что он стандартный), если что-то люто надо накрафтить, то там проще уже двигать шнурки в расширенном. В целом кому как удобно. Кто-то вообще из компактного не вылезает и наоборот. Кто-то пьет водку, кто-то виски, а кого-то есть медведь
0
VolodiaDesign
Ууууу, да вы батюшка тоже на стандарте сидите?)
+1
Sasha-GHOST
Так говоришь, как будто это что-то плохое
0
VolodiaDesign
Нет, я прикалываюсь)
0
Sasha-GHOST
да я уж понял, что гротеск
+5
sorter
за 22 года сидения в максе ни разу не понадобилось, но за труды всё равно лайк.
0
tony3DDD
Спасибо!
0
pikuka
Идея хорошая, но не понимаю, что значит работает с выделенным объектом - например на объект назначен multimaterial, внутри корона coronalayered, coronaselect или rayswitch (прости господи)... у нас на 3дд такое скачаешь иногда... Куда он назначает? На мат в слоте или на все что на этом объекте есть...
0
tony3DDD
Работает с Corona mtl старых версий
0
pikuka
Купил проверил у меня не работает даже с простым multi/sub-object... надо еще его дорабатывать...
0
tony3DDD
Правильно с multi/sub не работает. С простым Corona Mtl старых версий или legacy mtl.
+1
pikuka
Я понял, но это делает скрипт наполовину бесполезным...
0
tony3DDD
Почему это?
+6
petrovich23rus
Ну потому что, как минимум, на половине моделей будет НЕ коронамтл или короналегасимтл, а будет мульти-саб, или какой-нибудь корона леер. То есть получается надо открыть слэйт эдитор, взять пипетку, убедится что на модели именно нужный короналегасимтл и только потом использовать скрипт. Но если слейт уже открыт и материал уже понятен то перетащить ноду с коррекцией это один клик, а чтобы воспользоваться скриптом надо несколько кликов. Смысл скрипта которым делать дольше чем без скрипта непонятен.
-1
tony3DDD
Я могу сказать только одно. Если вы не понимаете смысл скрипта - значит он лично вам не нужен. Только зачем выдавать своё частное мнение за некий абсолют? Это сбивает людей которым он нужен, например
+3
Yehat
С корона физикал мтл работает?

PS
Я вообще не понимаю, почему это весь колоркоррект издревле и по умолчанию не вкручен в битмапы?
0
tony3DDD
Нет, с корона физикал не работает. На корона физикал есть новый другой шикарный скрипт: CoronaMtl-Automator. Одна из его функций, тоже, накидывать corona color correct, но он совсем не работает со старым legacy материалом. Поэтому это разные скрипты. Вообще же это не плагины а скрипты, и по-этому под каждый материал нужен свой скрипт. И под coronalayered, multimaterial и т.д. нужны будут отдельные скрипты назначенные под отдельные кнопки, как-то так. Просто так это устроено, и так это работает)
0
pikuka
Еще бы хорошо чтобы на кнопку можно было вывести не весь интерфейс скрипта, а каждую функцию отдельно - нажал сразу карта добавилась... так надо 2 раза нажимать... а скрипт нужен чтобы меньше нажимать ;)
0
pikuka
со стандартными материалами и физикал максовским не работает... а короновский не могу проверить пока у меня 6я корона
0
tony3DDD
Стандартный материал - это какой? Так на 6-й короне он и работает, вы о чём?
0
pikuka
Я имею ввиду не короновский а максовский стандартный мат... color correction для него и для в-реевского мата было бы неплохо, чтобы работало...
0
tony3DDD
Ну, для стандартного и виреевского мата нужны отдельные макроскрипты назначенные на отдельные кнопочки) При желании можно заморочиться конечно)
+1
pikuka
Я не знаю как это реализовано на уровне скрипта - я умею только из макро рекордера скрипты сам лепить, но на функции работы с материалами так не получается... Если Вы в этом разбираться было бы круто универсальное решение иметь... а так очень узко работает...
+1
nekrobul
Может и удобно конечно, но зочемъ когда:

- Постобработка с MatID, всёравно на посте всё надо будет крутить.
- Есть Нодовый мат эдитор в котором всё это делается в такое же количество нажатий.
- Каждый второй материал - мультисаб или мути матириал.
0
tony3DDD
Просто из-за большого кол-во картинок, многие специалисты, не используют постобработку сейчас, а довольствуются той что есть в короне. В нодовом это не делается за такое же кол-во нажатий. Вы такие вопросы задаёте как будто я учусь в 3-м классе, и что-то сляпал) Всё уже проверенно, и просто так не делается. Если скрипт вышел, то аналогов ему нет. Зачем плодить одно и то же если это не будут покупать? Про мультисаб - вопрос уже был, и я ответил, смотрите переписку.
+1
nekrobul
То что аналогов скрипту нет не значит что он продуктивен и актуален.

А что касается большого количества изображений так существуют такие инструменты как Davinci Resolve и 32bit воркфоу. Что к слову является правильным подходом к постобрабтке любого CG.
0
Carpenter_M
т.к. колор коррект встроенный и в макс и в корону - на.. зачем этот скрипт нужен?
я понимаю есть скрипт - заменить плагин колоркоррект на встроенный колоркорекшион.
а как писали выше- при запуске с моделей 3ддд - он поломает кучу материалов.
Не согласен, что это нужно!
+2
GorillaZ
Все же, напишу.
Уже собрался уходить, отказавшись от идеи комментария, но.
Начну с предыстории. мне, на сегодняшний день, уже более 16 лет. 16-ти CG-шных, имею в виду.
И, по сей день, я смотрю обучающие ролики, любого рода и уровня сложности. аргументирую я такую трату времени тем, что периодически, из часа видео-материала, может быть 10 секунд чего-то полезного и нового лично для меня (даже, когда человек учит создавать боксики, или вставлять купленные модели в сцену)
так к чему это я.

Вот и сейчас так же точно получилось.
меня привлекло название (хоть короной и не пользуюсь уже давно) и, я решил изучить вопрос.
просмотрел описание, прочитал комменты и... оказывается, можно записывать свои действия в скрипты (щас плюсану за наводку)
век живи - как говорится - век учись.

А по теме. Автор, безусловно, спасибо тебе за старания, но это, на мой субъективный взгляд, абсолютно бесполезная штука...
все, что нужно чтобы назначить колор-коррект какой-то карте (даже в компактном матэдиторе) - это просто, будучи в той самой карте, для которой требуется действие - выбрать из списка колор-коррект и согласиться на то, чтобы оставить текущую карту как суб-карту. все.
работает со всем рендер-движками, мультисабами и т.д.
и, как мне кажется - действий требует меньше, чем даже просто запустить скрипт и нажать кнопку (не забываем, что потом надо идти в матэдитор и влазвить внутрь карт, в отличие от моего метода, когда ты оказываешься сразу там и БЕЗ привязки к объекту), я уж молчу про лишнюю кнопку в UI и установку.
(автор, без обид, это только мой опыт и мое мнение)
+1
pikuka
А я как раз тот престарелый унитазник, работающий в короне, которому надоело нажимать лишние кнопки и мне бы скрипт, который назначает эту карту быстро и однокнопочно не помешал бы...

Но созданный автором скрипт недоработан, поэтому нефункционален, про установку я вообще молчу с изменениями строчек кода - впервые такое вижу...

Поэтому я пошел в ChatGPT и он мне написал за одну минуту скрипт, который без установки и выделения объектов просто добавляет карту CCCmap...

-- Function to add CoronaColorCorrect to diffuse slot of selected CoronaMtl
(
fn addCoronaColorCorrectToDiffuse material =
(
if (classof material == CoronaMtl) then
(
-- Create a new CoronaColorCorrect map
ccMap = CoronaColorCorrect()

-- Check if the diffuse map slot is empty
if (material.texmapDiffuse != undefined) then
(
-- Set the CoronaColorCorrect map as the diffuse map
ccMap.inputTexmap = material.texmapDiffuse
)

-- Assign the new CoronaColorCorrect map to the diffuse slot
material.texmapDiffuse = ccMap

-- Notify the user that the map was added
format "CoronaColorCorrect map added to the diffuse slot of material: %\n" material.name
)
else
(
format "Selected material is not a CoronaMtl: %\n" material.name
)
)

-- Get the selected material in the material editor
selectedMaterial = meditMaterials[activeMeditSlot]

-- Call the function to add CoronaColorCorrect to the diffuse slot
addCoronaColorCorrectToDiffuse selectedMaterial
)

Он работает тоже только с короновским матом... с мультисабом пока не получилось... ИИ меня не понял...
0
tony3DDD
Как так только с короновским матом? Скрипт не доработан, скрипт не доработан...) Вот так всегда - ляля, ляля, всех обсудить - обхаить, а как самому что-то сделать- не получилось)
0
pikuka
Я не умею делать скрипты, поэтому их не продаю, а Ваш купил... И я вроде пытался понять как можно сделать так, чтобы Вашим скриптом можно было пользоваться, поскольку большинство объектов сейчас имеют сложные материалы... А Вы сразу обижаетесь...
0
tony3DDD
Про мат эдитор тут вообще речи нет. Например в сцене куча моделей, на многих мы вообще не знаем что за мат. Скрипт работает с выделенным объектом в сцене! Алё народ) Дальше объяснять?
+1
mr.spoilt
Алё, обиженный, не надо ничего объяснять, скрипт не работает и тут 100 комментов об этом, он делает то, что заявлено только в мизерном количестве вариантов материалов, то есть не универсальный, не дает ручного контроля и поэтому он просто не применим в 8 из 10 случаев.
0
tony3DDD
Алё тролль, тебе персонально объяснять ни кто не собирается
+2
mr.spoilt
Все эти костыли у мучения, потому что автор ни разу не открывал Слейт эдитор и не пользовался нодами.
0
tony3DDD
Вот это умора)) Чем дальше - тем веселее) Автор вообще не открывал макс) Афтор жжет
+5
mr.spoilt
Зачем скрипт, если колоркоррект и слейт мат эдиторе можно в 2 клика на любой линк между нодами кинуть просто перетянув из списка. Видео надо записать?
Вы скриптом плодите сущности, это противоречит методу бритвы Оккама, по которому самый простой способ решения задачи является единственно верным.
Мой способ: "клик -> перетянул на линк -> отпустил кнопку" (на любой материал, на любой линк, на любую карту). Ваш способ: "скачай скрипт (я может не понял, но его ещё и купить вроде надо оО), далее расскидать по папкам, вытянуть кнопку на панель, далее выделить материал, с которым скрипт работает (всего 4 мата из 100500 тысяч используемых), далее клик и получается, если никто нигде не ошибся то, что у меня заняло"клик-драг&дроп".
Вот и судите сами, оно кому надо?
+3
mr.spoilt
0
tony3DDD
Очень тупо выглядит)
+1
petrovich23rus
ссылку надо поправить, хотя все и так уже видели я думаю))