Render.ru

Опять про имитацию рисования

#1
Хочу сразу поблагодарить MaxWellа за совет. Спасибо. Но этто немного не то(поясню ниже) Было примерно следующее.

Был вопрос.

Есть робот, 7-ми звенный манипулятор, крутится, вертится, а главное описывает своим схватом(концом то биш) хорошую траекторию. И нужно чтоб эта траектория последовательно высвечивалась в видео. Сплайн-то есть но
что с ним делать? Вырисовывать, то нужно последовательно! Прошу помогите!

Ответ.

Попробуй использовать этот сплайн в качестве траектории для PathDeform, и пусти по нему цилиндр (ну или еще какой-нить подходяший примитив, думаю даже box больше подойдет), у которого анимируй высоту/ширину/длину (нужное подчеркнуть) с 0 до "сколько нужно".

Проблема в том, что манипулятор пишет слова, и поэтому получается немного неэкономично в плане полигонов, да и примитивы имеют ограничения по количеству шагов 200, к тому же неточности повторения пути. Можно конечно каждую букву прорисовывать, но это уж слишком муторно. По идее есть сплайн, должно быть средство его последовательной прорисовки. Или нужно обращаться к MaxScript? Подскажите в каком направлении двигаться!!! Заранее признателен.
 

MaxWell

Знаток
Рейтинг
33
#2
Если бы манипулятора не было, тобишь буквы (текст) появлялись бы слева направо (ну или еще как-нибудь, главное равномерно) сами по себе, без манипулятора, как будто лист бумаги, который их закрывает, убирают, то можно можно было бы это реализовать с помощью Boolean, вычесть box (к примеру) из текста, а потом анимировать операнд, который вычитаешь, в данном случае box. Box как раз играет роль листа бумаги, который убирают. Если Box полностью вычетает текст, то ничего не видно, если Box за пределами теста, то весь текст виден. Надеюсь, что понятно объяснил.... Честно говоря словами это трудно объянить, разве что на пальцах показать. :) Надеюсь мой комментарий поможет. :0)
 

Saplus 8804

Активный участник
Рейтинг
5
#3
Если вычитать бокс из текста получится банальная маска, режущая буквы, которую можно сделать любым видео-редактором за одну минуту. А нужно, чтобы буквы писались.
Лофтом не проще?
 

MaxWell

Знаток
Рейтинг
33
#4
Я сам сначала кому-то лофтом посоветовал, не получилось. Строится полностью весь объект, нельзя сечение довести, например, только до середины пути.
 
#5
Я то же пытался сначала лофтом но не вышло. Дело в том что конец манипулятора пишет буквы, как например карандашом обводить по контуру. Идея с листом, который как бы открывает их последовательно, действительно хорошая, но к сожалению это не выполняет задумку. Ведь буква рисуется по непрерывной траектории, то есть как нормальный манипулятор и должен делать(вообще то это модель манипулятора фирмы Нокиа).
 
#6
Я так понимаю есть сплайн - он же текст. Прерывается он или нет, особо не имеет значение. Сделай лофт - текст станет объёмным. Примени модификатор Slice, анимируй его SlicePlane.
 

Saplus 8804

Активный участник
Рейтинг
5
#7
Ну чего не получается лофтом-то?
Да, строится весь объект. Только у лофта вообще-то есть Scale модифер.
Втыкаем две точки на scale по XY.
ДО этих точек scale=100, а ПОСЛЕ scale=0 и двигаем их из начала в конец сплайна за нужный отрезок времени. Всё...
Делов на 10 минут...
Кто не понял - вот сделал для примера http://saplus.ru/misc/loft.jpg
 

MaxWell

Знаток
Рейтинг
33
#8
И так я тоже делал. :) Собственно это единственный способ лофтом анимировать "рост" объекта, который я нашел. Но были какие-то заморочки... Кажется с синхронизацией объекта, движущегося по этой траектории (в данном случае пера), и сечения, вырастающего с 0 до 100% (конец нарисованной линии).
 

