? Меня зовут Александр Опланчук 29 лет
English Russian
Live Здравствуйте, дорогие любители RENDER.RU. Вот спустя некоторое время решил написать собственный ...
Главная   Уроки   Библиотека   Документация   Знания

3D инженерия и 3D моделирование, человеческое тело в 3D 3D инженерия и 3D моделирование, человеческое тело в 3D

3D инженерия и 3D моделирование, человеческое тело в 3D 3D инженерия и 3D моделирование, человеческое тело в 3D

3D инженерия и 3D моделирование, человеческое тело в 3D 3D инженерия и 3D моделирование, человеческое тело в 3D

Новости

3D моделирование - воплощение любой фантазии
В настоящее время компьютерная графика проникла во все сферы человеческой деятел...
3D моделирование и визуализация
  Создавая какую-то фигуру или элемент трехмерной графики, перед самим дизайнеро...
Создание нерегулярных сложных объектов
Основной проблемой при создании таких объектов является постоянное видение объе...
Home Вы здесь:: 3D инженерия Уроки Меня зовут Александр Опланчук 29 лет
 

Модели

3D моделирование - воплощение любой фантазии
В настоящее время компьютерная графика проникла во все сферы человеческой деятельности. Черчение, рисование, моделирование и даже проектирование – все это сфера ...
3D моделирование и визуализация
  Создавая какую-то фигуру или элемент трехмерной графики, перед самим дизайнером стоит не только цель сделать его правдоподобным, но и по максимуму сделать его яр...
Создание нерегулярных сложных объектов
Основной проблемой при создании таких объектов является постоянное видение объекта. Используются и начальные наброски объекта, и его модель. Второе, безусловно, л...
Общие принципы создание 3D-моделей
Все объекты 3D-моделирования делятся по своей форме на простые и сложные. Простым объектом может быть электрическая лампочка, сложным объектом можно считать дерево...
Рельефное структурирование
Рельефное структурирование появилось после нормалмаппинга и представляет собой метод наложения структур, базирующихся на информации о глубине. Изначально метод ...
Нормалмаппинг
Нормалмаппинг - это усовершенствованная техника бампаппинга, ее расширенная версия. При этом методе наложения рельефности нормали изменяются на основе информаци...

Вход для авторов



 
   
Меня зовут Александр Опланчук 29 лет
15.07.2011 10:54

Меня зовут Александр Опланчук, 29 лет. Родился в городе Алма-Ата. Увлекаться 3Д графикой начал в далеком 1994 году, когда у меня появился первый PC 386. Закончив школу поступил в Томский государственный университет на Радио Физический факультет. Проучившись год перевелся в Питер в Политех на ту же специальность. Вспомнил я о 3д графике на 3-м курсе, когда пошел на военную кафедру, нужно было в 3д сделать презентацию работы ЗРК с300. И как то все поехало, закрутилось. Начал усиленно изучать моделлинг в Lightwave3d, устроился в студию в Питере "VideoSfera", делал 3д модели, несложную техническую анимацию для различного рода рекламы.
В 2004 году перешел в студию "Бегемот", которая наверное и дала основной толчок в развитии. Студия занималась в основном постродакшеном различных сериалов и рекламой, бесценный опыт был приобретен в процессе работы над сериалом "Мастер и Маргарита", потребовалось из  3д моделлера\аниматора\rendering стать композером и изучить основы композитинка в Shake и After Effects, узнать о существовании match moving а так же познакомится с Maya, любовь к которой не прекращается и по сей день.
После распада студии "Бегемот" в 2007, образовалась студия "V-jet", в которой я проработал до конца 2008 года. И вот работаю в студии "V-jet" пришло предложение от студии "Dago"(в которую я и перешел в последствии работать после окончания работы над подводными эпизодами) поработать студии над кинофильмом "Адмирал".
В общей сложности необходимо было сделать 6 подводных планов с миной, которые в последствии переросли в 16 =)) Работая  в одиночку от начала и до конца на эти 16 эпизодов было потрачено около 9 месяцев, сюда входит все начиная  текстуринга\освещения\рендеринга\анимации\particle FX dynamics и прочего, заканчивая финальным композитингом.
В процессе работы возникало очень много задач порой с очень нетривиальным решением, и об одной такой задачи я хотел бы вам рассказать ниже.

Задача данного урока показать, как можно в Maya реализовать эмиссию пены с объектов находящихся на водной поверхности Maya ocean shader.

Итак приступим.

1. У нас есть базовая сцена в которой есть мина качающаяся на волнах. Отображение oceanShader реализуется посредством Preview Plane который расположен Dynamics-> Fluide Effects -> Ocean -> Add Preview Plane   Создайте Preview Plane   и средней кнопки мышки перетащите в область displacement ваш oceanShader.

2.Создаем nurbs plane с достаточной детализацией. Чем плотнее сетка тем точнее будет выглядеть кривая соприкосновения мины и поверхности океана. После создания и перемещения nurbsplane в то место где у нас мина идем в Modify->Freeze transform и замораживаем трансформации по всем параметрам.

