Студопедия — Льющаяся из трубы вода
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Льющаяся из трубы вода






Попробуем применить систему частиц для имитации льющейся из трубы воды, падающей в наполненный водой бассейн. Смоделируйте в качестве основы сцены стену с вмонтированной в нее трубой, прямоугольный бассейн и пока совершенно гладкую поверхность воды.

Создайте систему частиц Blizzard, направ-ленную горизонтально в направлении от стены, отрегулируйте размеры эмиттера, чтобы он вписывался в сечение трубы, и поместите систему частиц внутрь трубы. В свитке ParticleGeneration увеличьте для системы частиц значение параметра UseRate примерно до 200, так как частицы должны двигаться очень плотно, а в свитке

ParticleType установите для частиц тип Standard Particles=> Sphere. На самом деле при окончательной визуализации частиц должно быть больше, а сами они должны быть представлены не сферами, а метачастицами, которые, в отличие от обычных сфер, сливаются друг с другом наподобие реальных водяных капель, но в таком случае промежуточный рендеринг будет отнимать слишком много времени, что неразумно на этапе разработки. В области ParticleTiming свитка Particle Generation настройте параметры испускания частиц так, чтобы все они жили на протяжении всех кадров анимации, а в области Particle Size обнулите значения параметров GrowFor и FadeFor, чтобы частицы не меняли своего размера на всем протяжении анимации (а значит, поток воды был примерно одинаковым). Учитывая, что частицы выбрасываются из трубы под давлением, установите источник деформации типа Motor (Мотор), который создаст центробежную силу, неизбежно возникающую при выходе воды под напором из трубки. Отрегулируйте ориентацию значка деформации, учитывая, что сила воздействия направлена вокруг оси мотора, при необходимости подкорректируйте положение источника (его центр должен совпадать с центром системы частиц) и свяжите его с системой частиц при помощи инструмента BindtoSpaceWarp. Частицы при движении станут вращаться.

 

Рано или поздно частицы должны падать на землю под воздействием силы тяжести, поэ-тому создайте гра-витационный ис-точник деформа-ции, выбрав в кате-гории Forces тип объекта Gravity. Удостоверьтесь, что нормаль источ-ника гравитации направлена вниз, при необходимос-ти подкорректи-руйте положение источника и свя-жите его с систе-

 

мой частиц при помощи инструмента Bind to Space Warp. Теперь частицы, немного отлетев от эмиттера, будут падать вниз. Установленные по умолчанию настройки гравитационной силы в данном случае кажутся чрезмерными, поэтому уменьшите значение параметра Strength (Сила) так, чтобы частицы не столь быстро изменяли траекторию, но не переусердствуйте, так как вода все же должна попадать в бассейн, а не за его пределы.

 

Теперь следует вспомнить, что струи воды, достигая поверхности бассейна, должны отражаться от нее в виде брызг. Для имитации подобного эффекта установите плоскостной отражатель Deflector (тип объектов Deflectors из категории SpaceWarps). Размеры плоскости отражателя должны быть не меньше размеров плоскости воды, а сам отражатель должен располагаться чуть выше водной поверхности. Свяжите отражатель с системой частиц — они станут отскакивать от поверхности отражателя (а значит, и от поверхности воды).

По умолчанию значение па-раметра Bounce (Отскок), регулирующего силу отско-ка частиц от отражателя, равно 1 — это означает, что отраженная частица сохра-няет скорость, с которой она ударилась об отража-тель. Уменьшите значение силы отскока, так как в действительности отскаки-вающие частицы должны терять часть своей энергии, и увеличьте трение (пара-метр Friction).

 

 

Поскольку струи воды ста-ли полностью выплески-ваться из бассейна, верни-тесь к источнику гравита-ции и подкорректируйте значение гравитационной силы. Учитывая, что отскакиваю-щие от поверхности воды капли должны двигаться хаотично, увеличьте зна-чение параметра Chaos,

