понедельник, 4 апреля 2022 г.

Как изменить порядок атрибутов в channel box в Maya

How to change attribute order in Channel Box?
Надо скачать скрипт . 
Инструкция : 
Копируем скрипт в папку scripts, затем в Maya ввести в строке python 

import maya.cmds as cmds
import jlr_sort_attributes
cmds.evalDeferred('jlr_sort_attributes.create_menu_commands()')

Затем в самой Maya выбираем объект и в самом channel box выбираем один или несколько аттрибутов. Нажимаем RMB и в контекстном меню в самом низу будт дополнительные функции по перемещению атрибутов и их копировании. 
Работает в Maya 2022.



среда, 17 марта 2021 г.

How to drive object attributes in Maya with music-sound (Tutorial)


После подключенного параметра к кубу, можно сделать Backe Animation и мы получим анимационную кривую. 
Первая подобная тема рассматривалась в статье: Как получить анимацию от музыкального трека в Maya. Но первый вариант был разработан мною и он был достаточно топорным :) .

среда, 10 марта 2021 г.

Amplify Shader Editor for Polybrush in Unity

Шейдер предназначенный для работы с Polybrush. 

VertexColor является маской для материалов.
И важно добавить строки в Aditional Directives:
Z_TEXTURE_CHANNELS 4
Z_MESH_ATTRIBUTES UV0

Подобная инструкция есть: http://www.procore3d.com/docs/polybrush/shaders/

Стандартный материал не включал в себя карту Metallness, поэтому делаем свой :) .





среда, 24 февраля 2021 г.

Maya Mel String Substring

Рассмотрим на примере работы массива с использованием имени выделенных объектов и части его имени.

У нас есть ноды с названием каждого позвонка в позвоночном столбе C,T,L. У ноды есть атрибут Max Rot Limit. Есть Joint_List в которой есть добавочные атрибуты Vector: C T L. Вектор, значит в одном названии 3 атрибута XYZ. Так удобно группировать для подключения в NodeEditor.
Надо умножить Max Rot Limit на Vector и полученный результат подключить к ригу костей в Rotate.
Т.к. нод много, их можно подключить с помощью массива.



Создаем MultiplyDivide ноду для умножения.
Если подключить вручную ноды, мы получим такие строки:
connectAttr -f C0.maxRotLimit multiplyDivide_C0.input1;
connectAttr -f Joints_List.C multiplyDivide_C0.input2;

Чтобы подключить все ноды используем массив и части имен.

string $list[] = `ls -sl`;
for ($item in $list)
{
string $node = eval("substring "+$item+" "+1+" "+1);    
connectAttr -f ($item+".maxRotLimit") ("multiplyDivide_"+$item+".input1");
connectAttr -f ("Joints_List."+$node) ("multiplyDivide_"+$item+".input2");
}

В это примере я использую только первую букву.
Вот что получается с одного скрипта:


Вот отрывки найденых примеров:
// returns the string "Hello".
substring "Hello There" 1 5;
Числа означают: используем порядок символов текста от первого числа и до второго числа.

Так можно использовать Substring в коде
string $t ="pahan is my name";
string $currentChr = eval("substring "+$t+" "+1+" "+7);





Контакты: gmail mnexuss@gmail.com | ICQ 201882385 | Add me to Skype