В век компьютерной графики
становится все труднее удивить зрителей
спецэффектами или трехмерными анимированными
персонажами. Со второстепенных ролей они выходят
на первый план. Казалось бы, при существующем
уровне средств трехмерной графики не составляет
труда поместить искусственный персонаж в такое
же искусственное и одновременно реалистичное
окружение. Однако, достаточно убедительных
примеров подобного рода не было. Ситуация эта не
уникальна для кино, и похожим образом обстоит
дело в компьютерных играх. Причины такого
положения дел и пути решения имеющихся проблем
можно понять, обратившись к какому-нибудь из
существующих программных средств создания
трехмерных окружений.Видимо,
наибольшую трудность для 3D моделирования
представляют ландшафты. Специализированных
ландшафтных пакетов считанные единицы. Для
персонального компьютера (далее ПК) это: Bryce 2, World
Construction Set, Vista Pro и, последний в списке, но не по
значимости, AnimaTek’s World Builder. World Builder имеет среди
этих пакетов самую короткую историю, но в то же
время очень хорошие шансы стать стандартным
универсальным средством моделирования
природной среды для нужд 3D графики.
Главная техническая
особенность моделирования ландшафтов в 3D
графике состоит в принципиальной разнице между
моделированием отдельного объекта и
моделированием целого окружения или среды, в
которой существуют эти объекты. Разница
выражается в том, что объект имеет смысл помещать
в окно редактора целиком, а среду - нет. Среда или
окружение имеют смысл только как протяженный
фон, попадающий в каждый отдельный кадр лишь
небольшой своей частью. При этом может оказаться,
что окружение не играет заметной роли в
сравнении с главными объектами в сцене, но, как
правило, оно гораздо больше и сложнее этих
объектов. Оба параметра - сложность и
протяженность - для всего окружения обычно лежат
далеко за пределами возможностей пакетов общего
назначения.
С другой стороны, очевидно, что
сложность 3D модели леса или горного массива иной
природы, чем модель персонажа. Крайне редко нас
интересует расположение отдельных деревьев в
лесу или геометрия каждой отдельной горы. Для
леса, например, в большинстве случаев можно
обойтись его характеристиками в среднем: средней
плотностью рассадки, средней высотой и
соотношением между численностью пород деревьев.
Задавшись такими параметрами и областью, в
которой нам необходимо посадить лес, мы, в
принципе, можем доверить рассадку леса
автоматической процедуре. Такая процедура
открывает новые возможности для художника, ранее
недоступные из-за неоправданной трудоемкости.
Таким образом, процедурный подход оказывается
жизненно важным для моделирования ландшафтов.
Воспользовавшись подходящими
процедурами можно без особого труда порождать
гигантские по размеру и сложности сцены. Но, если
нет эффективного алгоритма визуализации,
способного за разумное время построить
реалистическое изображение такой сцены в нужном
разрешении, то ценность процедурных моделей
становится сомнительной. Решение одной проблемы
порождает другую, более сложную: для ландшафтных
сцен нужен особо эффективный алгоритм. Понятно,
что одной только высокой скорости обсчета
полигонов далеко недостаточно, т.к. даже бедные
объектами сцены могут содержать миллионы
полигонов. Это заставляет существенно опираться
на процедуры автоматической поддержки уровня
детализации, особенно эффективные процедуры
удаления невидимых поверхностей и тому подобное.
Визуализация превращается из набора простых
процедур в сложную дорогостоящую технологию,
балансирующую между скоростью и качеством.
Большую сцену одинаково трудно
не только обсчитывать но и редактировать, если
только не предпринять соответствующих мер.
Обычно работа со сложными сценами опирается
сразу на несколько методов. Самый традиционный -
это иерархическая организация сцены,
облегчающая восприятие и манипулирование
объектами. Кроме того, каждый объект или
процедура должны иметь один или несколько
методов быстрого предварительного просмотра,
используемых при создании или модификации
объекта или эффекта. Наконец, дифференциальное
проектирование, описанное в разделе о
пользовательских интерфейсах, также может
значительно упростить и ускорить работу над
сложными сценами.
Эффективность пакета как
производственного инструмента можно оценивать
по скорости и точности, с которыми художник может
реализовать свой замысел. Для ландшафтных сцен
использование всего арсенала методов работы со
сложными сценами оказывается исключительно
важным. Если реализованы процедурные модели,
обсчет и эффективные методы работы с большими
сценами, но нет возможности обмена данными с
пакетами общего назначения, то ландшафты
останутся "вещью в себе". Если же такие
средства есть, то только в этом случае
ландшафтный редактор превращается в
действительно полезный инструмент для создания
окружения трехмерным объектам.
Ландшафтная специфика в пакете
выражается для пользователя в виде
специализированной библиотеки процедурных
моделей. Их роль в программах общего назначения
выражена не столь ярко и, как следствие, для
многих пользователей это экзотика. Поэтому стоит
кратко обсудить некоторые общие требования к
процедурным моделям.
Видимо, один из важнейших
параметров процедурной модели - это
"коэффициент усиления данных" или,
сокращенно, КУД. Он был введен в пионерских
работах по процедурному моделированию Биллом
Ривсом (William Reeves). Неформально, это отношение
объема выходных данных процедуры к объему ее
входных данных. Для простоты выходными данными
можно считать полигональную сетку модели. Если,
например, размер сетки несложной модели дракона
несколько килобайт и половина вершин этой сетки
была отредактированы руками (входные параметры),
а вторая половина получена отражением, то КУД
такого метода моделирования равен 2. Для леса,
рассаженного автоматической процедурой, число
деревьев может быть по крайней мере несколько
сотен. Модель дерева по сложности сравнима с
упомянутой моделью дракона. При этом объем
входных данных процедуры рассадки леса
измеряется единицами байт. Результирующий КУД
оказывается на 6-7 порядков выше.
Процедурная модель работает
как черный ящик, на входе которого несколько
параметров, а на выходе весьма сложный объект.
Поэтому важными требованиями является также
управляемость по входным параметрам и
интуитивная простота зависимости от этих
параметров. Весьма распространены такие модели,
в которых можно сделать только то, что получится,
а не то, что нужно, т.к. изменение параметров
приводит к непредсказуемым результатам. Такое
поведение типично для многих известных фильтров
в 2D редакторах; оно уместно скорее для игрушки,
чем для инструмента. Высокий КУД оказывается в
таких условиях бесполезным.
Широкоизвестный подход к
моделированию поверхности ландшафта использует
фракталы и их модификации. При высоком КУД
гибкость этого метода невелика. Если иметь ввиду
создание поверхностей с конкретными
специфическими деталями, то, после применения
фрактальной процедуры, пользователь остается
один на один с большой сеткой, лишенный
эффективных методов редактирования.
В World Builder'е использован более
гибкий подход, опирающийся на скелетные линии.
Скелетные линии естественно использовать для
описания особенностей ландшафтной поверхности,
таких, как линии водораздела и водотока. В
категорию таких особых линий попадают хребты гор
и русла рек. Кроме того, скелетной линией легко
задать общий абрис горы, работая при этом
практически в двух измерениях. Другая часто
используемая возможность - задать с помощью
скелетных линий изолинии рельефа. Детали любого
размера (не меньше, разумеется, разрешения
выбранной сетки) легко поддаются описанию
скелетными линиями. Поэтому площадка под замок,
легко задаваемая скелетными линиями с требуемой
точностью, естественно впишется в общий рельеф.
Применение процедур
фрактализации к скелетным линиям сохраняет их
общий вид при одновременном увеличении
реалистичных деталей поверхности. Скелетными
линиями легко управлять, как по отдельности, так
и группами. Благодаря этому можно с легкостью
задавать и редактировать сложные поверхности,
воспользовавшись библиотечными заготовками,
либо с нуля.
Следующий шаг после задания
скелетных линий - построение самой поверхности
ландшафта. На этом шаге моделируется процесс
эрозии. Входными данными модели являются
геометрия скелетных линий, интенсивность эрозии
и общие характеристики поверхности такие, как ее
шероховатость. Результат эрозии легко
предсказать. В настройке параметров процедуры
помогает также и окно предварительного
просмотра.
На практике выигрыш от
использования скелетных линий еще больше, если
воспользоваться библиотеками. С пакетом World Builder
поставляется богатая библиотека скелетов для
гор, холмов, каньонов, барханов, айсбергов и т.д. В
большинстве случаев достаточно просто
отбуксировать из библиотеки в окно редактора
любые понравившиеся рельефные формы.
Подход, опирающийся на
скелетные линии, открыт для обмена данными с
другими пакетами. Например, для более удобной
работы с архитектурными моделями в версии 2.0
предусмотрена возможность интерпретировать
сетку, импортированную из 3ds файла, либо как сеть
из скелетных линий, либо непосредственно как
фрагмент ландшафта. Фрагмент ландшафта,
прилегающий к архитектурной модели, таким
образом может быть идеально перенесен в
ландшафтный редактор вместе с моделью.
Для
размещения на поверхности ландшафта текстур,
объектов и растительности в World Builder'е
используется редактор областей. Область - это
внутренность многоугольника, заданного линией,
аналогичной скелетной. Области можно населять в
любых комбинациях текстурами (материалами),
растительностью, камнями и другими объектами, в
том числе импортированными из других редакторов.
Для области можно задать
условия размещения ее содержимого. Типичный
пример использования таких условий - это
моделирование положения снега на склонах гор:
снег естественно положить выше определенной
высоты, на не слишком крутых северных склонах.
Аналогично условия могут быть использованы для
растительности: некоторый тип деревьев может
расти в определенном диапазоне высот, экспозиции
и крутизны склона. Даже если исходная область
задана лишь в грубых чертах, условия размещения
позволяют существенно изменить и усложнить ее
геометрию.
Редактор
областей имеет несколько режимов показа
ландшафта: от схематичной физической карты до
детального фотореалистического изображения на
виде сверху. По карте можно передвигаться и
выводить ее на экран в любом увеличении. Области
можно редактировать как целое: перемещать,
копировать и удалять. К границе области можно
добавлять точки, перемещать их и удалять.
Области, геометрию и содержимое которых уже
настроили, можно заморозить и защитить от
случайного изменения.
Редактор областей - один из
главных инструментов пакета, т.к. незаменим при
текстурировании ландшафта и при "массовой
рассадке" объектов. В нем создается 90
процентов объема сложных сцен.
Для травы использована модель
на базе системы частиц. Травинки моделируются
как траектории частиц, движущихся в поле тяжести.
Травинки объединяются в пучки травы, а пучки
высаживаются небольшими "клумбами".
Благодаря такой иерархической организации
внешний вид травы варьируется
в широком диапазоне. Можно имитировать растущую
кочками траву на болоте или сплошную луговую
траву. Автоматическое изменение цвета и
возможность одинаково рассаживать разные виды
травы позволяют моделировать разнотравье.
Раскачивание травы от ветра также автоматически
моделируется и варьируется в широких пределах:
от легкого бриза до штормового ветра. Модель
травы поддерживает автоматический уровень
детализации. Аналогичных по эффективности и
эстетическому эффекту моделей травы в других
коммерческих пакетах пока нет.
 |
 |