регулирующего степень изменения угла отскока. Проведите рендеринг одного из промежуточных кадров, и вы заметите, что отскакивающие капли воды размера не меняют, в то время как в действительности они должны быть гораздо меньше, да и движение частиц должно быть хаотичным. Поэтому выделите систему частиц и подрегулируйте параметры FadeFor и Variation из группы ParticleSize и параметр Variation из группы ParticleMotion (свиток ParticleGeneration). После этого увеличьте размер частиц (параметр Size в группе ParticleSize) до 3, 5, чтобы они полностью слились друг с другом.

Назначьте поверхности воды (она представлена объектом QuadPatch с большим числом разбиений по всем направлениям) модификатор Ripple (Рябь), настроив его параметры примерно так, как показано на рисунке. В заключение число частиц в системе было увеличено до 600, а тип их представления при визуализации был изменен на метачастицы (MetaParticles).  

 

Окончательный вид одного из визуализированных кадров с льющейся водой представлен на рисунке.

Затем создайте для воды (водных струй и водной поверхности бассейна) под-ходящие материалы. В дан-ном случае вначале был соз-дан один Blinn-материал с параметрами как на рисунке ниже, который был назна-чен для поверхности воды, а потом сделана его копия, в которой были изменены некоторые базовые парамет-ры (текстурные карты остались те же), — данный материал был назначен водяным струям.

 

 

Швейцарский сыр

Выполните следующие действия:

1. Перезагрузите 3d studio max.

2. Перейдите на вкладку Create (Создание) командной панели, выберите в категории Geometry (Геометрия) строку Standard Primitives (Простые примитивы) и нажмите кнопку Sphere (Сфера). Создайте сферу в окне проекции.

3. Перейдите на вкладку Modify (Изменение) командной панели и задайте для объекта следующие значения параметров: Radius (Радиус) – 50, Segments (Количество сегментов) – 70.

Установите флажок Slice On (Удалить) и выберите значение параметра Slice From (Удалить от) равным 90, чтобы получить полусферу. Поверните объект вокруг оси Y на 90°. Получилась заготовка для создания куска сыра (рис. 1).

Рисунок 1. Заготовка для создания куска сыра получена из сферы.


4. Теперь нужно создать объекты, которые будут вычтены из полусферы, в результате чего получатся «дырки». Для этого используем источник частиц PCloud (Облако частиц) (рис. 2). Ширина источника частиц (Width (Ширина)) должна быть равной диаметру, то есть 100, а его высота (Height (Высота)) – радиусу сферы, то есть 50.

Рисунок 2. Создание системы частиц.

5. Выровняйте объекты, чтобы плоскость с частицами расположилась возле поверхности сыра. Для этого выполните команду Tools –> Align (Инструменты –> Выравнивание) и щелкните на сфере. В появившемся окне установите флажок Y Position (Y-позиция) и установите переключатели Current Object (Объект, который выравнивается) и Target Object (Объект, относительно которого выравнивается) в положение Minimum (По минимальным координатам выбранных осей). Нажмите кнопку Apply (Применить), после чего установите флажки Z Position (Z-позиция) и X Position (Х-позиция) и установите оба переключателя в положение Center (По центру). Нажмите кнопку ОК (рис. 3).

Рисунок 3. Источник частиц выровнен относительно сыра.

6. Чтобы частицы отображались в виде сфер, в свитке Basic Parameters (Основные параметры) настроек источника частиц установите переключатель Viewport Display (Отображение в окне проекции) в положение Mesh (Поверхность), а переключатель Standard Particles (Обычные частицы) в свитке настроек Particle Type (Тип частиц) – в положение Sphere (Сфера).

7. В свитке Particle Generation (Генерация частиц) увеличьте размер частиц, задав параметру Size (Размер) в области Particle Size (Размер частиц) значение 12. Чтобы сферы имели разный размер, увеличьте значение параметра Variation (Разброс) до 40. Если сферы расположены неудачно, можно подобрать другое положение частиц, нажав кнопку New (Новый) в области Uniqueness (Уникальность) (рис. 4).

Рисунок 4. Теперь частицы отображаются в виде сфер разного размера.