Saplus 8804

Активный участник
Рейтинг
5
#9
Ну синхронизация объекта и роста лофта - это уже проблемы субъективного характера, а не метода. Все-равно, что "возникают заморочки с движением двух кубиков вокруг друг друга".
Если уж такая лень пробить ключи "на глаз" - у объекта, перемещающегося по пути в каждый момент времени есть % этого движения. Берем этот % и лепим на кейфрейм % сечения в этот момент.
 

MaxWell

Знаток
Рейтинг
33
#10
Дык ситуация тогда не упрощается. С учетом сложности пути. Я как бы все это говорю не ради спора, а чтобы найти оптимальное решение. Если конечно ничего лучше, кроме лофта, придумать нельзя, то...
 

Saplus 8804

Активный участник
Рейтинг
5
#11
Дык от сложности пути ничего не зависит, хоть круг рисуем, хоть слово "ПОПА". Воткнуть Constant velocity и всё. А если уж очень хочется неконстантного движения - вот только тогде подогнать придется кривую.
Ну это уже, как говорится, сам себе геморой не придумаешь, никто не придумает...
 

Saplus 8804

Активный участник
Рейтинг
5
#12
Кстати о птичках. Возникла мысль еще проще.
Делаем лофтовый текст (или сплайн, чего там нужно), на него просто опасити или блендовый материал по маске Gradient Ramp (которая по умолчанию на лофт ложится по длине от 0 до 100%).
Делаем наш gradient ramp Solid и втыкаем точку, делящую черное и белое.
Position этой точке делаем Float Expression и в экспрешшене создаем scalar variable.
Натравливаем этот variable на Percent движения по пути нашей фиговины, которая будет "писать".
Всё. Точка, делящая градиент будет двигаться за фиговиной, как ее не запусти...

Это по-простому с помощью опасити - точно также можно за фиговиной запустить и вышеобсуждавшиеся точки у лофта на Scale =)
 

babun

Активный участник
Рейтинг
5
#13
Есть вариант еще прощще. Сделать 5 одинаковых омниев, которые из белого обьекта, или сплайна будут превращать его в синий(если у нас белый лист бумаги.) делаем надпись прямо в листе plane 0.0.0. и text 0.0.0. Все омни освещают только текст.
А потом просто привязываем 1 омни к карандашу - ручке. Остальные расставляем по пути, и ставим кеи для интенсивности.
Имхо. Можно также сделать и болеан. Только как говорилось выше градиэнтом и опаситью...
 
#14
я всё так и зделал! про scale! но как с ним оперировать, ключи не слушаются, а с помощью curve editor не могу вот такую пойнт вставить, как на второй картинке,подскажите как? куда ткнуть!!!?
 

Вложения

#15
[/quote]
scale=100, а ПОСЛЕ scale=0 и двигаем их из начала в конец сплайна за нужный отрезок времени. Всё...
Делов на 10 минут...
Кто не понял - вот сделал для примера http://saplus.ru/misc/loft.jpg[/quote]
я не то что понял про scale, а как вообще за нужный отрезок времени перемещать? ключами не работает!!!
 

Saplus

Модератор форума
Команда форума
Рейтинг
548
#16
Ну на моей картинке видишь два поинта? Вот и анимируй их движение от 0 до 100.
При чем тут Def.Scale, ключи пробиваются на строках самих поинтов.
 
#17
Ну на моей картинке видишь два поинта?
я не про это. Спасибо за коммент, но оказалось, что я ключи вручную пытался расставить:) то ли у меня 3дээс глючит, но разобравшись, оказалось что ставишь на автокей и вуалля! анимация пошла! а сам если ключи ставишь не работает:( а я уже и в curve editor залезать бестолку стал:)
в любом случае благодарю, я разобрался!!!
 
Сверху