| Примеры
диалогов с параметрами травы |
С пакетом поставляется
библиотека трав, которые могут модифицироваться
или использоваться как есть.
В World Builder'е имеется большая
библиотека растений, которые можно помещать
простой буксировкой прямо в сцену или в редактор
областей. Кроме того в пакет встроена
возможность моделирования новых типов растений.
Этой возможности нет ни в World Construction Set, ни в Bryce.
В основу моделирования
растений положена объектно-ориентированная
версия языка L-систем. Объектная ориентация
значительно усиливает традиционный подход,
позволяя наследовать компоненты уже
существующих моделей. Исходный код большинства
моделей поставляется с пакетом, что облегчает
работу над новыми растениями. Если уже есть
готовая L-система, то, изменяя стартовое значение
генератора случайных чисел, можно породить любое
количество экземпляров родственных растений.
Редактирование L-системной
модели происходит в окне текстового редактора,
встроенного в среду World Builder'а. С окном редактора
связан компилятор L-систем. После успешной
компиляции модель автоматически вставляется в
сцену и готова к использованию.
Хотя L-системы исключительно
мощное и гибкое средство моделирования, оно
предназначено для описания классов и видов
растений в целом. Если же возникает потребность
установить определенную ветку конкретного
дерева под определенным углом или убрать ее
вовсе, то можно воспользоваться "ручным"
редактором геометрии растений. Кроме изменения
геометрии, в нем можно ввести в растение новый
материал или изменить материал на любом элементе
растения.
Средства моделирования
растений в World Builder'е позволяют создавать
практически любые формы растительных объектов с
высокой достоверностью. Например, для одного из
продуктов была изготовлена серия ботанически
правильных моделей водных растений. При этом
остается открытой возможность моделировать
вымышленные формы.
В версии 2.0 добавлена
процедурная анимация деревьев на ветру. Даже
новичок может выбрать в диалоге Wind Wizard’а один из
нескольких типов анимации и нажатием одной
кнопки весьма натуралистично закачать дерево.
Так же легко смоделировать порыв ветра или
колыхание водорослей.
Реалистическое трехмерное
процедурное небо с процедурными облаками
управляется компактным набором параметров.
Облака могут плыть по небу на заданной высоте,
меняя при этом форму. Управляя цветовой палитрой
неба и облаков, можно придавать изображению
любые оттенки и настроения. В версии 2.0 число
слоев облачности может быть произвольным, а слои
могут располагаться на любой высоте. Например,
можно моделировать легкую дымку тумана над водой
или облака, скрывающие горную вершину. В новой
версии пакета добавлены процедурные звезды.
Моделирование отражения и
анимированная рябь создают весьма достоверную
воду. Прозрачность на мелководье и изменение
цвета на глубине усиливают эту достоверность до
фотографической. При этом, как и в остальных
моделях пакета, художнику предоставлена полная
свобода для создания необычных художественных
эффектов.
В версии 2.0 имеется возможность
автоматической прокладки дорог. При этом
автоматически отыскивается оптимальная
траектория по поверхности ландшафта. При
необходимости эта траектория может быть легко
отредактирована руками. Рельеф под дорогой
слегка изменяется и в нужных местах появляются
террасы, выемки или ступеньки на крутом подъеме.
Растительность по желанию художника может быть
удалена с дороги либо полностью, либо частично.
Поэтому одинаково легко строить как
автомагистрали, так и малозаметные тропинки в
лесу.
Автоматическая прокладка пути
камеры вдоль дороги позволяет с исключительной
скоростью и легкостью снимать ролики с проходом
или пролетом вдоль дороги. После создания
автоматическую траекторию можно
отредактировать по своему усмотрению. При этом
специальная процедура предотвращает
столкновение камеры с ландшафтом. Эту
возможность особенно оценят разработчики игр.
Объекты в World Builder'е можно
раскрашивать и текстурировать, помещая на них
различные материалы. Материал собирается из
строительных блоков - процедур визуализации.
Каждая процедура описывает некоторый набор
характеристик поверхности. Например, фотометрия
может быть описана одной процедурой,
использующей определенную физическую модель
отражения и поглощения света поверхностью.
Выбирая разные физические модели фотометрии, мы
можем изготовить разные фотометрические
процедуры. Другой пример - использование
процедур для помещения текстуры на поверхность.
Текстурная карта при этом моделирует
"собственный" цвет или окраску поверхности.
Универсальность процедур демонстрирует менее
очевидный пример - профилирование поверхности по
данным текстурной карты. В этом случае меняется
не столько цвет, сколько геометрия поверхности:
узлы сетки во время обсчета смещаются в
соответствии с текстурной картой профиля.
Любой эффект, создаваемый
процедурами, в версии 2.0 можно анимировать. При
этом можно анимировать не только числовые
параметры но и текстурные карты. Вместо
статичных текстур можно использовать .avi, .flc
файлы или последовательности кадров. При
комбинировании разных процедур открываются
исключительно широкие возможности для создания
анимированных материалов и эффектов. Можно
использовать процедурные 2D и 3D текстуры. Они
лишены эффекта периодичности, свойственного
обычным текстурам при многократном повторении
вдоль поверхности.
Качество визуализации текстур
является важным показателем пакета. В добавление
к стандартному механизму устранения зубчатости,
реализованы межэлементная фильтрация и
фильтрация текстурных карт, что радикально
улучшает качество визуализации текстур.
Разумеется, с пакетом
поставляется обширная библиотека материалов и
несколько сотен текстур: от различных видов
грунта и скал до растительных текстур.
Ни в одном пакете нельзя
предусмотреть всего, что может понадобиться
пользователю. Поэтому большинство популярных
пакетов имеет открытую архитектуру, что
позволяет дописывать модули расширения,
работающие в составе основного пакета. Версия 2.0
также имеет открытую архитектуру и может
дополняться модулями расширения. Возникает
возможность писать специализированные эффекты
или объекты, требующиеся для определенного
проекта по заказам пользователей World Builder’а.
Анимация была слабым местом
первой версии, но во второй ее возможности уже не
уступают популярным пакетам общего назначения.
Анимировать можно любой числовой параметр
модели, положение, размер и ориентацию объектов.
Для этого достаточно перейти в нужный кадр и
задать новые параметры. В соответствующем режиме
программы будет автоматически создан ключевой
кадр.
Анимация параметров
процедурных моделей позволяет моделировать
смену времен суток и времени года. Вместе с
процедурной анимацией травы можно моделировать
порывы ветра или совмещать рост травы с ее
колыханием на ветру.
Кроме традиционных камер в
версии 2.0 добавлены панорамы: круговая и
кубическая в стиле QuickTime VR. Круговая панорама
проецирует сцену на боковую поверхность
цилиндра и незаменима при создании
прокручиваемого кругового фона для игровых
приложений. Изображение сцены при создании
кубической панорамы проецируется на поверхность
куба. При воспроизведении фильма зритель смотрит
на куб изнутри. С помощью кубической панорамы
можно добиваться максимальной иллюзии
погружения, поскольку направление взгляда при
воспроизведении фильма ничем не ограничено.
Стоит упомянуть и тот факт, что
World Builder поддерживает практически все популярные
графические форматы, а результат обсчета может
быть записан сразу в нескольких форматах
одновременно. Поддержан обсчет по полям и
альфа-канал, необходимые для записи в
видеоформаты и видеомонтажа.
Как уже обсуждалось выше,
ценность ландшафтного пакета невелика, если он
лишен средств импорта и экспорта в другие пакеты.
Если модель персонажа сделана в технологии body parts
(т.е. модель составлена из отдельных жестких
частей, шарнирно соединенных между собой), то
импорт .vue файла из 3DStudio вместе с моделью
позволяет легко получить в World Builder'е
анимированный персонаж. Модель, использующую
сплошную деформируемую сетку, World Builder напрямую
импортировать пока не может, но позволяет
поместить изображение модели в ландшафт на этапе
последующей обработки, через совмещение
z-буферов. Отличие z-буфера от обычного растрового
изображения заключается в дополнительной
информации о расстоянии до видимой части
объекта, сопровождающей каждый элемент
изображения. Для поддержки этой технологии с World
Builder'ом поставляется модуль расширения для 3DStudio,
осуществляющий композицию z-буферов. К моменту
выхода версии 2.0 z-буферная композиция будет
поддержана также и для пакета SoftImage.
Есть возможность
экспортировать карту окружения объекта и
помещать отражение ландшафта на объект,
обсчитываемый в MAX’е (вспомните типичную задачу
для рекламного ролика автомобиля: отражение
ландшафта на зеркальных поверхностях движущейся
машины). Добавим, что World Builder также импортирует
данные в формате Vista Pro DEM и USGS DEM, т.е. открыт путь к
импорту оцифрованных данных о реальных
ландшафтах.
Интерфейс обеих версий пакета
полностью соответствует современным стандартам.
Набор основных инструментов версии 2.0 по составу,
положению на экране и функциональности близок к
3DStudio Max. При этом сохраняется высокая
преемственность с версией 1.0. Набор инструментов
включает: верхнее меню, окно с иерархией
объектов, редактор свойств объектов, аниматор,
редактор ключевых кадров (keyframer). Почти все
диалоги и инструменты немодальны, поэтому нет
необходимости переключаться между режимами или
"подпрограммами". Настройка на текущий
объект в сцене происходит автоматически, при
этом обновляется содержимое инструментальных
линеек, редактора свойств и меню. Свойства
объектов редактируются существенно
единообразно, независимо от их природы. Для
удобства поиска и восприятия свойства объектов
также организованы в иерархию. Все вместе это
спасает от мучительных вопросов "где же это
было?" - нужные инструменты всегда под рукой.
Обучившись работе с программой,
человек серьезный вправе ожидать продуктивного
выхода от ее использования. Кроме чисто
"мощностных" характеристик, типа скорости
обсчета и требований к "железу", далеко не
последнюю роль играет то, как предлагается
организовать работу в пакете. World Builder предлагает
пользователю дифференциальное проектирование.
Это новый метод ускоренной работы с 3D графикой.
Обычно добавления в сцену
происходят локально: здесь поменяли материал,
там подвинули объект или добавили новый. В
большинстве пакетов после этого придется
обсчитывать заново всю сцену. Идея
дифференциального проектирования состоит в
сохранении в z-буфере уже обсчитанной,
зафиксированной части сцены. Новый объект,
добавляемый в сцену, изменяется и раскрашивается
на фоне z-буфера. За счет этого достигается
высокая точность в подборе материалов, положения
и ориентации объекта. Если оценивать такой
подход при настройке материала, то преимущество
перед модальным редактором материалов
принципиальное, т.к. цветовой баланс объектов
достигается несравненно точнее и быстрее.
После настройки объекта его
изображение вместе с информацией о глубине
фиксируется в z-буфере. В результате, в цикле
"добавить объект - настроить его - перейти к
новому объекту" достигается значительная
экономия времени, т.к. каждый раз обсчитываются
лишь изменения в сцене. Отсюда название этой
технологии. Типичный сеанс работы в программе
выглядит как чередование шагов
дифференциального проектирования. Практически
все сцены, иллюстрирующие статью, построены с
использованием этой технологии.
Дифференциальное
проектирование помогает при разработке, но никак
не сказывается на скорости финальной
визуализации. Применение пирамидального z-буфера
значительно ускоряет визуализацию сложных сцен.
Скорость обсчета в обычных пакетах, использующих
алгоритмы ray-tracing/casting или scan-line, катастрофически
падает с ростом сложности сцены. В версии 1.0 с
ростом числа объектов время счета росло линейно.
Для пирамидального z-буфера, примененного в
версии 2.0, этот рост гораздо медленнее.
"Простые" сцены в новой версии без его
использования также обсчитываются заметно
быстрее. Пользователи Pentium Pro с несколькими
процессорами на материнской плате, также ощутят
заметный выигрыш при переходе на версию 2.0. В ней
обеспечена поддержка нескольких процессоров,
что особенно эффективно для сложных сцен.
Высокое качество распараллеливания ускоряет
обсчет на двухпроцессорной машине почти на 100%.
Для удаленных объектов,
трехмерность которых не столь существенна,
появилась возможность использовать двумерные
ширмы (flipboard). Отличие ширмы от трехмерного
объекта на большом расстоянии увидеть
практически невозможно, а на скорости обсчета
замена сказывается в лучшую сторону.
Для ускорения разработки в
новой версии добавлено универсальное окно
предварительного просмотра - окно, в котором
можно увидеть редактируемый объект или тестовый
объект с редактируемым материалом. Это окно
ничем не отличается от обычного с точки зрения
управления им, поэтому объект можно увидеть в том
же положении, освещении и прочих условиях, в
каких он существует в сцене. В окне
предварительного просмотра можно задавать любой
фон и даже использовать z-буфер с изображением
сцены.
Для процедурно анимированных
моделей (колыхание травы, ветер в деревьях, дрейф
облаков и т.п.) предварительный просмотр проходит
в реальном времени, если заказать прорисовку в
скелетных линиях. Если же для окна
предварительного просмотра выбрать
качественную прорисовку, то автоматически
создастся avi файл с пробной анимацией.
В версии 2.0 объем библиотек намного
превосходит объем того, что было в предыдущей
версии. Появилась архитектура (замки, дома, мосты,
хижины и т.д.), расширена библиотека ландшафтных
форм, появились новые растения, текстуры, в том
числе процедурные, новые камни. Для удобства
доступа к библиотечным объектам введена
иерархическая организация библиотек,
напоминающая Windows Explorer. Увеличение библиотек
должно сократить время разработки новых
проектов и вдохновить пользователей на
эксперименты.
Производительность ПК растет с
каждым годом и одновременно расширяются
возможности использования ПК для задач которые
раньше считались уделом мощных платформ. В том
числе это касается и использования 3D пакетов на
ПК для серьезных задач в видео и киноиндустрии.
Пакет World Builder еще не реализовал весь свой
потенциал в этой области и с выходом версии 2.0
больше пользователей смогут применить его там,
где раньше были бессильны даже
зарекомендовавшие себя пакеты. |