8. Источник частиц не может участвовать в булевых операциях, поэтому используйте инструмент Snapshot (Снимок), чтобы превратить частицы в единый объект. Для этого выделите объект в окне проекции и выполните команду Tools –> Snapshot (Инструменты –> Снимок). В открывшемся окне установите переключатель Clone Method (Метод клонирования) в положение Mesh (Поверхность) и нажмите кнопку ОК. Спрячьте источник частиц, он больше не понадобится.

9. Щелкните на названии окна проекции правой кнопкой мыши. В появившемся контекстном меню выберите команду отображения ребер сетчатой поверхности объекта – Edged Faces (Контуры ребер). В этом режиме видно, что частицы имеют недостаточно сглаженную форму, поэтому примените к ним модификатор MeshSmooth (Сглаживание поверхности). Установите в свитке настроек Subdivision Amount (Количество разбиений) значение параметра Iterations (Количество итераций) равным 3.

Убедитесь, что в свитке Parameters (Параметры) переключатель булевой операции установлен в положение Substraction (Вычитание), и нажмите кнопку Start Picking (Начать выбор) в свитке Pick Boolean (Выбрать булевый объект). Выделите объект со сферами. После выполнения операции булевого вычитания получится кусок сыра (рис. 5).

 

А это получиться если его порезать.... (рис. 7, если вам интересно - модификатор slice: -)):

Рисунок 7. " Нарезанный" кусок сыра.

 

Трава стандартными средствами 3ds Max + система частиц.

В результате, как мне кажется, я нашёл оптимальный и неординарный вариант моделирования и быстрого (все относительно) рендера травы.

Открываем макс, настраиваем единицы измерения: меню → CustomizeUnits Setup… → отмечаем точку рядом с «Metric» и выбираем в строке ниже CentimetersOK, теперь все размеры в сцене будут в сантиметрах. Идем в меню → Create → Shapes → Rectangle, чертим в окне «Top» прямоугольник размером 200, 0 cm на 200, 0 cm.

Применяем модификатор Garment Maker, параметр Density поднимаем таким образом, чтобы плотность сетки получилась примерно как на рисунке (не увеличивайте сразу намного — компьютер может надолго задуматься).

Заранее в Photoshop-е нарисована вот такая текстура:

Идем в список модификаторов и применяем к плоскости, которую я назвала «Ground001», модификатор Displace. В разделе Image: под надписью Bitmap: жмем кнопку None и указываем путь к нашей текстуре, в разделе Displacement: устанавливаем параметр Strength равным 10, 0 cm или больше, как кому нравится, это будет высота неровностей на почве.

Конвертируем то, что получилось, в Editable Mesh (правой кнопкой на названии модификатора Displace и нажимаем Collapse All), дублируем получившейся объект, соответственно, дубликат будет называться «Ground002» и временно скроем копию (Display → Hide Selected). Снова кликнем по Ground001, заходим в Editable Mesh → Polygon, выделяем все нижние полигоны и удаляем их.

Применяем модификатор FFD(box)7х3х2 и, манипулируя контрольными точками…  
Теперь создадим собственно травинки, в окне Front рисуем Plane размером приблизительно 15, 0 cm на 1, 5 cm с сегментами 10 на 2 соответственно.

Используя модификатор Edit Mesh, на уровне подобъекта скопируем нес-колько раз нашу травинку, уменьшая и поворачивая копии, мы получим вот такой травяной «кустик»: Важно! Теперь необходимо выполнить еще два действия: 1. на боковой панели зайти на вкладку Hierarchy, нажать кнопку Affect Pivot Only, это позволит переместить центр координат объекта в нужное положение, в нашем случае это самое основание «кустика», как бы точка, откуда растут травинки; 2. во вкладке Utilities нажмите кнопку Reset XForm и ниже еще одну Reset Selected, перейдите во вкладку Modify, нажмите правой кнопкой на названии «XForm» и выберите Collapse All. Естественно, при этом, объект Blade001 (так я назвал нашу травку) должен быть выделен.

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

 

Ну, вот подготовительную работу мы сделали, приступим к созданию газона. На вкладке Create в выпадающем меню найдите группу объектов Particle Systems и создайте в любом месте сцены (положение не имеет значения) объект PArray. Да, да не удивляйтесь именно систему частиц мы и будем использовать для генерации травяного покрова! Перейдем на вкладку Modify.

