понедельник, 22 марта 2021 г.
среда, 17 марта 2021 г.
How to drive object attributes in Maya with music-sound (Tutorial)
После подключенного параметра к кубу, можно сделать Backe Animation и мы получим анимационную кривую.
Первая подобная тема рассматривалась в статье: Как получить анимацию от музыкального трека в Maya. Но первый вариант был разработан мною и он был достаточно топорным :) .
Первая подобная тема рассматривалась в статье: Как получить анимацию от музыкального трека в 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;
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);
Числа означают: используем порядок символов текста от первого числа и до второго числа.
Так можно использовать Substring в коде
string $t ="pahan is my name";
string $currentChr = eval("substring "+$t+" "+1+" "+7);
пятница, 19 февраля 2021 г.
Bind Poses
How to quickly remove the skin and Bind Pose from character?
a) When nothing is selected in the scene go to Edit> Delete All by Type> History
b) In the Outliner editor uncheck the following Display> DAG Objects Only
c) Delete bindpose node Maya creates while binding the skin
How to fix multiple Bind Poses?
Sometimes character export pipeline (custom tools and game engines) still require a single bind pose for a character. So this can be a reason why the skeleton must have only single bind pose (dagPose) associated with it.
There is an easy fix:
a) In the Outliner editor uncheck the following Display> DAG Objects Only
b) Delete multiple bindpose nodes Maya creates while binding the skin
c) Pose your character’s skeleton to what you want your bindpose to be
d) Run this (MEL) in the command line (dagPose -bindPose -save) or equivalent:
dagPose -bp -s;
e) Now you have just a single bind pose
a) When nothing is selected in the scene go to Edit> Delete All by Type> History
b) In the Outliner editor uncheck the following Display> DAG Objects Only
c) Delete bindpose node Maya creates while binding the skin
How to fix multiple Bind Poses?
Sometimes character export pipeline (custom tools and game engines) still require a single bind pose for a character. So this can be a reason why the skeleton must have only single bind pose (dagPose) associated with it.
There is an easy fix:
a) In the Outliner editor uncheck the following Display> DAG Objects Only
b) Delete multiple bindpose nodes Maya creates while binding the skin
c) Pose your character’s skeleton to what you want your bindpose to be
d) Run this (MEL) in the command line (dagPose -bindPose -save) or equivalent:
dagPose -bp -s;
e) Now you have just a single bind pose