Link:INB Home|INB English| INB русский язык|INB العربية|INB Türkiye|INB فارسی|INB Español|INB Français|INB Português|INB Deutsch|INB 國語|INB 中文|INB 日本语|INB 한국어|INB ภาษาไทย|INB tiếng Việt||Уроки 3ds Max Моделирование водной поверхности
INB русский язык Форум
Добро пожаловать! inbforum.COM Интернет без границ Форум Здесь вы можете обсудить с друзьями по всему миру прений, приходите и присоединяйтесь к нам! Постоянный имя: Ruinbforum.forumotion.com
INB русский язык Форум

Добро пожаловать! inbforum.COM Интернет без границ Форум Здесь вы можете обсудить с друзьями по всему миру прений, приходите и присоединяйтесь к нам! Постоянный имя: Ruinbforum.forumotion.com


Вы не подключены. Войдите или зарегистрируйтесь

《《《《《《《上一页INBforum   Перейти вниз

上一页INBforum》》》》》》》Предыдущая тема Следующая тема Перейти вниз  Сообщение [Страница 1 из 1]

1Уроки 3ds Max Моделирование водной поверхности Empty Уроки 3ds Max Моделирование водной поверхности в Вс Окт 03, 2010 8:04 am

Admin

Admin
Admin
О моделировании водной поверхности в MAX'е написано достаточно много. Совсем простенькие примеры (вроде тех, что описаны в учебниках), если честно, производят впечатление скорее унылое. Качественная модель может потребовать значительных аппаратных ресурсов, создания специальных материалов, применения плагинов, не входящих в стандартный набор MAX и проч. Тем более обидно, если в итоге, после всех стараний и затрат, море получается... хм... мягко говоря... всё равно достаточно условным. Cтатичную картинку ещё можно «вытянуть» различными средствами компьютерной графики, но с анимацией в таком случае – просто беда. С другой стороны, анимация адекватной, но сложной модели морской поверхности может стать опять-таки проблемой, когда рендеринг одного кадра занимает хотя бы больше минуты процессорного времени.
Я попытался создать простую повторяемую анимируемую модель морской поверхности, используя стандартные материалы, стандартное освещение и стандартный рендеринг; я принял во внимание наиболее общие оптические свойства водной поверхности и постарался хотя бы имитировать эффекты, недостижимые без применения каустики (от которой я также отказываюсь ради сведения к минимуму времени визуализации); за пределами задачи остаётся и моделирование геометрии поверхности моря (а, следовательно, и крупных волн, «барашков» и проч).
Тем не менее получилась, на мой взгляд, довольно живая картинка.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Модель достаточно адекватно меняет картину водной поверхности при приближении, удалении и изменении угла наклона камеры.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
В зависимости от параметров и выбора цветов источников света, фона и проч., прохладное северное море можно с лёгкостью превратить во что угодно. Оно может служить элементом какой-нибудь пейзажной композиции...
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
... море можно превратить в тропический океан...
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
...коли придет желание изобразить какую-нибудь эффектную марину:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Короче... понадобится морской клип - не обязательно отправляться на Карибы: если не всё, то многое можно нарисовать дома Wink Тут я разместил для иллюстрации flv-ролик, но, видать, скрипт какой-то кривой - показывает через раз. Ну не Web я мастер. Впрочем, по этой ссылке ролик можно скачать и посмотреть любым flv-проектором - коли в браузере его не видно. Хм.
Особенностью этой модели является анимация специального источника света, имитирующего игру солнечных зайчиков на дне отмели. Видимо, именно эти блики (в сочетании с удачно подобранными оптическими характеристиками водной среды - отражением, преломлением и прозрачностью) и придают финальной сцене известную живость.
Поэтому при изложении приёмов построения модели я наиболее подробно остановлюсь, помимо характеристик материала воды, именно на освещении дна. В остальном же ограничусь достаточно беглым изложением этапов создания моря, благо в них нет ничего нового для освоивших азы обращения с приложением MAX. Ради воспроизводимости результата будут упомянуты (наряду с важными) в том числе и конкретные значения некоторых второстепенных параметров, мало влияющих на итог. Впрочем, какие именно параметры считать важными, а какие - второстепенными, заранее определить довольно сложно. Зыбкая это материя - морская поверхность...
Моделирование водной поверхности