Теперь в разделе Object-Based Emitter нажимаем кнопку Pick Object и указываем в качестве эмиттера «Ground001», в разделе Viewport Display ставим точку напротив Mesh, в окошке рядом с Percentage of Particles ставим 100%, в группе команд Particle Generation, в разделе Particle Quantity точку напротив Use Total и ниже вписываем 5000 (это общее количество частиц), в разделе Particle Motion – Speed: 0, Variation: 0, Divergence: 0; в разделе Particle Timing – Emit Start: -30 (минус 30), Emit Stop: 0, Display Unitil: 100 (или до конца активного участка), Live: 130 (или как минимум, на 30 кадров больше чем Display Unitil), Variation: 0.

Далее переходим к группе команд Particle Type, ставим точку напротив Instanced Geometry, в разделе Instancing Parameters нажимаем кнопку Pick Object и кликаем на нашу травинку (Blade001), вернемся в группу команд Particle Generation и в разделе Particle Size выставляем размер травинок (Size), у меня стоит: 0, 03cm, но вы можете поставить больше или меньше, смотря какой высоты, требуется трава. Зайдем в группу команд Rotation and Collision и в разделе Spin Speed Controls поставим, Phase: 50, Variation: 50, это отрегулирует хаотичный поворот и наклон травинок. Смотрим что получилось.

Однообразно, если честно, давайте-ка создадим второй вид травы, но с другими листиками, вот, примерно так: Примечание: для того что бы во время работы не возникали «тормоза», в настройках не-активной PArray необходимо изменить отображение час-тиц. В разделе Viewport Dis-play вместо Mesh, включить, к примеру, Dots, Ticks или BBox.

Назовем новую травку Blade002, скопируем объект PArray001, у нас получится вторая система частиц PArray002, зайдём в настройки и в группе Instancing Parameters жмем на кнопку Pick Object и кликаем на нашу травку №2 (Blade002), еще необходимо нажать на маленькую кнопочку New в группе Particle Generation, в разделе Uniqueness для того чтобы новая травка не располагалась в тех же местах, что и первая. Еще я увеличил общее количество травинок в разделе Particle Quantity до 8000.

Ну что ж, теперь плоскость Ground001 можно спрятать через кнопочку Display → Hide Selected и вытащим на свет объект, который будет изображать землю Ground002 кнопкой Unhide by Name.

Займемся материалами. Накладываем текстуру земли, например вот такую, или по вашему желанию любую другую.

Создадим материал травы:

Я не стал в рамках данного урока использовать сложные VRay-евские материалы — это тема для отдельного тутора а, использовал обычный Max-совский Standard, настройки на картинке, при желании, возможно, использовать текстуру. Для второй травы материал точно такой же, только изменил слегка оттенок и яркость. Теперь необходимо добавить освещение, я поставил всего лишь один Target Direct с тенями VRayShadow, включил GI, ну, и положил HDR на Environment. Здесь я не буду вдаваться в подробности, ищите уроки по настройке V-Ray. Смотрим картинку:

Уже лучше…Для натуральности не мешает добавить сухой травы и длинных стебельков с помощью тех же систем частиц PArray.

Сделаем кустики с длинными травинками и с помощью уже известного метода рассадим их, уменьшив их количество.

Добавим колосков. Создадим плоскость, на которую будем назначать текстуру колоска. Не забываем перенести опорную точку плоскости. Для материала плоскости будем использовать фотографию мятлика, из которой в фотошопе сделаем 2 текстуры: одна – с изображением цветного мятлика на белом фоне, другая – белый силуэт мятлика на черном фоне. В редакторе материалов создаем стандартный материал: в diffuse вешаем цветную картинку на белом фоне, в Opacity – черно-белую. Поставим галочку 2-sided, чтобы материал был двухсторонним. С помощью предыдущего метода раскопируем плоскости по поверхности. Если на визуализации не будет видно материала, то его следует назначить излучателю частиц.

 

Добавим посторонних деталей. Ну, вроде и все.

 

 







Дата добавления: 2014-11-10; просмотров: 579. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия