как установить скрипт для 3ds max
Как установить скрипт в 3d max?
Очень маленький, но полезный урок для начинающих. Многие спрашивают меня каким образом установить скаченный скрипт в 3d max, как можно быстро добавить его в 3d max, этот урок посвящен этой проблеме. Рассмотрим на примере установки всем хорошо известного скрипта “Fastrender” – этот скрипт помогает делать облегченный, предварительный редер в v-ray.
Итак, скачаем и распаковываем скрипт “Fastrender”.
Затем переносим его в корневую папку Scripts в 3d max, ссылку корневой папки смотрим внизу.
Запускаем 3d max, в верхней панели находим вкладку “MAXScript” и строчку “Run Script”.
В открывшемся окошке “Choose Editor File” находим наш скрипт и открываем его.
Выбираем нужное разрешение предварительного рендера “Fastrender”.
Скрипт установили, теперь выведем кнопочку на верхнюю панель 3d max, откроем вкладку “Customize”, а в ней “Customize User Interface”.
В окне “Customize User Interface” выбираем “Toolbars” – “New”.
Пишем наименование команды нашей кнопки “Faster_01” (любое название).
Появилось новое окошко “Faster_01”, под “Action” находим скрипт “Fast render” и перетаскиваем его в окошко “Faster_01”.
Окно “Faster_01” перетаскиваем на верхнюю панель.
Запускаем кнопочку и смотрим, если у вас выскакивает вот такая ошибка (картинка снизу), значит не установлен или запущен v-ray, для решения этой проблемы переходим по ссылкам.
Если все правильно было установлено, то запускается наш скрипт в 3d max.
Скрипты в максе
а вообще почти со всеми инструкция идёт по установке и использованию
А это про установку плагинов.
Все дополнительные модули являются файлами библиотек DLL, но в зависимости от свойств имеют разные расширения. Например:
Если дополнительный модуль не имеет мастера установки, то инсталлировать его нужно следующим образом.
1. Распаковать архив установки дополнительного модуля.
2. Найти файл библиотеки с одним из указанных выше расширений.
3. Скопировать этот файл в папку Crogram FilesAutodesk3ds Max 2009plugins.
4. Перезапустить 3ds Max 2009.
После установки плагин займет свое место среди стандартных инструментов 3ds Max.
Рассмотрим установку некоторых плагинов на примерах.
Если вы устанавливаете дополнительную процедурную карту (DLT), то искать ее нужно в окне Material/Map Browser. Например, если вы установили карту Camoflage, то для ее добавления в материал щелкните по кнопке None напротив какого-нибудь параметра в свитке Maps (Карты) редактора материалов. Это может быть, например, параметр Diffuse Color (Основной цвет) или Bump (Рельеф).
Вы сможете увидеть карту Camoflage в окне Material/Map Browser (Окно выбора материалов и карт).
Если вы устанавливаете дополнительный эффект постобработки (DLV), то искать его нужно в окне Environment And Effects. К таким плагинам относится, например, Trail. Для установки плагина на 32-битную версию 3ds Max 2009 нужно скопировать файл Ky_Trail_32.dlv в папку Plugins. Для доступа к нему нужно открыть окно Environment And Effects из меню Rendering, перейти на вкладку Effects, нажать кнопку Add и выбрать эффект Ky_Trail из списка.
Если вы не можете найти в интерфейсе 3ds Max не одного из установленных плагинов, выполните команду Customize>Configure System Paths, перейдите на вкладку 3-rd Party Plug-ins, нажмите кнопку Add (Добавить), выберите папку Plugins, в которую вы копировали все файлы, и нажмите кнопку Use Path в окне Choose Directory for New Entry. После этого нажмите кнопку OK в окне Configure System Paths и перезагрузите 3ds Max.
Скрипты для ускорения моделирования в 3ds Max
Гигантским плюсом 3ds Max является его расширяемость скриптами и плагинами. Эти дополнения многократно увеличивают возможности базовой программы. Благодаря скриптам можно значительно ускорить моделирование и избавиться от заурядных операций. Все скрипты находятся в Сети в свободном доступе. Для того, чтобы их установить скрипт перейдите в Scripting – Run Script… В открывшемся окне находим сохраненный файл скрипта.
Некоторые файлы устанавливаются автоматически, без уведомления. Чтобы использовать установленный скрипт, нужно зайти в Customize – Customize User Interface… и в окне команд найти скрипт по названию. Для удобства ему можно назначить горячую клавишу или перенести в какое-либо меню.
1. Border Fill
Этот скрипт заполняет пустую границу полигонами. По функции он похож на инструмент Cap. Но, в отличие от инструмента, Border Fill создает не один полигон, а множество четырехугольников. Более того, новая сетка идет в соответствии с границей, а не по прямой.
Перед использованием обязательно конвертируем объект в Editable Poly с помощью ПКМ – Convert to – Convert to Editable Poly. Затем выберете объект и точки на нем, по которым будет строится сетка. Важно выбирать правильные точки, потому что от этого зависит строение сетки. Теперь используйте скрипт. В зависимости от плотности сетки, через некоторое время полигоны закроют дыру.
2. Regularize
Для начала конвертируйте объект в Editable Poly. Выберите предмет редактирования Poligons. Отметьте те полигоны, которые хотите превратить в круг. Нажмите на кнопку скрипта.
3. DebrisMaker
Очень мощный и полезный скрипт. Эта программа автоматически моделирует объекты по заданным параметрам. Список объектов ограничен и состоит из 19 предметов, таких как: камни, листва, палки, кристаллы, голуби. DebrisMaker скрипт эти модели по заданным параметрам, которые устанавливаются в окне самого скрипта. Для каждого объекта набор параметров уникален, поэтому в рамках данной статьи рассмотреть их невозможно. Однако можно увидеть некоторые его возможности.
Генерируемые объекты отлично подходят для того, чтобы размножить их по сцене инструментами Corona Scatter и Object Paint.
Перечисленное здесь – лишь ничтожная доля существующих скриптов. Все их перечислить невозможно из-за огромного числа. Одни более полезные, другие менее. Поэтому никто не подберет для Вас скрипты лучше, чем Вы сами. Зато теперь вы знаете, как можно повысить удобство и качество своей работы.
Урок по position script контроллеру в 3Ds Max
В своем предыдущем уроке я изложил базовые основы и правила написания скриптов http://www.render.ru/books/show_book.php?book_id=2121 По этому повторяться я не буду а сразу преступлю к подготовке сцены. Все что небыло освещено там буду объяснять по ходу пьессы. Итак открываем макс и создаем бокс. Длина высота ширина по 10. Мои системные единицы на рис. 1 и рис. 2.Выбираем наш бокс открываем панель инструментов вкладку иерархия нажимаем воздействие только на опорную точку и расположение ее по центру объекта рис.3. Снимаем Affect Pivot и распологаем наш обьект в центре координат рис 4. Должно получиться как на рис 5.
Теперь приступаем к завершающей стадии урока. В ней мы размножим кубик и пустышку и напишем скрипт который автоматом создаст контроллеры для всех кубиков. Выделяем бокс и пустышку вместе. Переходим на вид сверху. Включаем трехмерную привязку на главном меню кликаем по ней правой кнопкой и выбираем привязку к узлам сетки рис. 14. Двигаем бокс и сферу по оси х от сферы с нажатой кнопкой шифт так чтобы копии встали грань к грани рис. 15. Выставляем кол-во копий 50. Выбираем получившиеся кубики и пустышки и копируем их по оси у аналогичным способом. Кол-во копий 10. Должно получиться как на рис 16. Теперь можно подвигать сферой в гор. плоскости. Анимация должна работать (видео 2). Уже интереснее, но мы пойдем дальше и слегка изменим наши контроллеры а именно добавим хаотичности на подъем. Для этого мы напишем скрипт который будет автоматом создавать нужные контроллеры для каждого бокса. Я поступлю так. Выложу скрипт ролностью а за тем разберу его по строкам.
Первая строка создает переменную с именем boxes и назначает на нее массив из выбранных объектов сцены. Вторая строка создает переменную с именем dums и так же назначает на нее массив из выбранных объектов. Третья строка создает переменную n и назначает на нее количество элементов второго массива т. е. количество пустышек(кубиков). Четвертая строка открывает цикл который будет проходить от первого до последнего бокса. Пятая это скоба открывающая область цикла. Шестая создает переменную b и назначает ей элемент массива боксов с индексом i. То-есть это будет первый бокс на первом шаге цикла второй на втором и т. д. до последнего. Седьмая строка назначает на переменную b (бокс на текущем шаге) контроллер position_script с настройками по умолчанию. Восьмая строка добавляет в контроллер переменную с именем sphere и назначает на нее нашу контролирующую сферу. Девятая строка добавляет переменную dummy и назначает на нее элемент массива пустышек с индексом i т. е. пустышку соотв. кубику на который накладываетса контроллер. Неболльшое отступление на счет переменных в скриптах. Они делятся на две группы глобальные и локальные. Разници меж ними в том что переназначение глобальных переменных действует во всех зонах скрипта. Локальные переменные переназначаются только в тех зонах в которых они определены. Другими словами в своих зонах локальные переменные с одинаковыми именами могут иметь разное значение. Понимание этого нужно в силу того что все переменные вводимые в скрипт контроллер прописываются там как локальные т. е. наша переменная dummy в каждом контроллере будет иметь одно и тоже имя но разное значение (свою пустышку). Надеюсь с этим понятно. Все это мутно конечно но понимание этого нужно.Десятая строка добавляет в контроллер пер. z1 (наша высота подъема) и назначает на нее константу, которую выбирает из случайных чисел от 30 до 200 (команда random 30 200). Одинадцатая строка добавляет в контроллер сам текст скрипта. Его разбирать не буду т. к. мы ето уже прошли. Скажу только что сам текст заключается в кавычки, он пишется по строкам с поддержанием написания всех правил для строковых величин. Последняя строка закрывает цикл. Вот собственно и весь скрипт. Он не сложный и надеюсь вы поняли его. Пеперь как он работает. Первым делом выделяем все кубики и запускаем первую строку. Смотрим на результат в отладчике. Там появится список массива синим цветом. Только за тем выделяем все пустышки и запускаем вторую строку. Результат в отладчике. Если все норм то запускаем остальные строки (с третьей по последнюю) и только их. Такая последовательность действий для того что нам нужно создавать переменные и назначать на них соотв. массивы для правильного выполнения последующих строк. Ну я надеюсь вы это уже поняли. После выполнения скрипта снова двигаем сферой. Если все верно то характер анимации изменится (видео 3). В завершение скажу что аналогичнам способом можно анимиповать вращение и масштаб п также смешивать все это на сколько хватит фантазии и умения, создавая интересные анимации.
MAX SCRIPT. Пишем экспортер
Значения кнопок «New Script», «Open Script», «Run Script» я думаю, в пояснении не нуждаются, их названия говорят сами за себя, а вот кнопочка «Open Listener» открывает окошко содержащее 2 поля. Верхнее поле представляет собой что то типа лога, в которое макс выводит информацию после каких либо действий пользователя, а в нижнем можно вводить команды макс скрипта для одноразового немедленного выполнения. При написании скриптов данное окно желательно держать открытым, так как там будут отображаться ваши ошибки и вообще много полезной информации. Нажимаем кнопочку «New Script», перед нами появится чистый, готовый к работе, текстовый редактор. Предлагаю сразу же сохранить его. Я сохранил его под именем LesExpScene.ms. Сейчас нам надо расставить визуальные элементы управления, кнопки, выпадающие списки ит.д. Для чего выберите Edit->Edit Rollaut из меню редактора скриптов. Это откроет окно Visual MAXScript, где мы быстро и наглядно расставим всё, что нам нужно. Серый квадрат по центру, это и есть наш будущий роллаут. Большинство элементов находящихся в низу данного окна мы разберём по ходу работы. Для начала нам необходимо текстовое поле, чтоб мы могли назвать файл нашей сцены. Для этого нажмите кнопочку «Edit Box» на нижней панели, и нарисуйте прямоугольник, он и будет служить нам полем для ввода текста. Также для более удобного размещения элементов можно использовать кнопку «Grid/Snap» находящуюся в верхней части.
И установите следующие параметры для данных объектов:
Первый «Drop Down List»:
В поле «items»мы вписали те пункты, которые будут показаны при развороте списка. Вписывать их надо обязательно в кавычках.
Второй «Drop Down List»:
Первый Edit Box, для отображения и/или ввода с клавиатуры пути для сохранения продуктов жизнедеятельности нашего скрипта.
Кнопка «Browse» для выбора того самого пути.
Опция «enabled» указывает будет ли активен этот чекбокс или нет. А «checked» выбран ли он.
Ещё одна кнопка «Browse», для выбора пути к XML конвертеру.
Второй чекбокс предназначен для выбора экспортировать ли модели в принципе, или только файл с их размещением и настройками сцены. Экономит время если вы изменили только цвет фона или позицию модели, например.
И последняя, самая главная кнопка «Export». Её назначение, я думаю, в пояснении не нуждается.
Наверное вам не терпится увидеть в действии то, что вы так долго делали. Но пока это всего лишь набор строк. Чтоб «дать им жизнь» мы создадим окно, в котором разместится данный ролаут, и установим кнопку для его открытия. Сперва поместите содержимое архива в папку «3DSMAX\UI\Icons».
Это картинка которая будет отображаться на кнопке. Если вы закрыли ваш скрипт, откройте его. Сейчас мы имеем:
rollout ExportRollout «FreeS Export Dialog» width:296 height:528
(
—
— Тут описание всех созданных нами элементов интерфейса.
— Комментарии в МаксСкрипте начинаются с двойного дефиса.
—
)
В самом начале, перед данным текстом, мы должны вписать следующее:
macroScript ExportDialog
category:»FreeS Tools»
internalCategory:»Export Dialog»
— Текст кнопки.
buttonText:»FreeS Ogre Export Dialog»
— Надпись появляющаяся при наведении мыши на кнопку.
tooltip:»FreeS Ogre Export Dialog»
— Иконка отображаемая на кнопке.
Icon:#(«FreeS»,3)
(
— Имя и размеры создаваемого окна.
FreeSOgreExportFloater = newRolloutFloater «FreeS Export Dialog» 300 600;
— Добавляем наш ролаут в окно.
addRollout ExportRollout FreeSOgreExportFloater ;
Сохраните изменения в тексте скрипта, и мы продолжим. Чтобы макс начал использовать данный скрипт нажмите File->Evaluate All. Если вы допустили какую либо ошибку, данные о ней появятся в окне MAXScript Listener. Чтоб не тратить много времени на поиск ошибки в случае её возникновения, сравните свой скрипт с моим:
Нам осталось показать кнопку запуска скрипта, и делается это очень просто. Выберите пункт меню Customize->Customize User Interface. Сейчас мы создадим Toolbar который и будет содержать нашу кнопку, и любые другие, по вашему желанию. Нажмите кнопочку «New» и в появившемся окошке дайте имя создаваемому тулбару, и нажмите «Ок». Появится маленькое окошко, на которое мы можем переместить нужные нам кнопки. В окне «Customize User Interface» в «Category:» найдите «FreeS Tools» (Если вы следовали моим советам, и не назвали категорию в скрипте по другому) и увидите в низу список возможных кнопок в этой категории. В данном случае у вас будет только один пункт, который вы и перетащите мышью в только что созданный тулбар.
Теперь вы можете разместить этот тулбар в любом месте интерфейса 3D Max, а при нажатии на кнопку мы увидим созданный нами роллаут. Правда пока он никак не реагирует на нажатия кнопок, и не может сохранять свои настройки, но сейчас мы это исправим.
Когда передо мной стал вопрос как сохранять настройки отдельных объектов в сцене, то я решил записывать их в User Defined Properties, что очень удобно в плане использования и редактирования. Найти это можно щёлкнув правой кнопкой мыши на каком либо объекте, и в появившемся меню выбрать «Properties. » где вы и найдёте закладку «User Defined». А вот с сохранением настроек сцены было не всё так гладко, но в конце концов я решил что их тоже можно сохранить в User Properties специально созданного для этого объекта, который будет игнорироваться экспортером в качестве меша, и будет служить только контейнером нужных параметров. Я дал ему имя «SceneBox». Создавать его и записывать все параметры мы конечно же будем при помощи MAXScript.
Все наши дальнейшие действия будут базироваться на событиях, которые происходят при выполнении каких либо действий. Например, при нажатии кнопки открывающей наш тулбар происходит событие «open» в этот момент нам надо проверить есть ли в сцене «SceneBox», и если да, то установить всем элементам роллаута сохранённые в нём параметры, а если его нет, то есть роллаут открывается впервые для данной сцены, то надо его создать.
Для проверки присутствия «SceneBox» мы используем конструкцию «try()catch()». В скобках после «try» мы попробуем выбрать этот бокс, и если его не окажется, начнёт выполнятся код находящийся в «catch()», если же операция выбора пройдёт успешно, то «catch()» пропускается, скрипт продолжит свою работу дальше.
Выбирать объект в MAXScript можно многими способами, но в данном случае самым удобным для нас будет выбор по имени. Чтоб MAXScript понял что мы обращаемся именно к имени, перед ним надо ставить знак «$»
Записывать данные в User Properties мы будем таким образом:
setUserProp /переменная или имя объекта/ /имя параметра/ /значение параметра/
А читать так:
значение параметра = getUserProp /переменная или имя объекта/ /имя параметра/
Каждый из созданных нами ранее элементов интерфейса содержит множество параметров, и обращение к ним происходит через точку, то есть:
Цвет объекта «shadowColor» в формате RGB можно получить так:
shadowColor.color
Чтоб получить только синий параметр цвета:
shadowColor.color.b
При сохранении и загрузке цветов мы будем делать это отдельно для каждого элемента RGB, так как корректно загрузить цвет записанный одной строкой мне не удалось.
Итак, после строк описания интерфейса, перед скобкой закрывающей роллаут мы пишем:
Сохраните все изменения, сделайте File->Evaluate All и попробуйте поизменять параметры в созданном нами окне. Всё должно сохраняться и загружаться. Если у вас что то не работает, или вы получили сообщение о ошибке, посмотрите на мой файл скрипта, возможно вы упустили какую либо деталь.
Последнее что нам осталось сделать, это установить реакцию на нажатие кнопки «Export», но в силу обширности темы, этим мы займёмся в следующем уроке.
Если у вас возникнут какие либо вопросы, задавайте их на мой e-mail:
frees_les@mail.ru
А также читайте справку по макс скрипту, там много полезной информации, и всё довольно хорошо и подробно описано.