Здравствуйте. Меня зовут Ярков Дмитрий. Я живу в городе Екатеринбурге и работаю моделлером и визулизатором на проекте DO ROOM. Я использую 3ds Max и VRay и сегодня хочу познакомить вас с созданием материала вот такой зеленой ткани:
При создании материала будем использовать только процедурные карты. В процессе урока, я хочу рассказать не только о способах построения такого материала, но и описать, как грамотный визер должен смотреть на объект и уметь вычленять закономерности из кажущегося хаоса.
Поскольку создание материала тесно связано с освещением и рендером, придется сначала построить студию либо интерьер и настроить рендер. Я не буду подробно на этом останавливаться, но про гамму обязан рассказать, поскольку результирующие цвета будут напрямую зависеть от выбранной гаммы.
Я использую гамму 2,2. В общих чертах, она позволяет легче настроить теневые участки за счет смещения градаций светлости влево по шкале «черное-белое». Чтобы ее включить, зайдите в меню Customize->Preferences, перейдите на вкладку Gamma and LUT и поставьте настройки, как здесь:
Отлично, подготовительные операции проведены. Теперь, прежде, чем открывать редактор материалов, следует внимательно рассмотреть картинку и определить, как именно материал наложен на объект. Итак, что мы видим? Основная масса ткани — темно-зеленая, даже ближе к голубой. На ней разбросаны вкрапления бледно-зеленых точек, которые и представляют наибольший интерес. Но точки разбросаны не в хаотичном порядке. Давайте попытаемся уловить закономерности в их расположении.
Во-первых, особо густые вкрапления точек идут вдоль краев объектов, особенно там, где поверхность вогнута и соприкасается с другой поверхностью (например, деревянными ножками). Точки там настолько близко расположены, что создают общую бледно-зеленую массу. По мере удаления от краев, плотность точек падает.
Во-вторых, на открытых и плоских участках поверхности точки тоже есть, но их плотность меньше и они гораздо бледнее.
Начнем создавать материал. Открываем редактор материалов и создаем материал VRayMtl. Щелкаем на слоте справа от Diffuse и добавляем в него карту VRayDirt.
Что делает эта карта — уже все, наверное, знают. Грубо говоря, она применяется для создания «грязи» в углах и по краям объекта, при этом реагирует на любые пересечения или просто близко расположенные объекты. Вот демонстрация ее использования:
Как видите, основной цвет объекта — серый, но в местах пересечения с другими объектами он меняется на красный. Во втором случае стоит галочка Invert Normals, поэтому все наоборот. Нам эта карта понадобится для уплотнения массива точек на краях объектов. Параметры поставьте, как на рисунке:
Radius — задает величину распространения «грязи» от краев объекта к его центру. 30 см не так уж много: большая часть этого расстояния скроется картой, которую мы наложим.
Subdivs — задает качество дирта. При низких значениях будет шуметь.
Задаем цвета Occluded Color и Unoccluded Color. Первый — это наши точки, он будет бледно-зелено-голубой. Второй — основная масса ткани, будет темно-зелено-голубая. Можно отрендерить.
Что мы видим? Карта VRayDirt послушно поменяла цвет объекта с краев. Но пока что все слишком ровно, и теперь мы должны наложить на нее карту, чтобы появилась желанная неоднородность.
Теперь пора снова взглянуть на фотографию. Мы видим, что существует как минимум два уровня масштаба неоднородности. Первый — это мелкие бледные точки, перемежающиеся с темной массой ткани. Второй — это более крупные темные пятна, словно бы стирающие любые точки на своем пути:
Двигаться следует от большего к меньшему. Начнем с больших темных пятен. Идем в слот Radius и кладем туда карту Mix. Это, я думаю, классическая всем известная карта, позволяющая смешивать два цвета/карты по черно-белой маске. Цвета оставляем по умолчанию (черный-белый). В качестве маски (слот Mix Amount) кладем процедурную карту Planet. Чем хороша эта карта: она содержит большое количество цветов (8), которые можно весьма разнообразно смешивать. Вообще, эта карта, исходя из названия, предназначена для имитации поверхности планет из космоса: в ней есть три цвета для воды и пять цветов для материков и островов. Минус в том, что на эти цвета нельзя положить карты. Но мы обойдемся без них. Настройки ставим как у меня здесь:
Поскольку текстура процедурная, настраивать UVWMap на объектах или делать развертку не нужно. Теперь возвращаемся к карте VRayDirt и снижаем процент влияния карты Mix до 97 (число справа от слота). Это позволит нам получить более четкую бледную полоску у границ объектов. Рендерим:
Вот, уже приятнее. Появилось хаотичное разделение на темные и белые пятна. Переходим к следующему уровню — мелким точкам, ради которых все и затеивалось. Кидаем во второй слот карту Stucco. Еще одна классическая процедурная карта, чередующая два цвета по особому алгоритму. Настройки ставим как у меня здесь:
Настроек немного, поэтому разобраться легко. В нашем случае важными являются Size (размер текстуры) и Threshold (соотношение темных и светлых пятен). Рендерим:
Какие симпатичные точечки! Но почему их нет с внешних краев объекта (например, подушек)? С этим разберемся позже. На этом заканчиваем работу со слотом Radius и возвращаемся в корень VRayDirt. Теперь попробуем несколько разнообразить эти пятна, а то они слишком уж однородные. Кидаем в слот Occluded Color карту Smoke. Суть та же, что и у Stucco, просто немножко другой алгоритм. В оба слота кидаем еще по такой же карте. Вот настройки всех трех:
Как видите, карта большего размера включает в себя две карты меньшего размера, с разным уровнем яркости. Рендерим:
В целом стало чуть темнее, но это не беда — скоро исправим. Зато появилась дифференциация яркости, которую при желании можно усилить.
Давайте добавим белых пятен с внешних границ объектов. К счастью, это несложно. Возвращаемся на самый первый уровень материала, нажимаем правой кнопкой по VRayDirt и выбираем «Copy». Теперь переходим в этот VRayDirt, щелкаем правой кнопкой по единственному оставшемуся слоту Unocludded Color и жмем «Paste (Copy)»:
Настройки второго VRay Dirt оставляем такие же, только ставим дополнительную галочку Invert Normals. Это позволит добавить наших точек не только с внутренних, но и с внешних краев объекта. Рендерим:
Читайте также: Ткань тедди для мебели 029
Отлично! Количество точек возросло вдвое, а их суммарная яркость увеличилась. Теперь возвращаемся к описанию материала: «на открытых и плоских участках поверхности точки тоже есть, но их плотность меньше и они гораздо бледнее».
Ок, в нашем новом VRayDirt как раз для этого есть свободный слот Unocludded Color. Кидаем в него уже знакомую карту Mix с текстурой Planet. Параметр Continent Size меняем на 9,0 — пусть текстура будет в 4 раза больше предыдущей.
Первый цвет Mix делаем темно-зеленым, ну как основная ткань. Во второй слот кидаем Stucco, а в него — две Smoke с такими настройками:
Замечательно! У ярких массивов на фоне появились зеленые разводы. В целом, диффузная текстура выглядит теперь интересной и разнообразной. Вот как выглядит ее иерархия:
Одинаковыми цветами я выделил инстансные карты — две Mix и две Smoke. На этом с диффузной текстурой закончим.
Переходим в корень нашего материала. Не забудьте сохраниться — не дай бог, вылетит. Приступим к бампу. В принципе, ничего сложного в нем нет. Просто копируем нашу карту из слота Diffuse в слот Bump (методом Copy!) и делаем все встречающиеся цвета в нем черно-белыми (просто понижаем до нуля Saturation) — для большего контроля. Самые темные цвета (основная масса ткани) я сделал полностью черными, но это необязательно.
Возвращаемся в корень материала — теперь сделаем отражение. Не следует им пренебрегать — даже самый матовый материал отражает свет. Кирпич, бумага, ткань — любая поверхность. Вопрос только в силе отражения и его размытии. В нашем случае отражение очень размытое, да так, что собственно отражения и нет — остается только блик от источников света. Для таких случаев я применяю фейк. Идем во вкладку Options и отключаем параметр Trace Reflections. Теперь можно сколько угодно повышать силу отражения — его не будет, а вот блик останется:
Копируем нашу карту — на этот раз из бампа в рефлект. И тут нужно внимательно следить за цветами. Наше отражение зеленоватое, и оно должно быть контрастным. Первым делом отключите карту Unoccluded Color у последнего VRayDirt и поставьте вместо нее черный цвет — нам не нужно бликов на фоне. Осталось поменять только карты Smoke на Occluded Color обеих VRayDirt. Если вы еще не сделали их инстансными, сделайте сейчас: скопируйте Smoke с одного VrayDirt и вставьте в другой методом Paste (Instance). Теперь измените цвета карт на следующие:
Как видите, яркие зеленые цвета чередуются с полностью черными. В итоге получится контрастное отражение. Идем в корень материала и меняем параметр Refl. glossiness на 0.64 — сильно размытый блик. Финальный рендер!
Яркость пятен, попавших в зону блика, сильно увеличилась — хороший плюс к интересности материала! Материал ножек сделан по схожему принципу, останавливаться на нем не будем.
Итоговая иерархия материала:
В итоге получился достаточно сложный материал без единой растровой текстуры. Использование процедурных карт — большой плюс. Во-первых, это полная независимость от размера текстуры: процедурные карты не имеют пикселизации. Во-вторых, это отсутствие необходимости делать развертку. В-третьих, это очень гибкая система: можно в любой момент добавить более мелкие и более крупные детали на любом уровне детализации. Кроме того, наш материал очень легкий в изменении цвета. Достаточно лишь ввести новое значение Hue (Оттенок) в каждой ячейке — и новый цвет готов. Также можно контролировать цвета каждого уровня детализации. При желании, можно сделать их еще более неоднородными.
Результирующий материал можно скачать здесь.
Материаловедение в VRay
Материаловедение в VRay .
Здравствуйте! Меня зовут Тимур, и живу я в Новосибирске. Профессионально занимаюсь 3d не долго и редко, т.к. большую часть времени провожу за учебой в НГТУ.
По-моему, переход с MaxScanLineRender ’a на VRay – вынужденный шаг для любого пользователя 3 dsMax , которых желает получить лучший результат за меньшее время. Но с этим переходом так же сильно меняются и «правила игры», как в моделировании, так и в создании материалов. При этом второй пункт приходится изучать практически заново.
Цель урока – освоить основные методы создания красивых материалов и различных комбинаций их смешивания. Библиотеки готовых материалов это, конечно, хорошо. Но понимание и способность создавать их самому это еще лучше!
(Я буду использовать V-ray материалы там, где это только возможно. Если же у вас вдруг нет этой замечательной штуковины, то обязательно это исправьте и продолжайте читать). Версия Max8.0 sp3. V-ray1.47
ВВЕДЕНИЕ. «Тестовая комната» или «Чтобы материалы смотрелись красиво»
Если у вас есть красивая и качественная HDRI то используйте её. Но мне все равно больше нравится создавать собственное окружение.
Вот первое, что пришло мне в голову:
Делаем полусферу и плоскость, конвертируем в Editable Poly.
Разворачиваем все полигоны сферы (Flip).
Выделяем понравившиеся полигоны сферы и Detach их в отдельный объект. (Это будет наше освещение).
Для того чтобы была красивая тень, я удалил еще большой кусок полигонов для окна.
материл пола: VrayMtl + текстура
маленький свет: VrayLightMtl (разного цвета и значения Multiplier)
Зачем? Чтобы на материалах с отражениями было чему отражаться, да и вообще, чтобы создать «атмосферу».
В окно вставьте Vray Light. Значения VrayLightMtl Multiplier подберете индивидуально, в зависимости от размеров помещения. Пара тестовых рендеров и «ОК».
(не забудьте загрузить сам Vray . )
В настройках сильно не мудрим…
Большое количество HSph . и Interp . sampl . необходимо, так как VrayLightMtl – по сути генератор GI, и ему необходимо большое количество семплов . Иначе быть пятнам и разводам.
(по той же причине VrayLightMtl не работает без глобального освещения)
ГЛАВА I. «Простые материалы»
1) Пластик.
(У меня есть робот, машина, компьютер и еще много всякой всячины, над чем будете экспериментировать вы, я не знаю.)
Самый простой материал похожий на пластик – подкрашенный VRayMtl .
Если добавить отражение, получится вот, что:
Заметьте, галочка Fresnel reflections дает нам увеличение силы отражения при большем угле взгляда. Т.е. взглянув на плоскость перпендикулярно, отражения мы не увидим.
Читайте также: Тип ткани трикотаж что за ткань
Белый цвет Fresnel Reflect дает полное отражение при углах приближающихся к 90’.
Hilight glossiness позволяет получить блик даже от обычного Omni. Он « размыливает » четкий блик от ИС (источника света), но не затрагивает отражение и не требует дополнительных затрат на время вычисления.
Max depth (максимальное количество переотражений ) – так как в сцене мало отражающих объектов нам достаточно 2-3 раза.
(квадратик с буквой « L » — Lock открывает и закрывает доступ к параметру)
Прибавив параметр « Refl .glossiness 0,8», мы добавили эффект размытости отражения. Материал стал правдоподобнее, но и время рендера возросло.
Чем больше значение Subdivs , тем медленнее и качественнее проходит процесс рендеринга .
Но не все так печально, и на помощь медленным « Атлонам » и «Пням» придумали галочку «Use interpolation».
Она активирует специальный алгоритм просчета … который анализирует сцену и уменьшает общее время рендера, за счет качества, разумеется.
Ура, качество пострадало, но исходная минута достигнута.
Вот пример для плоскости без интерполяции:
Бездумное применение интерполяции чревато последствиями.
Крутим свойства материала вниз…
Количество Min rate и Max rate как раз отвечают за количество RenderPrepass проходов. Т.е. к двум проходам для GI прибавится еще Min rate и Max rate интерполяции. Чем цифра Min rate и Max rate меньше, тем хуже результат (и крупнее квадратики при Prepass интерполяции). Другие параметры так же отвечают за качество. Чем меньше Clr thresh и Nrm thresh, тем качество лучше. Чем больше samples тем лучше.
Если в сцене много сложной и извилистой геометрии ставьте Min rate и Max rate равными 0 и близкими к нулю. Если же у вас большие плоскости, то около -2 или -3. Но при этом уровень размытости увеличится.
(Еще, не советую использовать маленькие Min rate и Max rate для преломления. Но об этом позже.)
Если отражение или преломление – основное свойство вашего материала, то лучше не интерполировать.
Иногда результат даже лучше, чем раньше! Но редко.
Все же главное, взгляните на разность в скоростях!
Коэффициент Glossy 0,8 – очень сильно размазывает отражения. Это характерно лишь для матового пластика. В большинстве случаев достаточно и Glossy 0,9-0,95.
На различных комбинациях отражения и Glossy построены многие другие материалы, такие как хром, драгметаллы, полированный метал, алюминий. Найти библиотеки таких материалов на форуме не составит труда.
Металлы отличаются от пластика большей степенью отражения. Пара примеров не повредит:
Использование интерполяции в случае полного отражения сильно повредит качеству либо еще больше замедлит рендеринг .
Белый цвет Reflection — не то что бы хром, а скорее идеально гладкая зеркальная поверхность.
Сделав отражение светло серым и слегка размытым, а Diffuse абсолютно черным я добился большей выразительности:
Меняйте тон золота очень осторожно. Позолоченные материалы (такие как фурнитура и бижутерия) имеют более желтый оттенок и меньшую степень размытости.
Так же, решающее влияние на тон оказывает окружающая обстановка. Попробуйте этот же материал в красном, бардово-коричневом окружении.
Золото – один из самых неоднозначных материалов, так как существует бесконечное количество его оттенков. Я перерыл все свои библиотеки материалов, но не нашел такого золота, которое бы мне понравилось.
Золото изменяет цвет бликов и отражений в соответствии со своим оттенком. Сколько я не разглядывал золотые украшения – не видел абсолютно белых бликов!
Оранжевый цвет Reflection даст нужный оттенок, а черный цвет Diffuse слегка затемнит общий тон, так как оранжевый цвет не 100% белый.
Сталь. Сделать полированную сталь очень легко.
Здесь к отражению добавляется сильное значение Anisotropy – 0,9. В сочетании с Glossy это смотрится вот так:
Чтобы понять как работает анизотропия достаточно покрутить ее настройки и все будет видно в MatEditor ’е. Тут же различные « шейдеры » (как в standard материале)
Обратите внимание на Local axis и сможете управлять «полюсом» анизотропии для лучшего результата.
Стоит помнить, что объектов, которые обладают свойствами отражения, гораздо больше чем кажется!
Даже лист бумаги и булыжник обладают отражающими свойствами. В комбинации со сложными текстурами, отражения и блики внесут живость и реалистичность.
3. Прозрачные материалы
Все вышеуказанное работает и для канала Refraction (преломление).
Стекло, прозрачная пластмасса, жидкости делаются добавлением цвета каналу Refraction.
Параметр IOR ( коэф .п реломления ) пригодится, если у вас есть взаимодействие разных по природе веществ. К примеру, рюмки с водкой.
Fog color – в данном случае определяет цвет стекла. Он зависит от толщины материала.
Если вам этого не надо, то регулируйте цвет на канале Refraction. Желательно поставить галки на Affect shadows, чтобы тень тоже была подкрашена.
Fog подбирается экспериментально, узнать как будет выглядеть цвет вашего стекла можно уже на первой стадии render prepass .
Даже для очень прозрачного стекла рекомендую выбрать Fog цвет, иначе стекло будет черноватым на торцах.
Элементарное стекло:
Полупрозрачный пластик:
Здесь мы придали нужный оттенок для Fog color, и установили белым Refract. Для ускорения рендера я использовал интерполяцию отражения, так как его роль в столь мутном материале второстепенна.
Хороший результат можно получить использованием канала Bump (в свитке Maps ) с любой текстурой.
Нельзя промолчать про еще одну важную «фишку» VRay – подповерхностное рассеивание света.
На этом примере видно, как свет от ИС виден на другой стороне стола. Свет распространяется внутри материала. Таким образом, можно получить еще один вид пластика или прозрачную резину.
Обязательно нужна хоть какая-то степень прозрачности.
Thickness – влияет на глубину проникновения луч.
Light multiplier – общая яркость рассеиваемых лучей.
Fwd/ bck – прямое и обратное рассеивание
Удобно использовать этот эффект для создания различных светильников, настольных ламп и т.п. так как это не требует больших затрат времени на настройку материала и смотрится весьма реалистично!
Пара экспериментов с настройками и вы освоите принцип работы. Вообще говоря, коэффициенты можно вовсе не трогать… практика показала. А вот Thickness и Light multiplier пригодятся.
ГЛАВА II. «Вникаем в основы Material Editor’а»
Напомню, что в Material Editor’e все материалы, карты, цветовые квадратики и т.д. можно перетаскивать мышью, или копировать и вставлять их нажатием правой кнопки мыши. Это сильно облегчает работу с многослойными материалами
Читайте также: Ткань это определение технология
А так же активно пользуйтесь кнопочками для навигации :
В основном, чтобы добиться игры цвета на неровной поверхности используют процедурные карты fallow, gradient ramp, mix, composite.
А из способов смешивания материалов blend, composite, shellac.
Покраска автомобиля – дело сугубо творческое. Мне больше нравится лакировать ее с помощью Shellac материала. (Его суть в том, что он смешивает цвета базового материала с цветом покрытия)
Здесь четкие блики «лежат» на отражениях с сильным значением glossy. Эффект двуслойности .
Пример применения fallow для канала diffuse:
Для того чтобы сделать переход цветов четче нужно подправить кривую mix curve:
Делаем: выберем shellac материал. На канал base добавим VRayMtl . Сделаем этот материал очень темным зеленым, чтобы при наложении бликов от сильного glossy и «лака» получить нужный цвет.
Простое Fresnel Reflection мне не подходит, потому что мне нужен более резкий переход от сильного отражения по краям и слабого (но не доходящего до нуля) отражения в центре.
Обратите внимание, что черный цвет заменен на серый, (значение около 45). Теперь поднимемся на уровень вверх. И назначим fallow на канал glossiness:
Здесь цвета так же смещены примерно на 45 единиц от чисто белого и чисто черного, чтобы не было полного размывания в центре и четкого отражения на краях.
Количество reflect subdivs я поставил 15, хотя можно и больше и меньше. Это зависит от окружения.
Материал лака: тут все проще, так как нам от него нужны лишь четкие блики и оттенок цвета.
Shellac color blend (смешивание цветов) настройте как вам угодно. Мне хватило 80, хотя крутить этот параметр можно хоть до 9999.
Теперь сделаем плитку как на рисунке справа.
Мы принципиально откажемся от текстур, а воспользуемся процедурными картами и VRayMtl .
Итак, нам надо чтобы между квадратиками был бетон, а сами квадраты были с узором. К тому же мне захотелось, чтобы поверхность бороздок была зеркальной.
Возьмем Blend материал. Назовем его «плитка» (это важно, чтобы не потеряться) . Material 1 – обычный VRayMtl с текстурой Dent на канале Diffuse. Для Dent я взял цвета, которые, как мне кажется, подходят для имитации бетона:
Так как это процедурная текстура, то размер Size зависит от размера плитки.
Теперь перейдем к настройкам Blend «плитки» и на канал Mask сделаем текстуру Tiles. В свитке Advanced control назначьте абсолютно черный и белый цвет и уберите fade variance. Это нужно, чтобы цвета квадратиков плитки не смешивались с бетоном. В preset type я поставил Running
Теперь черные плоски это бетон, а белые квадраты Material 2.
На Material 2 поставим еще один Blend и назовем его «квадратики».
Сделаем Material 1 «квадратиков» VRayMtl с черным каналом Diffuse и слегка серым (почти белым) каналом Reflect. Назовите этот материал «бороздки».
Material 2 «квадратиков» тоже VRayMtl сделаем черным канал Diffuse, а канал Reflect желто-белым, добавим Glossy 0 ,85 .
Subdivs и Max depth по-вкусу .
( теперь отражения будут подкрашены желтым )
Вернемся на уровень вверх к материалу «квадратики».
Каналу Mask присваиваем новый Tiles. Делам тоже, что и в прошлый раз, но добавим еще пару штрихов.
Мы увеличили количество тайлов , настроили ширину бороздок и добавили умеренный шум.
Чтобы повернуть текстуру на 45 градусов:
Осталось придать объём. Для этого я воспользуюсь VRayDisplacementMode .
«Выпуклость» материала управляется интенсивностью карты. Белый – масимальная высота, черный – нулевая.
1. Вернитесь на уровень материала «плитка» и зайдите в первый материал.
2. Найдите канал Displacement в свитке Maps и скопируйте туда Tile карту, которую вы сделали для бетона.
Поставьте Blur 3,0 (в свитке coordinates) чтобы края плитки не были грубыми.
3. Теперь рядом с белым квадратиком нажмите кнопку None и назначьте (скопируйте. ) туда карту Tile сделанную для бороздок.
Так как глубина бороздок много меньше, чем глубина бетона, то заменим черный цвет на серый (примерно 165,165,165).
Назначим нашей плоскости модификатор VRayDisplacementMode и скопируем туда карту из канала Displacement. Не забудьте убрать галочку перед каналом Displacement в материале, чтобы он нам не мешал.
Можно воспользоваться Bump’ ом , только тогда текстуры надо накладывать на те материалы, где этот бамп нужен. В моем примере это материал поверхности квадратика и зеркала.
Очень важной частью Material Editor’a является его способность работать с растровыми текстурами «не выходя из дома», а используя свиток Output в настройках текстуры. Вы можете менять яркость и цветовой баланс, добиваясь тем самым нужного цвета текстуры. Это позволяет значительно увеличить реальное количество доступных вам текстур.
Вот пример того, что можно сделать с одной текстурой:
Все это одна стандартная Max’ овская текстура гранита!
Хочу показать еще один пример использования процедурных карт, в частности gradient ramp:
То, что вы видите – результат моей «исследовательской работы». Это всего лишь Plane с материалом. Незамысловатый узор создан использованием карты gradient ramp в режиме Interpolation: solid.
Овалы – radial градиент. Растяжение, положение и наклон настроены в свитке coordinates.
Палки – линейный градиент. А чтобы овалы и палки накладывались друг на друга нужно поставить галочку Alpha from RGB intensity (сделать прозрачность исходя из интенсивности карты, т.е. черный цвет преобразуется в прозрачность, серый в полупрозрачность и т.д.)
Что я этим хотел показать? Да то, что если вам вдруг понадобилась карта кругляшка, квадратика и прочих примитивов не обязательно лезть в фотошоп . К тому же ВСЕ параметры можно анимировать!
Окинув взглядом свою комнату и пошарив в маминой шкатулке с украшениями и даже выглянув на улицу, я не нашел ни одного материала для которых недостаточно перечисленных методов, поэтому заканчиваю.
Напоследок скажу, что самый лучший инструмент для создания реалистичных и красивых материалов это ваша наблюдательность и способность сразу же разделять на слои увиденный в реальности материал. Иногда это доходит до особой формы шизофрении, но от этого еще никто не умер!
- Свежие записи
- Балкон в многоквартирном доме: является ли он общедомовым имуществом?
- Штраф за остекление балкона в 2022: что это и как избежать наказания
- Штраф за мусор с балкона: сколько заплатить за выбрасывание окурков
- Оформление балконного окна: выбираем шторы из органзы
- Как выбрать идеальные шторы для маленькой кухни с балконом
