Обзор

Таким образом, вы можете создать собственное меню и поместить кнопки в свое меню прямо сейчас, но ваша кнопка не делает ничего полезного. В этой части мы рассмотрим общие команды, генерируя zscripts в zbrush, чтобы помочь в создании вашего инструмента, а также создадим полезную кнопку для проецирования деталей из сетки высокого разрешения в сетку низкого разрешения.

Генерация Zscripts из пользовательских входов

Возможно, вы заметили кнопку «Запись» в меню Zscript. Взгляд на Pixologic добавил это, чтобы вы могли записывать нажатия кнопок и сохранять их в текстовый файл. Это чрезвычайно полезно при создании Zscripts впервые, если вы не знаете, что делать. Я бы посоветовал поиграть с этим и посмотреть, какие выходы вы получите, когда закончите запись.

Откройте новую видимую Zbrush и загрузите инструмент. Затем в меню Zscript щелкните Запись. Нажмите «Нет» во всплывающем окне, чтобы сохранить сцену как есть. Если вы нажмете «Да», будет создана новая сцена и удалены все ваши инструменты. Не совсем то, чем мы хотим заниматься. Нажмите несколько кнопок в Zbrush, переместите ползунки и нажмите «Завершить запись». Это сохранит его в файле .txt, который вы сможете просмотреть в текстовом редакторе.

Сделать что-то полезное

Теперь, когда вы видите введенные вами данные, давайте сделаем что-нибудь полезное !! Каждый день на работе мне приходится проецировать свою сетку низкого разрешения на сетку высокого разрешения. Мы могли бы сделать это вручную, но кто хочет тратить время на разбиение и проектирование на каждом уровне ?? Не мне сказала блоха. Итак, сделаем для этого кнопку !!!!

Создайте кнопку в своем настраиваемом меню и назовите ее "Проект с подразделениями"

Ваш zscript должен выглядеть примерно так

[ISubpalette, Zscript:CustomScripts]
[IButton, Zscript:CustomScripts:HelloWorld, "This is my first zscript!", [Note, "Hello World!"] ]
[IButton, "Zscript:CustomScripts:Project With Subdivisions", "Creates Subdivisions and Projects All", [Note, "Get ready for the magic!"] ]

Как видите, вам нужно определить собственное меню только один раз. Просто убедитесь, что вы включили его в название вашей кнопки. Я использовал «» вокруг имени, чтобы убедиться, что в имени кнопки в Zbrush есть пробелы.

Если вы опробовали функцию записи Zscript, возможно, вы заметили, что некоторые из ваших щелчков приводят к команде под названием IPress

IPress - это в основном имитация нажатия кнопки в пользовательском интерфейсе ZBrush. Это команда, которую мы будем использовать для нашего скрипта.

[IPress, SomeZBrushButton]

С точки зрения линейного мышления, что бы мы хотели сделать в первую очередь? Мы хотим разделить нашу модель, создав новое подразделение. Если вы наведите указатель мыши на кнопку «Разделить» в ZBrush и удерживайте нажатой клавишу CTRL, мы увидим всплывающее окно «Путь к кнопке» внизу. Инструмент: Геометрия: Разделить. Это то, что мы введем в нашу командную переменную.

[IPress,Tool:Geometry:Divide]

Теперь нам просто нужно создать команду project all.

Прежде чем продолжить, посмотрите, сможете ли вы придумать, как создать команду Project All самостоятельно !!

Теперь у нас должно быть две команды

[IPress,Tool:Geometry:Divide]
[IPress,Tool:SubTool:ProjectAll]

Помните, что вам нужно ввести правильный путь к кнопке, иначе zbrush выдаст ошибку. Project All находится в палитре SubTool меню Tool, поэтому путь должен быть записан соответствующим образом.

Как вы могли заметить, я не разделял команды запятыми. Это потому, что команды должны следовать одна за другой. Добавление запятой поместит эту команду в следующую переменную кнопки, а это не то, что мы хотим делать.

Итак, теперь, когда у нас есть эти команды, мы можем добавить их в нашу кнопку Project With Subdivisions! Попробуй!

[ISubpalette, Zscript:CustomScripts]
[IButton, Zscript:CustomScripts:HelloWorld, "This is my first zscript!", [Note, "Hello World!"] ]
[IButton, "Zscript:CustomScripts:Project With Subdivisions", "Creates Subdivisions and Projects All", [Note, "Get ready for the magic!"][IPress,Tool:Geometry:Divide][IPress,Tool:SubTool:ProjectAll] ]

Сохраните как .txt и протестируйте с двумя объектами в вашей сцене! Убедитесь, что вы находитесь в режиме редактирования!

Попробуйте добавить больше команд или другой набор разделения и спроецировать все!

Очистка

Вы можете заметить, что кнопки становятся длиннее. Я бы посоветовал разбить кнопку на отдельные разделы с вкладками, чтобы облегчить чтение. Вот так…

[ISubpalette, Zscript:CustomScripts]
[IButton, Zscript:CustomScripts:HelloWorld, "This is my first zscript!", [Note, "Hello World!"] ]
[IButton, "Zscript:CustomScripts:Project With Subdivisions", "Creates Subdivisions and Projects All", 
    [Note, "Get ready for the magic!"]
    [IPress,Tool:Geometry:Divide]
    [IPress,Tool:SubTool:ProjectAll] 
    [IPress,Tool:Geometry:Divide]
    [IPress,Tool:SubTool:ProjectAll] 
    [Note, "The model has been subdivided and projected!"]
]

Другие общие команды

Справочник по командам Zscripting - я рекомендую, чтобы этот сайт был всегда доступен, когда вы используете Zscripting. Это помогает знать различные переменные, необходимые для команд.

Ниже приведены некоторые другие команды, которые могут появляться при создании основных кнопок.

[IPress,] - нажатие кнопки или включение переключателей

[IUnPress,] - используется с такими переключателями, как RGB, чтобы убедиться, что они выключены.

[IModSet,] - используется со значениями модификаторов

[ISet,] - используется с ползунками и другими значениями.

[IToggle,] - Может быть полезно, но я предпочитаю использовать IUnPress для изменения состояния переключателя.

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