среда, 3 июня 2026 г.

Maya copy past Bookmarks

Можно из одной сцены скопипастить букмарки в другую.
Надо залезть в outliner, убрать галочку DAG Objects Only и ввести в поиск Book.



Выделить объекты Ctl+C
Перейти в другую сцену Maya. И сделать Ctrl+V.
И все букмарки перенесутся. 



пятница, 19 января 2024 г.

Unity Visual Graph. FlipBook Blend and FlipBook

FlipBook Blend делает плавный переход между кадрами. Этот метод лучше чем обычный FlipBook подходит для тех, кто использует медленный Frame Rate в Flipbook Player.



среда, 17 января 2024 г.

Visual Effect Graph - Tutorial #03 - Dots Grid (Intermediate)

Заметки по Unity Visual Graph. Параметр Ветер в локальной системе частиц.

Ветер это просто Vector3. Если ваша система координат Local, а влияние ветра должно быть в не зависимости от поворота пивота эффекта.
Используем ноду Transform (Vector). На картинке видно, что Velocity тоже проходит через Transform (Vector). И как бы мы не поворачивали объект эффекта направление всегда будет вверх Y3 в мировых координатах. Параметр Wind настраивается внешними скриптами и все эффекты в локальных координатах должны отклоняться по ветру в одном направлении. 






понедельник, 15 января 2024 г.

Заметки по Unity Visual Graph. Радиальное направление частиц.

 Направление частиц во все стороны

Знаю 3 способа:
1. Set Velocity (Uniform) . Минус в том, что при плотоном распространении частиц мы получим куб или параллелепипед. Можно размешать турбулентностью и будет почти незаметно :) .

понедельник, 27 ноября 2023 г.

Maya звук не работает во время проигрывания

Загруженный звук виден на временной шкале, проигрывается если двигать мышкой фреймы. Но во время проигрывания не работает. Просто включите Playback Speed -> Real-time.

среда, 28 июня 2023 г.

Assign height to vertex color in Maya and Designer

Assign height to vertex color in Maya and Designer

First, we take height in Amplify Shader editor
Insert mesh in Resource. We drag and drop mesh file from Explorer.

We bake Position Map from Mesh (1) with setup (2)


We connect bake texture to output.


In Maya we run F2->Mesh Display->Paint Vertex Color Tool. And go import texture.

It is done!



среда, 17 августа 2022 г.

Последовательность производства бега и ходьбы для персонажа

  1. Для начала надо определиться со скоростью персонажа. Надо измерить скорость ГГ и подставить  в сцену персонажа на примере движения кубика. 
  2. Сделать смещение Pelvis вперед согласно скорости кубика, анимацию кривой сделать надо Cycle with offset, а потом подставлять ноги. Но иногда скорость персонажа зависит от длины ног. Таз подпрыгивает и смещается вперед без поворотов. 
  3. Сделать смещение Pelvis  интервальное смещение по высоте. Надо создать цикл.
  4. Настроить перемещение одной ноги. Нужны точки на уровне референса привязанные к Pelvis для выставления позиций 0 и последнего кадра. Проверить чтобы движение было без излишнего натяжения ноги и "щелчков колена".
    1. Бывает бедро ноги дергается, для этого создаем кубик вытягиваем его в виде косточки, ставим в место кости бедра. 
    2. Приконстрейнтиваем кубик к кости и запекаем анимацию кубика. Потом чистим анимацию кубика, чтобы не было рывков.
    3. Затем выставляем положение стопы и вращение голеностопного сустава так чтобы бедро ноги примерно повторяло движение кубика. Так мы избавимся от рывков.
    4. Удалить кубик.
  5. Создание анимации второй ноги:
    1. Создать кубик и приконстрейнтить его к контроллеру стопы.
    2. Запечь анимацию кубика, отконстрейнтить и сместить анимацию на пол цикла.
    3. Сделать анимацию кубика цикличной infinity. Сместить кубик в по одной оси в сторону второй ноги.
    4. Приконстрейнтить другой контроллер ноги, тот который еще не заанимировали.
    5. Запечь анимацию стопы.
    6. Отконстрейнтить от кубика контроллер стопы.
    7. Удалить кубик. 
  6. Сделать анимацию контроллера головы. Лучше если контроллер головы будет сделан через Aim Constraint.
  7. Сделать цикличное вращение спины в плечевом поясе.
  8. Сделать анимацию плечевых точек.
  9. Сделать анимацию рук. 

понедельник, 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