Перед моделированием собственно водной глади создам виртуальный «мир» с небом и поверхностью будущего дна. Это необходимо, поскольку в будущем водоёме должно же отражаться небо; а вот там, где, по прихоти играющих волн, поверхность воды становится прозрачной, должно просвечивать дно.
Завожу геосферу радиусом 800 метров (этого, полагаю, хватит) с координатами (0,0,-105) (все линейные размеры даются в метрах).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Воздействую на неё модификатором EditPoly, выделяю все полигоны и обращаю нормали в свитке EditPoligons (это необязательно, но удобно – чтобы не беспокоиться впредь специально о том, чтобы источники освещения сцены не закрывались этой нашей «небесной твердью»). Далее применяю модификатор UVW Mapping, выбрав в его свитке Parameters опцию Spherical – чтобы иметь возможность управлять нанесением текстуры.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Текстуру для неба можно сочинить в Photoshop’е или в каком-либо другом графическом редакторе, чтобы получилось что-то в этом роде:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Надеюсь, что приёмы создания «бесшовных» картинок вами уже усвоены, если же нет – постарайтесь, чтобы камера не смотрела в неудачную часть «небес». Создаю первый материал модели – для небесной сферы. Это - стандартный материал, использующий растровую текстуру в карте Diffuse Color с весом 90, Self Illumination – 100 и значениями цветов Ambient и Diffuse 18 42 56 (голубой) и 120 190 230 (синий) соответственно. Распределение света по Blinn’у; значения для блика (Specular Level, Glossiness и Soften) - 0, 0, и 0,1 соответственно. Впрочем, поскольку в данном материале используется самосвечение на 100%, последние параметры не столь уж важны (вообще большинство параметров, равно как и выбор исходного материала для текстуры небес определяются задачей композиции и могут «плавать» в достаточно широких пределах). Присваиваю нашей геосфере этот материал (я так и назвал его «небо»). Ставлю точечный источник света. Тени отключены, интенсивность – 1, координаты – 0,0,0. Назову и его также - «небо». Единственное его предназначение – освещать купол небес
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Помещаю направленную камеру с координатами x=150, y=141, z=17, объективом 46мм и «мишенью» в области x=144, y=-60, z=-15. Самое время посмотреть, что получилось в поле зрения камеры. Так, ничего особенного, всё ожидаемо… небо вроде бы готово.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Дном служит плоскость 2000м на 2000м с координатами x=162м y=10м z=-7м. Материал для дна – также стандартный. За основу я взял растр SPONGE.JPG из библиотеки 3DSMAX... но вообще-то можно использовать любое изображение каменистой или песчаной поверхности, сделав его бесшовным:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Значения Ambient и Diffuse 26 27 10 (тёмно-зелёный) и 182 219 119 (салатный) соответственно. Распределение света по Blinn’у; значения для блика (Specular Level, Glossiness и Soften) - 0, 10, и 0,1. Используются карты текстур Ambient Color (50), Diffuse Color (20) и Bump (140). В моём случае используется тайлинг 25 в свитке Coordinates и инвертирование в свитке Output каждой карты:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Но это всё, конечно, зависит от того, что именно вы возьмёте в качестве основы для текстуры дна. Присваиваю этот материал (назову его "дно") плоскости – дно готово.
Для имитации солнечных «зайчиков» на донной поверхности нам понадобится отдельный источник света с анимированной картой освещенности. Она является смесью типа Mix двух текстур типа Noice с анимированными фазами. Поскольку солнечные блики на дне – очень важная часть модели, расскажу об этом подробно (впрочем, тем, кто освоил приёмы составления и анимации сложных материалов, львиную долю моих дальнейших словопрений можно смело опустить, обратив внимание лишь на структуры карт и параметры текстур).
Итак, выделяю любую свободную ячейку в окне редактора. В моём случае это - неиспользуемый покуда материал Material #15 (вокруг ячейки появляется яркая белая рамка). Щелчком открываю свиток Maps. В раскрывшемся свитке выбираю любую карту – например, Diffuse Color:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Щелкаю по клавише None в поле карты Diffuse; в раскрывающемся окне материалов Material/Map Brouser выбираю вариант Noise и подтверждаю выбор кнопкой OK:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Установки карты типа Noise «по умолчанию», которые будут изменены, показаны обводкой. Устанавливаю новые значения: выбираю Blur – 2, Blur offset – 2, Noise Type – Turbulence, Levels – 6, Size – 800:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Для создания составного материала щелкаю по кнопке Noise, в раскрывающемся браузере материалов/карт выбираю вариант Mix, подтверждаю выбор кнопкой OK. В ответ на вопрос, что делать со старой картой и не сделать ли её компонентом новой (по умолчанию), щелкаю OK
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Получаю сложный материал типа Mix, одним из компонентов которого является уже созданный мной Map #217 (Noise). В свитке Mix Parameters меняю установки как показано. Щелкаю по свитку Output и изменяю характер кривой приблизительно так, как показано на рисунке. Эта кривая определит в будущем нам вид и яркость границ сетки бликов на поверхности дна.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Возвращаюсь в свиток Mix Parameters, чтобы добавить второй компонент карты Mix, для чего щелкаю по кнопке None, в окне материалов Material/Map Brouser выбираю вариант Noise и подтверждаю выбор кнопкой OK; установки по умолчанию изменяю следующим образом:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Цвета Color#1 и Color#2 для шума устанавливаю на уровне 92 и 144 соответственно. Щелкаю по кнопке навигатора карт редактора материалов, получаю схему нашего будущего карта освещенности дна. Надеюсь, у вас получилось то же самое.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Стоит сразу же и анимировать этот материал. Проще всего это сделать так. Возвращаюсь в свиток Noise Parameters какой-нибудь из компонент нашего материала Mix (например, Color 1, в моём случае это материал Map #217 (Noise)) – щёлкаю по полю Phase и выбираю в раскрывающемся меню пункт Show in Track Vew
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Раскроется редактор построения графика анимации. Каким-нибудь инструментом (например, карандашом) рисую кривую из двух точек. Затем, выделяя их, устанавливаю значения для первой, например, точки номер кадра – 0, величина фазы – (-9); для второй – 100 и 0 соответственно.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Пользуясь инструментами, которые я выделил на рисунке (не забудьте выбрать режим анимационной кривой таким, чтобы фаза менялась в области за опорными точками графика, иначе море будет "играть" только в кадрах с номерами от 0 до 100), получаю график анимации фазы для шума примерно в следующем виде:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Такой график изменения фазы шума при проекции со скоростью 15 – 30 кадров в секунду отвечает достаточно естественному изменению бликов и волн нашего будущего моря. Теперь анимационное окно Selected можно закрыть. Следует анимировать и вторую компоненту материала. В окне редактора материалов в свитке Noise Parameters только что анимированного компонента Color 1 (материал Map #219 (Noise)) окошко Phase теперь содержит красную окантовку – признак анимации фазы шума, лежащего в основе текстуры компонента. Щелкаю в поле Phase и выбираю из выпадающего меню строчку Copy Animation. Перехожу ко второму компоненту (в моём случае - это Color 2, материал Map #217 (Noise)), щелкаю правой кнопкой мышки в поле Phase и выбираю пункт Paste Animation – Instance.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Теперь у меня анимированы оба компонента сложного материала Mix. Если мне не понравится темп анимации, достаточно поправить её для одного компонента – и анимация второго претерпит аналогичные изменения (поскольку мы использовали вариант копирования Instance). Создаю новый стандартный точечный источник света, называю его «грунт». Координаты – 160, 56, 165, розоватый цвет (255, 227, 190), тени включены, тип теней – Adv. Ray. Traced, интенсивность – 0,2. Мне нужно, чтобы этот источник рисовал блики на дне – в соответствии с тем анимированным материалом, который я смастерил. В редакторе материалов я перехожу на уровень списка карт (свиток Maps), щелкаю правой кнопкой мыши по карте, где находится материал солнечных бликов (в моем случае Map 217 (Mix) в карте Diffuse Color ячейки текстур Material #15) и в выпадающем меню выбираю строчку Copy.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Теперь перехожу в свиток Advanced Effects источника света «грунт», щелкаю правой кнопкой мыши по кнопке None в области Projector Map и выбираю команду Paste (Instance) в выпадающем меню. Теперь наш источник содержит анимированную карту Map#217 (Mix), которую я создавал в редакторе материалов. Если картина бликов мне не понравится, я смогу отредактировать её в окне редактора материалов; при этом анимация источника освещения преобразуется автоматически.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Дно есть, блики есть, осталось позаботиться, чтобы источник освещения неба освещал только небо, а источник освещения дна – только дно. В свитке General Parameters источника света «грунт» в поле инструментов Shadows щелкаю по кнопке Exclude… и в раскрывающемся окне Exclude/Include выделяю объект «небеса»: мне вовсе ни к чему блики на сфере, имитирующей небо. Потом щелкаю по кнопке >> и по OK.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Окно свернётся. Далее ту же процедуру произвожу с источником света «небо», потому что мне вовсе ни к чему засвечивать дно лишним светом, предназначенном для неба. Проведу пробный рендеринг. У меня получилось вот что:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Варьируя параметры компонент материала Map#217 (Mix), я могу менять характерные размеры бликов, а трансформируя кривую распределения интенсивности компонента Color#1 (Map#217(Noise)) – толщину и яркость сетки. Вообще, есть смысл самостоятельно поменять некоторые параметры (включая коэффициент смешивания компонент) и выбрать то, что покажется наиболее подходящим.
Теперь нужно «накрыть» дно с анимированными бликами анимированной водной гладью. Создаю плоскость размерами 2000м на 2000м и координатами 0, 0, 0. Назову её «море». Исключаю этот объект из воздействия источников света «небо» и «грунт» так, как уже описывал ранее. Для создания материала водной поверхности выделяю свободную ячейку в редакторе материалов Material editor и так и называю этот материал – море. Присваиваю этот материал только что созданной плоскости. Изменяю установки по умолчанию в свитке Blinn Basic Parameters в поле инструментов Highlightes. Открываю свиток Maps и меняю «влияние» карты Bump с 30 на 20. Теперь займусь созданием материала, имитирующего волны и рябь на воде.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Щелкаю по кнопке None карты Bump вызываю броузер карт и материалов, выбираю вариант Mix.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Установки по умолчанию меняю следующим образом: клавишей Swap реверсирую цвета компонент и устанавливаю 50% смешивание будущих карт шумов, имитирующих волны и рябь морской поверхности. Щелкаю по кнопкам None компонент материала Color#1 и Color#2 выбираю в редакторе карт и материалов варианты Noise. Характеристики шумов для имитации волн и ряби указаны на рисунке: в данном случае выбран режим Fractal, цвета карты шумов Map#221 компоненты Color 2 устанавливаю на уровне 92 и 144. После этого остаётся анимировать материалы, составляющие карту Bump – чтобы поверхность моря ожила. Честно, мне лень подробно рассказывать, как это делается, тем более, что приёмы там те же, что и в анимации карты бликов на дне, а о ней я уже говорил. В этом примере я просто скопировал анимацию фазы одного из компонентов материала Map 217 (Mix) и перенёс её в компоненты материала Map 215 (Mix), формирующего текстуру Bump поверхности материала «море». Покончив с анимацией Bump'а, займусь оптикой - поглощением, отражением и преломлением.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Перехожу на 2 уровня выше, дважды щелкнув по соответствующему значку [Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение] на линейке инструментов редактора материалов, и выбираю в свитке Maps следующую характеристику материала «море» - Opacity. Это очень важная характеристика материала: она обеспечивает изменение прозрачности поверхности воды. Чем меньше угол, под которым мы смотрим на водную гладь, тем менее она прозрачна, и наоборот. В свою очередь, чем дальше от камеры тот или иной участок морской поверхности, тем меньше и угол, под которым эта поверхность видна. Поэтому естественно использовать в этой карте материала текстуру типа Falloff.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
В окне материала Falloff выбираю спад по Френелю и модифицирую кривую в свитке Mix Curve так, как показано на рисунке. Сбросив – чтобы волны и рябь не мешали обзору - флажок Bump в свитке Maps материала «море», стоит сделать пробный рендеринг и убедиться, что морская поверхность и впрямь становится все менее и менее прозрачной по мере удаления к горизонту. Если характер этого изменения покажется вам неестественным, можно скорректировать его, изменяя кривую карты Falloff, сдвигая границу видимости дна ближе или дальше от горизонта, регулируя степень размытости этой границы.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Вот что получилось у меня. Вроде бы сносно.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Моделируя отражение, я использую стандартный приём, когда карта Reflection составляется из материала типа Raytrace, который маскируется материалом типа Falloff, только здесь обратная ситуация: чем дальше к горизонту, тем лучше водная поверхность отражает окружающий мир (и в первую очередь небо). Составляю «каркас» материала. Для начала завожу в свитке Maps редактора материалов в строчке Reflection текстуру типа Mask. А потом то же самое делаю с компонентой материала: щелкаю по кнопке None компоненты Mask и в раскрывающемся списке карт и материалов выбираю вариант Falloff
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
В результате раскроется поле редакции материала Faloff. Параметры по умолчанию меняю примерно так же – но не тождественно – как я уже делал для карты прозрачности Opacity несколько раньше. Критерий подбора тот же самый: меняя характер кривой смешивания материала Falloff добиться естественного изменения отражательной способности «моря» по мере удаления поверхности воды к горизонту.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Поднявшись на уровень выше по иерархии вложенных материалов (использую значок перехода [Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]), я вновь открываю в редакторе материалов текстуру типа Mask. Щелкаю по кнопке None компонента Map и выбираю вариант Raytraced. Работа с картой Reflection закончена: в нашем примере я не изменяю ни один параметр, установленный в этой текстуре по умолчанию.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Вот, что получилось, если в списке карт Maps материала «море» оставить активной только карту Reflection.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Материал для моря почти готов. Есть ещё одна характеристика, без которой анимация воды на ближнем плане будет неубедительна. Я имею в виду рефракцию. Эта карта, в сочетании с анимированным Bump’ом, обеспечит легкое ритмичное искажение дна, которое мы обычно наблюдаем, когда смотрим на дно сквозь спокойную, чуть колыхающуюся, прозрачную воду. Я выбрал вариант Thin Wall Refraction с параметрами Thickness 0 и Bump Map Effect 0,5. Сила воздействия этой карты - 25%. Таким образом, материал поверхности воды составлен из карт следующих текстур; их параметры я уже описал.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Пожалуй – пока не забыл – поменяю цвета материала «море»: ведь я моделирую не ласковое Терренское, не знойное Карибское, а прохладное, хоть и летнее, Балтийское море. Поэтому цвета материала я меняю с изумрудного на серый.
Чтобы в соответствующих ракурсах на волнах появились солнечные блики необходимо, натурально, светило. В качестве солнца использую стандартный точечный источник света, размещаю его приблизительно там же, где находится источник бликов на дне. Тени, интенсивность, цвет «солнца» оставляю – по умолчанию (только тени надо будет включить). Ну и исключаю из действия «солнца» всё, кроме «моря». Вот теперь настало время для визуализации. На всякий случай откройте закладку Renderer в окне Render Setup и убедитесь, что в установках визуализатора активен режим Auto-Reflect/Refract and Mirrors. А вот птичку в Antaliasing можно снять. Если понадобится увеличить качество картинки, используйте отключенные по умолчанию режимы Super Sampling: время визуализации возрастёт, зато качество результата вас наверняка приятно удивит.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Благословясь, учиняем рендеринг.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Вроде сносно получилось. Заняло всего семь секунд на компе с 2GHz процессором далеко не «навороченной» сборки минимум трехлетней давности. Обратите внимание на живописные сочетания «зеркальности» с придонными бликами в пограничных (на рубежах отражения и проницаемости) областях изломанной рябью морской поверхности. Игра света, теней и солнечных зайчиков вкупе с разбитым волнами отражением небес создаёт удивительное ощущение достоверности (не смотря на примитивные средства, использованные при моделировании).
Чтобы продемонстрировать адекватное действительности изменение свойств материала в зависимости от ракурса я поместил пару камней и анимировал положение камеры. Вот что вышло:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Модель можно использовать как своего рода исходную «болванку», варьируя характеристики освещения и теней, а равно и материалов, добавляя атмосферные эффекты и тп. В итоге можно получить, как я уже говорил, самые разнообразные результаты. Наконец, применяя известные приёмы преобразования анимируемой геометрии поверхности воды, можно дополнить её настоящими волнами и проч.
Но это уже за пределами темы… Впрочем, я, кажется, повторяюсь? Значит, самое время закругляться.
Удачи!
Александр Сокорнов (toft)]

http://ru.inbforum.com

上一页INBforum   Перейти вниз

上一页INBforumПредыдущая тема Следующая тема Вернуться к началу  Сообщение [Страница 1 из 1]

Права доступа к этому форуму:
Вы не можете отвечать на сообщения

Copyright ©2009-2010 LTD Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

IT:SINGLESERVGoogle谷歌翻译TranslateFORUMSOFTLAYERGoogle谷歌广告联盟AdSenseAsia

 

Как создать форум на Forum2x2 | © PunBB | Бесплатный форум поддержки | Контакты | Сообщить о нарушении | Последние обсуждения