3. Выделяем нурбс плеин и идем закладки dynamics->Soft/Rigid Bodies->Create Soft body->Make soft. В результате появится particle shape на нашем Nurbs Plane. Выбираем его. Идем в свойства Particle Shape в раздел Per Particle (Array ) Attributes. ПКМ на сторчке Position-> Runtime Expression After dynamics и добавляем туда следующие строчки:

vector $ppos =nurbsPlane2ParticleShape.position;
float $pu = $ppos.x;
float $pv = $ppos.z;
float $cpoint[] =`colorAtPoint -u $pu -v $pv WhiteCaps_oceanShader1`;
float $py = $cpoint[0];
nurbsPlane2ParticleShape.position = >;

где nurbsPlane2ParticleShape - название вашего Particle shape

WhiteCaps_oceanShader1 - название вашего ocean Shader.

4. Так как операции по вычислению положения каждой вершины нурбса занимает достаточно много времени то на данном этапе нужно сделать Bake simulation. Для этого в режиме F8 выбираем все контрольные точки nurbs plane и идем в звкладки edit->keys->Bake simulation Hierarchy - Selected Channels - All keyable Contol points Shapes и нажимаем Bake. Теперь можно пойти выпить чаю, так как процесс не быстрый и зависит от того насколько плотную сетку вы в начале сделали на nurbs plane. После процесса bake Particle Shape нужно удалить. То есть теперь мы имеем nurbs plain который деформится так как мы настроили в ocean Shader.

5. Дальше нужно создать nurbs поверхность вашего объекта на волнах. В моем случае это обычный nurbs Sphere, который посредством констрейна прилинкован к мине. После того как вы создали его необходимо получить кривую пересечения поверности океана и только что созданного мной nubs Sphere. Для этого выбираем их обоих и идем в Surfaces-> Edit Nurbs-> Intersect Surfaces настройки показаны ниже на картинке.

После создания кривой выбираем ее и идем в Edit Curve->Rebuild Curve. Настройки показаны на картинке ниже.

Чем больше точек тем лучше, но тем более трудоемкими будут вычисления после. После создания этой кривой выделяем ее и так же как мы делали bake nurbs plane, точно так же делаем бейк контрольных точек кривой. Это займет достаточно много времени поэтому опять можно пойти попить чаю или кофе кому что нравится. После завершения процесса Bake убиваем исходную кривую из которой мы делали rebuild она нам больше не нужна.

6. Далее переходим к созданию эмиттера частиц. Выбираем нашу кривую и идем Dynamics->Particles->Emit from objects настройки как на картинке ниже.

Выделяем созданный эмиттер  Particles->Per-Point EmissionRates. Создаем вспомогательный локатор на который мы выведем некоторые параметры для более удобного контроля.В моем случае это locator2. Добавим на него несколько экстра атрибутов. Treshhold и max_rate. Их значения подбираются имперически исходя из потребностей, особенно это касается параметра Treshhold.

7.Для управления PP Emission rate создаем еще 1 партикал шейп для этого идем Particles-> Particle Tool   Particle Name - emission_control Number of particles = количество CV точек в вашей кривой. Идем в атрибуты созданного particle shape в раздел Per Particle (Array ) Attributes. ПКМ на сторчке Position-> Runtime Expression After dynamics и добавляем туда следующие строчки:

int $i = emission_controlShape.particleId;
float $rt = `getAttr "locator2.Max_rate"`;//Берем атрибуты с ранее созданного локатора
float $rndrate= rand(-$rt,$rt);
$Porog = `getAttr "locator2.treshhold"`;"`;//Берем атрибуты с ранее созданного локатора
float $V = `getAttr  -time (frame+0.5) intersectionCurve1_1rebuiltCurveShape1.cv[$i].yValue`-`getAttr  -time (frame) intersectionCurve1_1rebuiltCurveShape1.cv[$i].yValue`;
if (abs($V) > $Porog )
setAttr intersectionCurve1_1rebuiltCurveShape1.emitter1RatePP[$i] $rndrate;
else
setAttr intersectionCurve1_1rebuiltCurveShape1.emitter1RatePP[$i] 0;

Теперь у нас эмиссия на кривой зависит от значений treshhold и max_rate которые у нас выведены на locator2.

8. Далее мы хотим определить первоначальное направление эмиссии частиц с кривой исходя из напраление нормали ближайшей к точке эмиссии. Для этого в scrip editor вводим следующие команды:

createNode closestPointOnSurface;
createNode pointOnSurfaceInfo;

Теперь нужно соеденить shape нашего плавающего nurbs объекта (nurbsSphereShape1) с этими 2-мя нодами. Для этого выбираем closestPointOnSurface1 и nurbsSphereShape1(наш нурбс объект) идем Window->Hypergraph: Connections и соединяем nurbsSphereShape1.worldSpace to closestPointOnSurface1.inputSurface  

Либо в script editor вводим эту команду заменя имя на ваш Nurbs object.

connectAttr -f nurbsSphereShape1.worldSpace[0] closestPointOnSurface1.inputSurface;
connectAttr -f nurbsSphereShape1.worldSpace[0] pointOnSurfaceInfo1.inputSurface;

9. На particle1 (наши пенные частицы) добавляем creation expression:

particleShape1.mass= rand (0.8,1);//Создание рандомной массы
vector $pos = particleShape1.position;
float $pozx = $pos.x;
float $pozy = $pos.y;
float $pozz = $pos.z;
//определение нормали и скоростей
setAttr "closestPointOnSurface1.inPositionX" $pozx;
setAttr "closestPointOnSurface1.inPositionY" $pozy;
setAttr "closestPointOnSurface1.inPositionZ" $pozz;
float $u = `getAttr "closestPointOnSurface1.u"`;
float $v = `getAttr "closestPointOnSurface1.v"`;
setAttr "pointOnSurfaceInfo1.parameterU" $u;
setAttr "pointOnSurfaceInfo1.parameterV" $v;
float $velosx = `getAttr "pointOnSurfaceInfo1.normalX "`;
float $velosy = `getAttr "pointOnSurfaceInfo1.normalY "`;
float $velosz = `getAttr "pointOnSurfaceInfo1.normalZ "`;
float $rnd = rand(10,40);
particleShape1.velocity = >;
так же добавляем runtime after dynamics expression:
vector $pos = particleShape1.position;
float $px = $pos.x;
float $pz = $pos.z;
float $disp[] = `colorAtPoint -u $px -v $pz WhiteCaps_oceanShader1`;
float $py = $disp[0];
float $yDiff = $py - $pos.y;
float $suckForce = 0.12;
float $minElevation = 0.05;// min height of foam above water.
$py = $pos.y + $yDiff * $suckForce;
if( $py < $disp[0] + $minElevation){
$py = $disp[0] + $minElevation;
}
particleShape1.position=>;
particleShape1.velocity= particleShape1.velocity;

10. Выставляем Lifespan Mode - Random range, Lifespan - 2 , Life span Random 0,7 (это будит время жизни пены в секундах)

В звкладке Render Attributes выставляем Particle render type - MultiPoint multi radius - 1.4 Point size -1.

Не забываем выставить Conserve

Добавляем PP opacity и color. На колор вешаем градиент белого цвета. На opacity градиент от белого до черного, в завистимости от времени жизни частиц.

Добавляем поле гравитация и турбуленция. Параметры подбираем исходя из масштаба сцены.

И побольше экспериментируйте, теперь у вас для этого есть знания =)))))

Ну а мой результат пока я писал этот урок выглядит вот так:

Финальный композитинг, именно эта мина фигурировала в уроке:

Сайт автора: www.trisen.info

 
   
 
Ulti Clocks content

Новые поступления

Циклевка полов
Одним из самых лучших видов напольного покрытия можно назвать паркет. Состоящий из экологически чистой древесины, у него есть и масса других достоинств: практичн...
Значение 3D моделирования в нашей жизни
В наш век высоких технологий наука не стоит на месте. Большой популярностью сейчас пользуется 3D моделирование различных объектов. ...
Привет всем посетителям рендера! Я уже рассказывал о себе в прошлом making of
Привет всем посетителям рендера! Я уже рассказывал о себе в прошлом making of. С того времени коренных изменений в моей жизни не было, кроме 3D-Award на CGSociety за эту работу :-)....

Методы

3D моделирование в деятельности человека
Компьютеры, планшетные и настольные, равно как и компьютерные технологии прочно обосновались в нашей повседневной жизни. Очень часто их присутствия не замечают, однако компьютерные технологии широко применяются во в...
3D моделирование как способ визуализации в среде проектирования
В наше время компьютерная графика используется в качестве одной из методик проектирования в самых разных отраслях промышленности и предоставления услуг. В этом плане данный метод является очень удобным для визуализа...
История развития 3D моделирования и компьютерной графики
Компьютерная графика бывает двух типов — интерактивная и неинтерактивная графика. В последнем случае мы просто видим графический объект, например по телевизору или в компьютере, но не можем его изменить и манипулиров...
Введение в компьютерную графику и 3D моделирование
Сегодня существует очень мало аспектов нашей жизни, которые не зависели бы от компьютеров. Практически каждый день мы имеем дело с компьютерами — дома, на работе, когда снимаем деньги в банкомате, во время поездки в мет...
3D моделирование и программы для создания компьютерной графики
Для того чтобы создавать компьютерную графику, используется много разных программ. CAD: позволяет архитекторам и инженерам составлять проекты конструкций. Это акроним для автоматизированного проектирования. CAD предст...
 

Стоит попробовать

3D моделирование - воплощение любой фантазии
В настоящее время компьютерная графика проникла во все сферы человеческой деятельности. Черчение, рисование, моделирование и даже проектирование – все это сфера применения компьютерной графики. Голливудские фильмы ...

Документация

3DS Max: краткий обзор
У большинства современных дизайнеров слово «3D» ассоциируется с известной программой 3D Max, которая предназначена преимущественно для создания графических сцен и разработку качественной анимации. Не является удивите...
Top
Яндекс.Метрика
Travel Turne Tranzito
заказ контекстной рекламы