<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>@maltsewpro</title><generator>teletype.in</generator><description><![CDATA[@maltsewpro]]></description><link>https://teletype.in/@maltsewpro?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/maltsewpro?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/maltsewpro?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Sun, 24 May 2026 17:50:57 GMT</pubDate><lastBuildDate>Sun, 24 May 2026 17:50:57 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@maltsewpro/3d-live-map</guid><link>https://teletype.in/@maltsewpro/3d-live-map?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro</link><comments>https://teletype.in/@maltsewpro/3d-live-map?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro#comments</comments><dc:creator>maltsewpro</dc:creator><title>От чужого острова к своему миру: как собрать живую 3D-сцену по канонам AAA</title><pubDate>Thu, 19 Feb 2026 16:06:59 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/ba/c9/bac93c6c-b499-422e-b50a-2bdb2e94a0dd.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/2c/eb/2ceb63a0-36f0-4737-8798-fea94845cef7.png"></img>Мы начинаем с дерзкого вызова: не просто создать локацию, а переосмыслить легенду. В шестой, финальной главе нашего курса мы берём карту из культового Crysis — не как шаблон для копирования, а как фундамент для собственного творчества.]]></description><content:encoded><![CDATA[
  <figure id="rVnH" class="m_column">
    <img src="https://img3.teletype.in/files/2c/eb/2ceb63a0-36f0-4737-8798-fea94845cef7.png" width="1920" />
  </figure>
  <p id="88uN">Мы начинаем с дерзкого вызова: не просто создать локацию, а переосмыслить легенду. <strong>В шестой, финальной главе нашего курса</strong> мы берём карту из культового Crysis — не как шаблон для копирования, а как фундамент для собственного творчества.</p>
  <p id="itOV">Это высший пилотаж, где вы из ученика превращаетесь в настоящего демиурга виртуального мира. Ваша задача — не повторить, а <strong>понять законы построения AAA-уровня</strong> и применить их для создания уникальной, живой сцены.</p>
  <figure id="5KZw" class="m_column">
    <img src="https://img1.teletype.in/files/0f/e8/0fe81212-1fec-4113-97f3-18cb5dbe14f4.png" width="1920" />
  </figure>
  <h3 id="rRDR">1. Фундамент мира: Когда рельеф получает «ДНК»</h3>
  <p id="FzMN">Всё начинается с земли. Мы используем меш и карту высот, позаимствованные из референса, чтобы сгенерировать реалистичную основу.</p>
  <figure id="b3ak" class="m_column">
    <img src="https://sun9-6.userapi.com/s/v1/ig2/JG5ofKD_0tPB5hzo1i063_AH_mJFdikmUN08G41oTztIPFuq9OYhi2VClcOeBFbo99MPWabQcEsGGy72lBQIkI4F.jpg?quality=95&as=32x18,48x27,72x40,108x61,160x90,240x135,360x202,480x270,540x304,640x360,720x405,1080x607,1280x720,1440x810,1920x1080&from=bu&cs=1080x0" width="1080" />
  </figure>
  <p id="na9G">Но это лишь первый шаг. Настоящая магия начинается с переработки ландшафтного материала из первой главы.</p>
  <figure id="SBbK" class="m_column">
    <img src="https://img4.teletype.in/files/fa/60/fa60a43e-67fa-4a1c-a93b-56bb693147c2.png" width="1920" />
  </figure>
  <p id="fBDo">Вы не просто нарисуете холмы — <strong>вы запрограммируете рельеф</strong>.</p>
  <p id="pi6z">Мы радикально расширяем его функционал: убираем лишнее, добавляем новые слои и доводим их число до 12. Это даёт тотальный контроль над покраской.</p>
  <p id="qNNL">Каждый тип поверхности — песок, глина, трава, камень — получает свой чёткий канал. Интеграция с Substance Designer позволяет создать бесшовные, сложные текстуры, которые ложатся на ландшафт с умом.</p>
  <figure id="16r2" class="m_column">
    <img src="https://img3.teletype.in/files/e1/5f/e15f44f9-c62b-471c-bce4-b49ff01bf64b.png" width="1920" />
  </figure>
  <p id="Yh2j">А потом мы запускаем Grass Types — систему процедурной генерации, которая «засеивает» основу первыми признаками жизни. <strong>Это первый вздох вашего мира</strong>.</p>
  <figure id="Ym74" class="m_column">
    <img src="https://img3.teletype.in/files/64/f8/64f879b6-8a9c-4a26-86a3-06379737a021.png" width="1920" />
  </figure>
  <h3 id="EWmT">2. От макета к деталям: Стратегия сборки, которую используют студии</h3>
  <p id="4yf2">Пустая карта бесплодна. Мы начинаем с крупных мазков: размечаем сплайнами главную дорогу, выделяем макетами ключевые зоны — будущие поляны, холмы, тропы. Это скелет локации.</p>
  <figure id="JPKB" class="m_column">
    <img src="https://img2.teletype.in/files/18/bc/18bcb2c0-9bfa-4c94-9264-101733093439.png" width="1920" />
  </figure>
  <p id="TXW0">Затем приходит время для магии замены. Грубые блок-ауты, расставленные для понимания масштаба, один за другим превращаются в финальные ассеты. Здания, созданные по модульной системе, находят свои места.</p>
  <p id="OQw6">Этот этап — как пазл, где каждая деталь должна встать идеально.</p>
  <figure id="99am" class="m_column">
    <img src="https://img2.teletype.in/files/9c/07/9c07ae5c-2a35-4f84-ba65-77612d94978f.png" width="1920" />
  </figure>
  <p id="Hh6X"><strong>Детализация — вот что вдыхает душу</strong>. Мы используем декали для того, чтобы добавить истории: грязь у подножия скал, потеки на склонах, сколы на камнях. Это те самые «шрамы», которые делают среду правдоподобной.</p>
  <figure id="Qlp3" class="m_column">
    <img src="https://img2.teletype.in/files/51/83/518383fe-5158-4808-8bd4-2381f4ddd02f.png" width="1920" />
  </figure>
  <p id="S60r">А для скал мы разрабатываем новый, усложнённый материал, расширяя библиотеку, созданную в третьей главе. Теперь у вас будет ещё больше власти над каменной фактурой.</p>
  <figure id="hALm" class="m_column">
    <img src="https://img3.teletype.in/files/6c/4f/6c4fcf83-e170-4af5-adc3-e10a846905d8.png" width="1920" />
  </figure>
  <h3 id="fk0v">3. Глубина экосистемы: Иерархия жизни от дерева до травинки</h3>
  <p id="CyZr">Настоящий мир живёт по принципу иерархии. Мы заселяем его, начиная с самого крупного:</p>
  <p id="KDoY"><strong>    1. Скалы и мега-камни — костяк ландшафта.</strong></p>
  <figure id="gzBE" class="m_column">
    <img src="https://img1.teletype.in/files/8a/d7/8ad7ba63-8d53-441f-8d2f-fa9e01aa828d.png" width="1920" />
  </figure>
  <p id="XhfJ"><strong>    2. Крупные деревья</strong> — создаём композиционные акценты, расставляя их вручную в ключевых точках.</p>
  <figure id="qx8B" class="m_column">
    <img src="https://sun9-74.userapi.com/s/v1/ig2/APN6gZbUww7PawOBwRkF37pL8IHg2bZUV6LaH0F_-CrYPWMkH4IAgtdc2Y_jb6EN6sjHCF2qXGaWdsoyxCbRkPQ8.jpg?quality=95&as=32x18,48x27,72x40,108x61,160x90,240x135,360x202,480x270,540x304,640x360,720x405,1080x607,1280x720,1440x810,1920x1080&from=bu&cs=1080x0" width="1080" />
  </figure>
  <p id="8uFM"><strong>   3. Кустарники и подлесок</strong> — заполняем пространство между деревьями, используя силу процедурной генерации через Foliage Tool и Foil Ejector для покрытия огромных площадей.</p>
  <figure id="t4jj" class="m_column">
    <img src="https://img4.teletype.in/files/fa/a5/faa57f2c-67e2-4ae5-a014-efbb9f68e5a4.png" width="1920" />
  </figure>
  <p id="d88V">Но и этого мало. Мы спускаемся на уровень земли, к травяному покрову.</p>
  <p id="CC11">С помощью Grass Types и фотограмметрических патчей (готовых сканов реальных растений) мы создаём под ногами плотный, разнородный ковёр из трав, цветов, папоротников.</p>
  <p id="sVX9">Особое внимание — песчаным пляжам, которые оживают благодаря детализированным патчам камней и ракушек.</p>
  <figure id="xemY" class="m_column">
    <img src="https://img3.teletype.in/files/6b/8b/6b8b7cdb-d07a-46b9-b3c9-d89c8763da6e.png" width="1920" />
  </figure>
  <h3 id="RSJK">4. Последний штрих: Динамика, которая заставляет мир дышать</h3>
  <p id="wEsV">Статичный мир мёртв. Финальные штрихи — это то, что заставляет зрителя поверить в реальность сцены.</p>
  <ul id="0K36">
    <li id="j3DA"><strong>Вода:</strong> мы создаём не просто плоскую поверхность, а целый массив океана с настройкой волн, прозрачности и отражений. Динамические водопады добавляют движение.</li>
  </ul>
  <figure id="Toc0" class="m_column">
    <img src="https://sun9-24.userapi.com/s/v1/ig2/dHVb155829WyP6gwmkOJ68X8T1fbe8c5PFAaeAyRQb_U5GrSTUz25RSKRXaO6u8fNP9UnKY1VGp2IZQSIoOkGSnY.jpg?quality=95&as=32x18,48x27,72x40,108x61,160x90,240x135,360x202,480x270,540x304,640x360,720x405,1080x607,1280x720,1440x810,1920x1080&from=bu&cs=1080x0" width="1080" />
  </figure>
  <ul id="RxtP">
    <li id="vWWA"><strong>Эффекты:</strong> лужи после дождя с идеальными отражениями и бликами становятся точками притяжения взгляда. Они оживляют дороги и углубления.</li>
  </ul>
  <h3 id="cNma"><strong>Итог: Вы не получите ассеты. Вы получите готовый мир!</strong></h3>
  <p id="FyVm">Финал шестой главы — это не просто список выполненных уроков.</p>
  <p id="R5sr"><strong>Это полностью готовая, огромная карта площадью 9 км², детализированная до последней травинки</strong>. Вы пройдёте весь профессиональный пайплайн: от референса и блок-аута до финальной сборки и динамических эффектов.</p>
  <p id="oLkj">Это кульминация курса, где все навыки — моделирование, создание материалов, работа с ландшафтом и силами UE5 — соединяются воедино.</p>
  <p id="zBoA">Вы перестанете видеть движок как набор инструментов. <strong>Вы начнёте видеть его как пространство для творчества, где под вашим контролем рождаются целые миры</strong>. Ваш мир, и всего за 15 000 рублей, и то только для вас, по блату для своих.</p>
  <h3 id="C3Qi"><a href="https://vk.com/away.php?to=https%3A%2F%2Fwww.sberbank.ru%2Fru%2Fchoise_bank%3FrequisiteNumber%3D%2B79213893141%26bankCode%3D100000000004&cc_key=" target="_blank">Хочу получить готовый мир и создать карту как в Crysis</a></h3>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@maltsewpro/production-props</guid><link>https://teletype.in/@maltsewpro/production-props?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro</link><comments>https://teletype.in/@maltsewpro/production-props?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro#comments</comments><dc:creator>maltsewpro</dc:creator><title>Производство реквизита окружения для детализации сцены</title><pubDate>Tue, 12 Aug 2025 07:45:56 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/92/c8/92c85216-84b1-44e9-957f-2800ceb6df9b.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/0f/24/0f242327-f596-4b07-967f-a7fda9415a3b.jpeg"></img>К пропсам (пропам, props, реквизит окружения) относятся всевозможные средние и мелкие элементы. Они могут быть абсолютно любыми в зависимости от контекста. Поэтому создание таких элементов можно отнести к 3D-моделированию.]]></description><content:encoded><![CDATA[
  <figure id="Hxez" class="m_column">
    <img src="https://img1.teletype.in/files/0f/24/0f242327-f596-4b07-967f-a7fda9415a3b.jpeg" width="1920" />
  </figure>
  <p id="xdV6">К пропсам (пропам, props, реквизит окружения) относятся всевозможные средние и мелкие элементы. Они могут быть абсолютно любыми в зависимости от контекста. Поэтому создание таких элементов можно отнести к 3D-моделированию.</p>
  <p id="f0st">Специалистов же, занятых на производстве реквизита относят к самой распространенной должности - 3d художник (3d artist).</p>
  <p id="VNij">Я буду рассказывать об этой части производства исключительно на примере своего проекта, так как правильнее всего привязывать к конкретным пайплайнам.</p>
  <p id="FCdx">Дело в том, что в моем случае я использовал несколько разных подходов к тому как создать тот или иной объект окружения. </p>
  <p id="y9Ky">Это в первую очередь зависит от габаритов модели, так как стандартные методы, например, с запечкой и уникальным текстурированием не всегда годятся для более крупных объектов. Почему? Об этом ниже.</p>
  <p id="n6zc"><strong>1. Пайплайн уникальная запечка и текстурирование</strong></p>
  <p id="ewWT">Моделирование, уникальная UV-развертка, запечка и текстурирование.</p>
  <p id="PMsc">Этим пайплайном я создал множество бочек, канистр, ящиков.</p>
  <figure id="lZBS" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdlZlwNfpcR8jHFKGX3ox-3D7Rj9D0YLx-pQIsnoSDSZ4yvlpMlMaQcjbJesmwWypleGSVCS99l4_8utz__21Sg0QwiSFJs702FhPX9_e3R65tMhe4PdCH6C0AM4fRN4pTxCuejww?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <figure id="kidq" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfBVeSl7In-sS75QV4opUBJyu2vGhXVyYxE8W-reUFFduURPAhOodbvml2tPudQEDHy2M0ZESd_BgLFMbRSBrxzeU44YcEjVkgr5EdfDdxf7YYAIose6TLr0Xe-CyYsS3i7JTjX?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <figure id="uCeW" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcAECvEgJLkaO7C031yOUZ7Uu7lND3HClT7SxvYNh_VOrIjDTglhV_RHtLcZj_xvHN1nB0-MLOSzFPlMXR-1DWXfAthwikT11-91HloLbUAOteryPCdYGR2Gj8srlwFPAi3xKmljw?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <figure id="9Dl7" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcU5UJkW4bGlfcNjpLaxCzkkZ14CGGqXQvKMEHbZLvyiKn1UHAaiHhbAnVR805qd-t6WLJONLjDWOskb1UG2rcVWo27UPKeGOhQrf-Trc3BVAFHVP0vXwW_az34lJT1YQ8UG_x1FQ?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <figure id="7IwH" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdsvq2r8HD7BPYtKauZCbTlXi_FViD-QszwP831KTRc4ukKW2Aet-PF1n4YrQSOvZ_puTEOpD-OTYknNLlqEcuZjM3e5rd5-0MMLSdIMRoPmM5rdSxm-pzmFkm8ReaCdobUJrb_WA?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <figure id="RPGD" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcMaEk4jbQZDyzVBMdGG7Nz7PB3pX-cEXbQrPn5yCPCaPKQZsJq3NrPnDbLsMAbeN__yFAFGj1jUwYns_k317NGzPsgZGmJA7unccDLyvWLl4na7hCmXFt85jbGfTxPF-FyMOewdw?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <figure id="GGsr" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdjKw2WbUWKKPlwp8WEO9Ilz6jGVRrYQO1mq2xSK_AEV3Ed_kcFVqBUi6-vu0ziU85ybfVe3pOYuMwCIafk_QiPi0aYYDMaKitqKJfTakAsrjhNyQvxIZjMYpQWtFOYTG4KKdkA_w?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <p id="z88q"><strong>Весь цикл можно разделить на ключевые этапы:</strong></p>
  <ul id="NZ8k">
    <li id="jLm0">моделирование драфтовой формы</li>
    <li id="ZcmO">уточнение и детализация, включая фаски</li>
    <li id="k7Ki">UV-развертка</li>
    <li id="bKGt">запечка с хай поли</li>
    <li id="yFmG">текстурирование</li>
    <li id="k1NP">рендеринг в Marmoset Toolbag</li>
  </ul>
  <p id="Fj6d">Так же были сделаны покрышки, дорожные элементы, всякие бетонные блоки, дорожные знаки, ящики и прочее:</p>
  <figure id="jfsq" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc0yI3YmAbbv4iX7qfNlrsJmzs0O5OSD9HL-LInUJt1M7GeA3Yb2UbuSePK9ZM15xbub7PzbYynIn1Ewwg2pdYGP8vtYU7pBe7814m1A1aYQneJXZv0Af4GP4AHOKerpHpsyRKlug?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <figure id="ytEB" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXemSQe24Y2GGhVt86LQh78juwi_g4x6uWeBuVxD0V4mGo1eOj0DSQ0p_jlHs6EYyZjsOmajU4ioe88USTyhzg3t4TcHP07NnVRKEobU4cIP2N2lOqkC2SuI-R8182_bM5iW1atCcw?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <figure id="DFlM" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXehNdfqYL4kb1wrPtSqrssfCYpKqSPhzn9J7jIaFRn-V-oz7j2-RbsqdWFJNMYPcCES-h4Vcl_OHK0_o2nI23Ulfw7DKtU3mm0ha1GuZzEl7PTifoeS26vNXSlWiueNSCvPYMteRw?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <p id="8Kzk"><strong>2. Tile / Trim пайплайн</strong></p>
  <p id="64xx">Этот метод больше подходит для крупногабаритных ассетов. </p>
  <p id="59Tc">Уникальная запечка не пройдет, в противном случае мы сильно нарушим значение текселя текстуры. Так как иначе в квадратное поле текстуры все детали UV-развертки не уместить.</p>
  <p id="40nX">На помощь приходят тайловые материалы, максимально простые в плане текстуры, но имеющие необходимые детали на поверхности, например, если это металл, то есть микрошероховатость, мелкие выбоины и прочие, но при этом, весь тайл текстуры должен быть максимально однородным, иначе однородность тайла будет нарушена.</p>
  <figure id="XwwI" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcyijwDLGHWotq_-xTVV3EQvuG5vpst87LKBdKiiltt6tmBAQfilrr5p9tVyDJcfl0XjTSXj-B03lXJMYKYsJdsopfqUJ9WkcpkZ_qwmhxXcuhwJdIk2_bw4FYQBStalsW57K78OQ?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <p id="RhNZ">Естественно, алгоритм самого материала относится к PBR, а это значит, что в комплекте с Albedo - текстурой должен идти весь набор карт или текстур для реализации PBR: AO, Metallic, Roughness, Normal.</p>
  <p id="bAAf">Если нам нужны дополнительные элементы детализации в рамках этого материала, то используется два канала UV (и в материале это учитывается):</p>
  <p id="vp8R">На первом канале - стандартная развертка с уменьшенным текселем, но даже несмотря на это, фрагменты развертки все равно большие, поэтому приходится раскидывать фрагменты на соседние тайлы - таким образом имеем UDIM-развертку:</p>
  <figure id="BOTN" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc1fJNccZonUHX36epl5doH4TCT_0CQ6Jd6wmm2DawgcdmL9LWQodzyIroW7asLwbkgTAiD4a8lnXbs25Av1hoF3F-C70iwuWRipIGataV7EY5EetU-tav7hfbGBooHozjsb-jpNA?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <p id="Umsq">Этот канал нужен только для цветовой маски (RGB), каждый из аспектов которой ограничивает тот или иной аспект, например, форма пятна грязи или ржавчины, пыли.</p>
  <p id="fRlb">Второй канал как раз для тайлов. А следовательно допускаются оверлапы (взаимные пересечения шеллов UV):</p>
  <figure id="JIMB" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfAOmKc6d6BZnqeknq97BGWEZbbnyyFBKS7DIlxYOuxDQYEl_nnTz0P5Hs5KF0y9EDGjpMHW8eihv9CkvQukSxxsh7VfQkfvnc4zCdJs69TfBIfFOWA2lJNTi9kkL3QQDVdpm2fNg?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <p id="kmIB">И в этом случае с текселем уже все в порядке.</p>
  <p id="l07z">Сам материал как раз учитывает оба UV-канала.</p>
  <figure id="PQgu" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdgBsYX_QBlAliY62yOxHQvvzO66bgfLgvgRc3kvVpuHCeOEIjefrjjHtvjM0mfSngbeq10WF9FBi3TdHQcpgFw7k1I5Jq1bE2f3R7dKdpKRGpjatfQaut1G3VQcmEqhNF3OjBfjA?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <figure id="V2Cn" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeT-Yu5I2XFrsitxjks6ewnLHWZeemdHlFbuGGVaKMnSntEF08-P5Z9WOlR4fObn61yMVeyWUjbbuA6dmv9yxjzDrBgq0gQf-fh5xB0q8HO9MUIaXNbVMWluwTVWexsa3vyBuWKAg?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <p id="mNbn">Кроме того, для тайловых материалов предусмотрен механизм управления тайлингом:</p>
  <figure id="IwP0" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdBnUwnUNQjzub9iNFu9_Ozd3wg8sdWmEZYppH7dlP4RGf04zM9VigzaxfwE7y6rUpdhkans4CyZ1S1J4UnqfloVXdKmFfNljcr7SMJ-sPPKTxQpnYxb9qTY3UVFfJiCX6uQBDsFg?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <p id="k0hC">То есть мы можем управлять и самим основным материалом и аспектами износа или загрязнения, а характер износа или загрязнения задавать в Substance Painter с помощью RGB-маски. Этот механизм широко используется в производстве для других типов ассетов. Так например я делал скалы.</p>
  <p id="Pl86">Помимо двух основных пайплайнов так же использовались разные их комбинации, например всяческие дорожные знаки и разметку я создавал частично тайлами, а частично запечкой, и благодаря тому, что такие элементы не являются большими, их можно размещать на одной текстуре, т.е. создавать атлас:</p>
  <figure id="fY71" class="m_column">
    <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfmUANDU6jSlGDYY7J1-ZWCte5AVOqBTwgssihRVkYEhmex12cCxCGSxND6jHu2VDeKGn54aTZGhTnfm5TKJpFyjYBFa72lPGjvaq2GNtjMjoKL0AE9xGWXh4a1Sm3N3p9bErGeFw?key=ddDOtDBKb3MRqb2h5ei53A" width="1600" />
  </figure>
  <p id="hww2">Подробнее про виды пайплайнов и их комбинации, а также навыки их создания для производства пропсов <strong>вы можете получить в главе 5 - PROPS: реквизиты окружения, которая является частью моего флагманского курса «Создание 3D-сцен на Unreal Engine 5 для геймдева / киноиндустрии»</strong></p>
  <h3 id="vY6O"><a href="https://teletype.in/@maltsewpro/props" target="_blank">Получить доступ к главе 5</a></h3>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@maltsewpro/props</guid><link>https://teletype.in/@maltsewpro/props?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro</link><comments>https://teletype.in/@maltsewpro/props?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro#comments</comments><dc:creator>maltsewpro</dc:creator><title>КУРС «СОЗДАНИЕ 3D-СЦЕН НА UNREAL ENGINE 5 ДЛЯ ГЕЙМДЕВА / КИНОИНДУСТРИИ»</title><pubDate>Thu, 07 Aug 2025 16:29:09 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/e9/f7/e9f7d580-a142-4111-b3dd-6e31636190e5.png"></media:content><description><![CDATA[<img src="https://img2.teletype.in/files/da/b6/dab669c1-16b9-49f6-ab20-b079136fbe95.jpeg"></img>Глава 5. Производство пропсов, деталей окружения, ИИ-генерация]]></description><content:encoded><![CDATA[
  <h2 id="QMAr">Получи навык создания 3D-модели с нуля<br />до полноценной качественной сцены, готовой под игровой процесс или съёмку кино (синематик)</h2>
  <p id="B5tD"></p>
  <figure id="0ZMH" class="m_original">
    <img src="https://img2.teletype.in/files/da/b6/dab669c1-16b9-49f6-ab20-b079136fbe95.jpeg" width="1521" />
  </figure>
  <h2 id="NkYJ">ПРОГРАММА КУРСА</h2>
  <h3 id="tvT2">Глава 5. PROPS: реквизиты окружения</h3>
  <p id="WsGN"></p>
  <figure id="XZGY" class="m_column">
    <iframe src="https://vk.com/video_ext.php?oid=-59202268&id=456239228&autoplay=0"></iframe>
  </figure>
  <p id="2atF">Урок 1 - Введение</p>
  <p id="o7yP">Урок 2 - ИИ-генерация, общие принципы</p>
  <p id="KWRs">Урок 3 - Sci-Fi бочка: ИИ-референс</p>
  <p id="UWDy">Урок 4 - Sci-Fi бочка: блокаут</p>
  <p id="p7Rp">Урок 5 - Sci-Fi бочка: Hi-Poly детализация</p>
  <p id="wnNL">Урок 6 - Sci-Fi бочка: игровая Middle-Poly модель</p>
  <p id="8RXa">Урок 7 - Sci-Fi бочка: UV-Мапинг и запечка</p>
  <p id="RAtS">Урок 8 - Sci-Fi бочка: Текстурирование</p>
  <p id="vHC2">Урок 9 - Sci-Fi бочка: Look Dev в Marmoset Toolbag</p>
  <p id="NEwr">Урок 10 - Sci-Fi бочка: Подготовка ассета в Unreal Engine и создание материала</p>
  <p id="WnSH">Урок 11 - Sci Fi бочка: Закрепление материала и некоторые нюансы</p>
  <p id="D0EA">Урок 12 - Sci Fi канистра: Полный цикл</p>
  <p id="iwhI">Урок 13 - Sci Fi контейнер: ИИ-референс</p>
  <p id="4fe8">Урок 14 - Sci Fi контейнер: Моделирование</p>
  <p id="aSZn">Урок 15 - Sci Fi контейнер: UV-Мапинг</p>
  <p id="yBXR">Урок 16 - Sci Fi контейнер: Запечка и текстурирование</p>
  <p id="EQDs">Урок 17 - Sci Fi контейнер: Подготовка текстур</p>
  <p id="8jcC">Урок 18 - Sci Fi контейнер: Материал с двойным пайплайном</p>
  <p id="xcLr">Урок 19 - Sci Fi прожектор: Полный цикл моделирования</p>
  <p id="Qd84">Урок 20 - Sci Fi прожектор: UV-мапинг и запечка</p>
  <p id="e6kp">Урок 21 - Sci Fi прожектор: Текстурирование</p>
  <p id="HIOm">Урок 22 - Sci Fi прожектор: Материалы в Unreal Engine</p>
  <p id="MteI">Урок 23 - Sci Fi прожектор: Скриптинг в BP-Actor</p>
  <p id="pFVw">Урок 24 - Трим-лист и декальный лист в Substance Designer</p>
  <p id="2omp">Урок 25 - Дверь: моделирование</p>
  <p id="uJ9E">Урок 26 - Сборка материала в UE и тайловые текстуры</p>
  <p id="YlnT">Урок 27 - Дверь: текстурирование на два канала</p>
  <p id="Wj72">Урок 28 - Меш-декали и материалы для них</p>
  <p id="KaYE">Урок 29 - Дверь: демонстрация материалов на ассете</p>
  <p id="6kKO">Урок 30 - Заключение к главе</p>
  <h3 id="kJQn"></h3>
  <h3 id="zETp">Результаты после изучения главы 5:</h3>
  <p id="3FVF"></p>
  <ul id="2QFC">
    <li id="MqRH">Освоите (если до этого не знали) технику процедурной генерации текстур в Substance Designer на базе которых сформируем Tile/Trim пайплайн</li>
    <li id="BLnO">Поймете как можно скриптовать те или иные ассеты, чтобы использовать методы процедурной генерации. В перспективе это позволяет существенно автоматизировать процесс сборки карты</li>
    <li id="g9Ls">Наделаете множество своих ассетов (тут уж зависит от вашего трудолюбия), т.е. подготовите библиотеку пропсов для заполнения сцены под ваши нужды</li>
    <li id="RUXt">В качестве тестового подхода поработаем немного в связке с ZBrush - Topogun (мощный инструмент ретопологии)</li>
    <li id="9Wjc">Внедрим в процесс производства 2 нейросети в качестве помощников при концептинге форм и моделей, которые помогают искать идею от чистого листа до сырой 3D-модели</li>
    <li id="B6ib">И наконец. разберетесь где, как и почему используются UDIM-текстуры и многоканальные UV-развертки</li>
  </ul>
  <p id="iWT0"></p>
  <h3 id="OLYa">После изучения материалов главы вы освоите пайплайны производства пропсов и самое, главное станете понимать, где какой использовать и как их можно так или иначе комбинировать между собой</h3>
  <p id="ujij"></p>
  <h2 id="DoUF">Цена главы 5 - 14000 рублей</h2>
  <h2 id="E5vi"><a href="https://www.tinkoff.ru/rm/r_mXScRCoUeu.KhPCiMAAoT/UzXRt30191" target="_blank">Приобрести главу 5</a></h2>
  <p id="Xtob"></p>
  <figure id="bwqG" class="m_original">
    <img src="https://img1.teletype.in/files/c3/8f/c38fa4d4-4ca4-4ffe-bc38-1128953ed5cb.jpeg" width="1521" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@maltsewpro/rastitelnost</guid><link>https://teletype.in/@maltsewpro/rastitelnost?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro</link><comments>https://teletype.in/@maltsewpro/rastitelnost?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro#comments</comments><dc:creator>maltsewpro</dc:creator><title>КУРС «СОЗДАНИЕ 3D-СЦЕН НА UNREAL ENGINE 5 ДЛЯ ГЕЙМДЕВА / КИНОИНДУСТРИИ»</title><pubDate>Tue, 08 Apr 2025 09:15:14 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/bc/1c/bc1c0726-e6e5-494c-b341-fac586f61d98.png"></media:content><description><![CDATA[<img src="https://sun9-17.userapi.com/impg/IS5aKq1-QickCtcYIPlp4Y7FoXL7ew8vBksSMQ/qUK6i8dtvAg.jpg?size=1999x1135&amp;quality=95&amp;sign=36c3f4acd7a789049ed99c3fc79f0387&amp;type=album"></img>Урок 1: Введение]]></description><content:encoded><![CDATA[
  <h2 id="HULi">Получи навык создания 3D-модели с нуля до полноценной качественной сцены, готовой под игровой процесс или съёмку кино (синематик)</h2>
  <p id="JR7B"></p>
  <figure id="ZFIt" class="m_original">
    <img src="https://sun9-17.userapi.com/impg/IS5aKq1-QickCtcYIPlp4Y7FoXL7ew8vBksSMQ/qUK6i8dtvAg.jpg?size=1999x1135&quality=95&sign=36c3f4acd7a789049ed99c3fc79f0387&type=album" width="1999" />
  </figure>
  <p id="yXYn"></p>
  <h2 id="EfVc">ПРОГРАММА КУРСА</h2>
  <p id="ltca"></p>
  <h3 id="GSku">Глава 4. Создание растительности на базе технологии Megascan Tree. Ассеты вегетации: Основы ручной сборки и процедурный подход в Speed Tree</h3>
  <p id="szjt"></p>
  <figure id="qPy7" class="m_column">
    <iframe src="https://vk.com/video_ext.php?oid=-59202268&id=456239226&autoplay=0"></iframe>
  </figure>
  <p id="GJTx"></p>
  <p id="BTxp">Урок 1: Введение</p>
  <p id="O4aY">Урок 2: Универсальный шейдер. Ствол и крупные ветки</p>
  <p id="YT0e">Урок 3: Изучение атласа и ручной сборки кроны (теория)</p>
  <p id="GDRn">Урок 4: Универсальный шейдер (Атласы и крона дерева)</p>
  <p id="7m2G">Урок 5: Процедурная генерация дерева в Speed Tree</p>
  <p id="bgRr">Урок 6: LOD&#x27;s и доработка ассета дерева</p>
  <p id="PrFB">Урок 7: Доработка шейдера</p>
  <p id="Ji3V">Урок 8: Анализ структуры ассета и кое-что про Nanite</p>
  <p id="pBeQ">Урок 9: Plants: класс растений</p>
  <p id="8Enr">Урок 10: Grass: Трава и соцветия</p>
  <p id="0cyI">Урок 11: Bush: Класс кустов</p>
  <p id="ilCw"></p>
  <h3 id="49wg">Результаты после изучения главы 4:</h3>
  <p id="8MME"></p>
  <ul id="KMve">
    <li id="QY0N">Соберём и доработаем модульный шейдер для генерации листвы и разовьём его архитектуру для различных текстур, а не только тайловых</li>
    <li id="g8Ll">Рассмотрим процесс реализации листвы и продолжим работу в изучении классических методов создания листвы и последующей сборки кроны</li>
    <li id="HKNy">Изучим, что находится «под капотом» всего процесса производства растительности уровня Megascan Tree</li>
    <li id="yCfu">Проведём процедурное моделирование деревьев при помощи SpeedTree</li>
  </ul>
  <p id="PI8h"></p>
  <h3 id="cA2R">После изучения материалов главы вы полностью освоите всю систему технологии Megascan Tree и узнаете все компоненты системы, формирующей столь высокий визуальный уровень растительности</h3>
  <h2 id="ySyP">Цена главы 4 - 12000 рублей</h2>
  <h3 id="aIMJ"><a href="https://vk.com/away.php?to=https%3A%2F%2Fpayform.ru%2Fqo6R79g%2F&cc_key=" target="_blank">Приобрести главу 4</a></h3>
  <p id="jVDV"></p>
  <figure id="cBDG" class="m_original">
    <img src="https://sun9-19.userapi.com/impg/aJDdztsYdvk261kFs1iMGWdNlysYXfIIjmnz_A/QyIqON4AlqU.jpg?size=1999x1125&quality=95&sign=e181330d4879b418b82a0ffa4380602e&type=album" width="1999" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@maltsewpro/module_constructor</guid><link>https://teletype.in/@maltsewpro/module_constructor?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro</link><comments>https://teletype.in/@maltsewpro/module_constructor?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro#comments</comments><dc:creator>maltsewpro</dc:creator><title>Рекордсмен трудоемкости - модульный конструктор</title><pubDate>Tue, 17 Dec 2024 16:46:53 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/c0/51/c05157b5-d57d-4a96-a000-f3343bfb937c.png"></media:content><description><![CDATA[<img src="https://telegra.ph/file/c2f61e91b7c1db3a2cf5f.jpg"></img>Модульные наборы - пожалуй самый популярный цикл работ в рамках Environment Art, основанного на игровых технологиях и игровых движках.]]></description><content:encoded><![CDATA[
  <figure id="gnnI" class="m_original">
    <img src="https://telegra.ph/file/c2f61e91b7c1db3a2cf5f.jpg" width="1280" />
  </figure>
  <p id="Pzpf">Модульные наборы - пожалуй самый популярный цикл работ в рамках Environment Art, основанного на игровых технологиях и игровых движках.</p>
  <figure id="IgVO" class="m_original">
    <img src="https://sun9-33.userapi.com/impg/IbblsuswlA7hh4XfcEDx337n9hEv-R22WAnDHw/e0u_m5g6yrE.jpg?size=807x454&quality=95&sign=ae2c5a667d03ad1806aabe0775ce3268&type=album" width="807" />
  </figure>
  <figure id="cDk4" class="m_original">
    <img src="https://sun9-45.userapi.com/impg/8qim0ZlWxNyzxxjl4i0keuxHoB9X8nD6VTd8sg/mUnLUxgIGsU.jpg?size=807x454&quality=95&sign=29773ac3597c51f0b143dbcbe8dff842&type=album" width="807" />
  </figure>
  <p id="6sjA">Сразу отметим, что принципы модульных сборок - не догма, и не всегда нужно собирать все свои здания и строения из отдельных хитро сделанных кусочков.</p>
  <p id="mQGa">Главное (если говорить о визуале) - выдерживать тексель и контролировать работу тайлов (тайловых материалов)</p>
  <p id="0UPY">Одна из основных причин, почему принцип модульной сборки так востребован - это взаимозаменяемость отдельно взятых модулей в процессе сборки того или иного здания.</p>
  <p id="labW">Из этого принципа вытекает вывод:</p>
  <p id="Yl1y"><strong>Если ваши здания имеют слишком уникальный дизайн в формах, то степень взаимозаменяемости падает.</strong></p>
  <p id="L9wx">Идеальный конструктор - это такой, в котором все имеющиеся детали конструктора могут заменить любой другой. Но это идеал, в реальной жизни таких наборов считай, что и нет.</p>
  <p id="mF89">Однако - это тот принцип, к которому должен стремиться “строитель”.</p>
  <figure id="xNTC" class="m_original">
    <img src="https://sun9-19.userapi.com/impg/GLHcRL2z6DhIP0inHDWI_B6g73F0qo7Nqx-7wg/ZKrCFOGyhVg.jpg?size=807x454&quality=95&sign=db759db63927ce97fb7243ca49dad69c&type=album" width="807" />
  </figure>
  <figure id="qiCw" class="m_original">
    <img src="https://sun9-43.userapi.com/impg/8ppB7DngYPHzBjsgTBE8RaAdgIO3ejku5MLhPw/cc8LO28v0UI.jpg?size=807x454&quality=95&sign=b76abd576d756515848235026f9fa9ff&type=album" width="807" />
  </figure>
  <figure id="MUWM" class="m_original">
    <img src="https://sun9-34.userapi.com/impg/JhfmGLOdb9Qb2MdFfNK8nlPHI8xOya_T-Y8uWw/K9YhNVwP8Qk.jpg?size=807x454&quality=95&sign=18675819e53226db1bb8cb93a0732d80&type=album" width="807" />
  </figure>
  <h3 id="Каковы-же-основные-принципы-модулей?">Каковы же основные принципы модулей?</h3>
  <p id="ggC4"><strong>1. Кратность модульной сетки</strong></p>
  <p id="0bjL">Когда вы делаете свои модули в 3d редакторе, стоит для начала продумать метрику вашей модульной сетки. Ниже пример в 3ds max:</p>
  <figure id="fxBx" class="m_original">
    <img src="https://sun9-41.userapi.com/impg/trRe8vkD2yO0WkiL-KJGn4pndEN1sKB4ycvx2A/V5cwle38vnc.jpg?size=807x454&quality=95&sign=30bf94da3a95258a3a5145ddcb6af3d7&type=album" width="807" />
  </figure>
  <p id="5e6B">Я часто использую достаточно мелкую сетку с шагом в 10 см. Да она мелкая и можно использовать кратность и 20 см и 50 см.</p>
  <p id="wOw2">Но как по мне - это наиболее универсальный шаг. Опять же никого не призываю к этому, просто в своих проектах я чаще остальных значений задаю такое - 10 см.</p>
  <p id="3nOS"><strong>2. Привязки</strong></p>
  <p id="FP1G">Конечно если нет привязок на ту же сетку, что описал выше, то теряется всякий смысл. Крайние точки вашего модуля должны попадать в модульную сетку, иначе (даже если вы соберете целое здание в 3d редакторе), здание в движке - не соберется.</p>
  <p id="grVp">Дело в том, что UE использует фиксированные значения привязок и при несоблюдении их у вас будут либо нахлысты в стыках, либо зазоры, при этом в шаг даже в 1 см вы просто не попадете.</p>
  <figure id="k8XV" class="m_original">
    <img src="https://sun9-57.userapi.com/impg/6kcAjYAJqKQtfo4zQlnmSNWom_zcYX6P_je-0w/ntJSTZKAKBQ.jpg?size=807x454&quality=95&sign=dcfe50890e59675d4ffc119919141613&type=album" width="807" />
  </figure>
  <p id="eBnC"><strong>3. Положение якоря (Pivot)</strong></p>
  <p id="2Qe5">Располагайте его там, где модуль будет стыковаться с другим модулем</p>
  <figure id="lyVf" class="m_original">
    <img src="https://sun9-7.userapi.com/impg/6zcciNpE8k-83ycrCA6W_9fbR0iAXQlERHOSSg/bxnz2hk-PsE.jpg?size=807x454&quality=95&sign=70d0ef387bfddbea3d1ac410e0487b74&type=album" width="807" />
  </figure>
  <p id="b14E"><strong>4. Положение самого модуля со своим якорем в центре мировых координат редактора при экспорте</strong></p>
  <p id="Jbvn">Если не соблюсти это правило, то смысл в предыдущем пункте просто теряется. Якорь (за которой вы хватаете модуль чтобы его куда то сдвинуть или повернуть) улетит.</p>
  <p id="lD3V">На примере ниже, якорь выставлен как полагается, но при эскпорте нарушено правило центра мировых координат:</p>
  <figure id="mhcx" class="m_original">
    <img src="https://sun9-72.userapi.com/impg/vhszDCGyc6WM4oNgD8pnUigLs03r94p55qoogQ/SAMDf7ADZJ4.jpg?size=807x454&quality=95&sign=2cd5863e7f90b01584add8bf3dde3e12&type=album" width="807" />
  </figure>
  <figure id="1Yf1" class="m_original">
    <img src="https://sun9-39.userapi.com/impg/6p6jtgdRIWwuJ7HQnEJe0HgbjsYTOOmSdORoVw/iXdppsHXuJ4.jpg?size=807x454&quality=95&sign=2c587e636f3494429bcb08e4f51d4a71&type=album" width="807" />
  </figure>
  <p id="OFpH"><strong>5. Нейминг</strong></p>
  <p id="o8kF">Важность того, как вы называете каждый свой модуль растет в геометрической прогрессии с ростом библиотеки. Что будете делать, когда библиотека достигнет нескольких тысяч кусков</p>
  <p id="e8iD">Это только некоторые правила при моделирование конструктора.</p>
  <p id="fJYQ">Для разработки тайловых материалов также есть свои правила, определить разрешение выходных текстур, держать тексель, учитывать размеры при создании трим листов или декалей.</p>
  <figure id="IYtd" class="m_original">
    <img src="https://sun9-32.userapi.com/impg/2V4WlJZcuTM3Y2W9m779bqyVysfHSqy5DCea3w/gSvRWicvhwk.jpg?size=807x454&quality=95&sign=96e18e1de0d3335d505a77d365e7fd0a&type=album" width="807" />
  </figure>
  <p id="uQhW">Лично для меня особый интерес представляет разработка логики материалов непосредственно в Unreal Engine.</p>
  <p id="k4Q6">Казалось бы, тайловый материал стен с какой то базовой (буквально для фона, еле заметно - грязью), но какова логика, чтобы учесть все это параметрами в экземпляре материала:</p>
  <figure id="kObz" class="m_original">
    <img src="https://sun9-70.userapi.com/impg/w9pgklPnkTJ6XbHIC-zrpNwAFJ3vzVDtvH86GQ/nOJy5muOx_w.jpg?size=807x454&quality=95&sign=e0815101c0601c4b4221090986020506&type=album" width="807" />
  </figure>
  <figure id="kKU6" class="m_original">
    <img src="https://sun9-2.userapi.com/impg/3qdywMmz_RbXJBXLenrDOs1hGyCjOROm0Auydg/Jojf7Ju9Qkw.jpg?size=807x454&quality=95&sign=4af26c7ead12d988685df005e7f28773&type=album" width="807" />
  </figure>
  <p id="O1xd">или для декалей:</p>
  <figure id="rcdC" class="m_original">
    <img src="https://sun9-74.userapi.com/impg/NnlYaZrGhmzGrAk8O3F7LZjn47NJexXJlMMJXg/131rQjoSJJI.jpg?size=807x454&quality=95&sign=b8b3752eda15389e964de82344b5a4f8&type=album" width="807" />
  </figure>
  <p id="WT0e">продолжение:</p>
  <figure id="AAMc" class="m_original">
    <img src="https://sun9-32.userapi.com/impg/EvFOIF3T-iuyBFhSec5h7M4JbH_V5qzWdRHqhQ/E8na7Qg8pX0.jpg?size=807x454&quality=95&sign=19581997f1b191369e22428eb47a34f0&type=album" width="807" />
  </figure>
  <p id="w6nW">окончание:</p>
  <figure id="HVcG" class="m_original">
    <img src="https://sun9-55.userapi.com/impg/2zvftuk_zLs6ef7BcTqCgb8U2T6qwMQUZWzlIg/b7xPS1h45AQ.jpg?size=807x454&quality=95&sign=0122cb21e47e3394ba039ae02dc5d87a&type=album" width="807" />
  </figure>
  <p id="BYb3">логика:</p>
  <figure id="kyeL" class="m_original">
    <img src="https://sun9-37.userapi.com/impg/Wmw-IinEeXpQGuvxau-6ueA8xhZYw0pIxJ-ZLw/u5CB_Z0R-6s.jpg?size=807x454&quality=95&sign=68b81ee21da027777ea9d68362954da3&type=album" width="807" />
  </figure>
  <p id="qAWQ">Вообщем. я здесь просто не в состоянии покрыть все важные моменты.</p>
  <p id="Xjkm">Модульные сборки - одна из самых объемных тем для изучения. Неспроста, даже <strong>для моего последнего курса была сделана отдельная глава по этой теме</strong>, а спустя какое -то время сделана еще раз, но с другим подходом и отдается студентам в итоге как одно целое.</p>
  <p id="YxEe">А <strong>планируется еще одна на тему модулей но с принципиально другим подходом - от обратного</strong>. Когда сначала планируется визуал, тайлы, тримы, декали, а уже потом из них вырабатываются “стройматериалы”.</p>
  <h3 id="HdkA"><a href="https://teletype.in/@maltsewpro/flagman" target="_blank">ПОЛУЧИТЬ МОДУЛЬНЫЙ КОНСТРУКТОР И НЕ ТОЛЬКО</a></h3>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@maltsewpro/sale_article_flagman</guid><link>https://teletype.in/@maltsewpro/sale_article_flagman?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro</link><comments>https://teletype.in/@maltsewpro/sale_article_flagman?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro#comments</comments><dc:creator>maltsewpro</dc:creator><title>Как попасть в геймдев / киноиндустрию (нужное подчеркнуть :) и осуществить свою давнюю мечту?</title><pubDate>Tue, 17 Dec 2024 16:03:03 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/a2/09/a20980a9-d119-4e81-93ca-e0c0234370c9.png"></media:content><description><![CDATA[<img src="https://sun9-27.userapi.com/impg/xl6yvLTT-uxhgg0wYBSoAxCd8tRDStwkKXwPVw/_FMO55oibB8.jpg?size=807x498&amp;quality=95&amp;sign=cf9c0dd115ec70ede78feebe29610697&amp;type=album"></img>Привет!]]></description><content:encoded><![CDATA[
  <p id="xNUy">Привет!</p>
  <p id="GkzY">Огонь, что вы перешли по ссылке и открыли эту статью.</p>
  <p id="7Eco">Из этой статьи вы узнаете, как вам попасть в геймдев / киноиндустрию и даже наследить там :)</p>
  <p id="t7hq">НО вам важно дочитать эту статью до конца!</p>
  <p id="geky">Давайте для начала познакомимся - меня зовут Тимур Магомедов и я немного понимаю в области 3D-дизайна для геймдева на Unreal Engine 5 😉</p>
  <p id="k1f1">О чём вам сегодня и расскажу!</p>
  <figure id="B1BO" class="m_original">
    <img src="https://sun9-27.userapi.com/impg/xl6yvLTT-uxhgg0wYBSoAxCd8tRDStwkKXwPVw/_FMO55oibB8.jpg?size=807x498&quality=95&sign=cf9c0dd115ec70ede78feebe29610697&type=album" width="807" />
  </figure>
  <p id="FM06">Вот уже несколько лет я выкладываю свои 3D-модели в ArtStation и однажды мы познакомились с Хавьером Пересом, на минуточку, одним из директоров Sony PlayStation, Сан-Диего, Калифорния</p>
  <figure id="mk9M" class="m_original">
    <img src="https://sun9-12.userapi.com/impg/u1IJFj9P-zQAIdvdLypf0l83_MGn-a-gc7TQJQ/v8PL5kjnQ8I.jpg?size=807x454&quality=95&sign=35f90616dc913dde59a822b73f10702e&type=album" width="807" />
  </figure>
  <figure id="k9ZX" class="m_original">
    <img src="https://sun9-76.userapi.com/impg/KO2woeyo71yYa0OOp98_Sr9sGaCy8bGDe625hQ/qQ52cmRMpS8.jpg?size=807x454&quality=95&sign=63859934056302d151256a6e1815b5c8&type=album" width="807" />
  </figure>
  <p id="ZuCk">И возможно у вас есть вопрос, как прийти к тому, чтобы начать вести ArtStation и вообще как научиться делать игровые 3D-модели для своего проекта или на заказ для игровой студии, которые не стыдно будет выложить в портфолио?</p>
  <p id="BA1R">Да и вообще, что делать и с чего начать? На НельзяТубе много роликов, но оно конечно всё красиво, но вообще непонятно как сделать такое же или хотя бы похожее 🙂</p>
  <p id="fiV6">У вас явно есть страх, а вдруг не получится, и вы не сможете создать игровой проект на Unreal Engine 5, который выстрелит или же не сможете делать 3D-модели, которые захотят купить игровые / кино-студии!</p>
  <h3 id="Если-ничего-не-делать,-то-к-чему-всё-это-приведёт-в-итоге?">Если ничего не делать, то к чему всё это приведёт в итоге?</h3>
  <p id="8vgW">Каждодневная рутина и прокрастинация приведёт вас только к одному - к ВЫГОРАНИЮ и не дай Бог, вам больше не захочется творить и тогда ваш проект накроется медным тазом, даже не запустившись.</p>
  <p id="kROZ">Видите теперь, насколько это серьёзная проблема, которую если не решать, то это усугубится и часы у психолога вам обеспечены вместе с насмешками родных и друзей!</p>
  <h3 id="Продолжаем-разговор.-А-как-ты-делаешь-3D-визуализацию-для-очередного-“ценителя”?">Продолжаем разговор. Как проходит ваш день обычно?</h3>
  <ol id="GgzK">
    <li id="pr5H">Садитесь за компьютер и начинаете смотреть на бесконечную таблицу задач</li>
    <li id="rLKv">Понимаете, что вам это не потянуть и приходит прокрастинация </li>
    <li id="7RcK">Вы думаете, что лучше сделаю хоть что-то, чем ничего</li>
    <li id="MC6F">Вот и весь день - вы снова сделали то, что вас ни на йоту не приблизило к долгожданному результату!</li>
  </ol>
  <p id="obGo">И где вы тут творчески развиваетесь и включаете творца на полную или же вы просто наступаете на горло своей песне, когда занимаетесь рутинной работой?</p>
  <h3 id="Но-всё-не-так-плохо---у-меня-есть-для-тебя-хорошая-новость!">Но всё не так плохо - у меня есть для вас хорошая новость!</h3>
  <p id="sGby">На самом деле создание игровых 3D-моделей для своего проекта или на заказ - это увлекательный и довольно несложный процесс, который сразу вылечит вашу депрессию / прокрастинацию и окрылит вас без всяких там психологов!</p>
  <h3 id="Почему-это-просто?">Почему это просто?</h3>
  <p id="yKxI">Потому-что я покажу вам полный комплекс всего производственного процесса с нуля до полноценной качественной сцены, готовой под игровой процесс или съёмку кино (синематик).</p>
  <p id="J4Et">Такие сцены пачками нужны даже известным игровым / кино - студиям.</p>
  <p id="Otrk">И вы сможете их создавать на раз-два-три!</p>
  <figure id="sdP3" class="m_original">
    <img src="https://sun9-5.userapi.com/impg/9dSCeLCOq7l-7Xg4A1Pf1DTpunCuLG-l6po5Zw/EnpTLlsd87U.jpg?size=807x337&quality=95&sign=9699674749599cc1a447aa9fccdc1c6d&type=album" width="807" />
  </figure>
  <p id="9jsl">Таким образом вы сможете не только собирать свои сцены, но и полностью реализовывать все производство графики и иметь свои авторские: камни, модули (дома), деревья и прочую растительность, свой внешний вид и любое освещение, которое захотите.</p>
  <p id="0ITF">Больше вы не ограничены готовыми решениями!</p>
  <p id="Uus2">Можете задать ЛЮБОЙ облик сцене, даже самый фантастический.</p>
  <p id="8C2S">Такой какой захотите сами!</p>
  <h3 id="Почему-это-круче,-чем-смотреть-ролики-на-НельзяТубе-и-тратить-часы-своего-времени?">Почему это круче, чем смотреть ролики на НельзяТубе и тратить часы своего времени?</h3>
  <p id="bbvz">Потому-что вы получаете всё в одном месте - полный комплекс всего производственного процесса с нуля до полноценной качественной сцены, готовой под игровой процесс или съёмку кино (синематик) в деталях и подробностях + поддержка от меня, как от автора данного курса + обновление материала в будущем под актуальные тенденции.</p>
  <p id="v3eG">Согласитесь, что всегда важно, чтобы был человек, который вам подскажет, если что-то не получается?</p>
  <h2 id="ФИНАЛЬНЫЙ-ВОПРОС-К-ТЕБЕ">ФИНАЛЬНЫЙ ВОПРОС К ВАМ</h2>
  <p id="Fvsr">Теперь вы понимаете, почему нужно было дочитать эту статью до конца? 🙂</p>
  <p id="Pv7w">Как я вам и обещал, что этот текст может изменить вашу жизнь до неузнаваемости, и вернуть состояние творца и поддержку близких и друзей!</p>
  <h3 id="Сейчас-тебе-остался-только-один-шаг">Сейчас вам остался только один шаг!</h3>
  <p id="L08d">Если вы хотите избавиться от каждодневной рутины в жизни, и включить творчество на полную, жмите на ссылку ниже и переходите на страницу курса и выберите свой пакет, который подходит для реализации ваших желаний</p>
  <h2 id="ObZl"><a href="https://teletype.in/@maltsewpro/flagman" target="_blank">ПОЛУЧИТЬ НАВЫК СОЗДАНИЯ 3D-МОДЕЛЕЙ ДЛЯ ИГРОВЫХ ПРОЕКТОВ</a></h2>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@maltsewpro/tream_list</guid><link>https://teletype.in/@maltsewpro/tream_list?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro</link><comments>https://teletype.in/@maltsewpro/tream_list?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro#comments</comments><dc:creator>maltsewpro</dc:creator><title>Моделирование трим-листа</title><pubDate>Tue, 17 Dec 2024 15:04:21 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/0c/c5/0cc5a5c1-1894-4ed8-8294-cfe326099064.png"></media:content><description><![CDATA[<img src="https://sun9-28.userapi.com/impg/V2rAetWInk_n4r2S0JrrbX85RK2O4wvRSOWL2A/ZAryiNJUD2k.jpg?size=807x480&amp;quality=95&amp;sign=90777a397de4c54f93390cd1de626218&amp;type=album"></img>Что такое трим-лист и зачем он нужен?]]></description><content:encoded><![CDATA[
  <figure id="kKec" class="m_original">
    <img src="https://sun9-28.userapi.com/impg/V2rAetWInk_n4r2S0JrrbX85RK2O4wvRSOWL2A/ZAryiNJUD2k.jpg?size=807x480&quality=95&sign=90777a397de4c54f93390cd1de626218&type=album" width="807" />
  </figure>
  <h3 id="Краткий-ликбез">Краткий ликбез</h3>
  <p id="s7sF">Что такое трим-лист и зачем он нужен?</p>
  <p id="3gYx">Трим-листы (полоски), текстуры/материалы (набор текстурных карт) такие же как и все остальное, но вытянутые в одном направлении как правило горизонтальном, на которых умещается все что нужно для декорирования модулей и прочих объектов в сцене: </p>
  <p id="TzWf">- узоры, повреждения, какие-либо элементы, характерные для визуального стиля сцены и все это используется множество раз с целью снизить количество отрисовок (draw calls).</p>
  <p id="yGfC">И хотя методы разработки постоянно совершенствуются, выпускаются новые пакеты, дающие преимущества, упрощающие какие-либо аспекты создания таких ассетов, тенденция идет к увеличению автоматизма через процедурную генерацию.</p>
  <p id="sALj">Однако самая суть методики в своей сути не изменилась.</p>
  <p id="9GRf">В конечном счете, это приводит к пониманию этой сути и самостоятельному выбору подходов и инструментов. Но это уже частности.</p>
  <p id="G6Hm">Если же вы только приступили к этому вопросу, то советую изучить несколько практик и подходов, а уже после формировать под себя набор приемов и вырабатывать свой почерк.</p>
  <p id="ivYG">Давайте рассмотрим некоторые подходы.</p>
  <h3 id="Алгоритм-довольно-прост:">Алгоритм довольно прост:</h3>
  <ul id="b2kN">
    <li id="y0Vd">создаете плоскость (квадрат, это наша низкополигональная версия трим-листа, который дальше пойдет на покраску)</li>
    <li id="5dTU">делаем UV-мапинг</li>
    <li id="ETbh">копируете эту плоскость</li>
    <li id="qNAL">из копии моделируете сложные формы (это наша высокополигональная версия)</li>
    <li id="DCfR">экспортируете исходную плоскость (низкополигональную плоскость)</li>
    <li id="BaCL">экспортируете высокополигональную версию с деталями</li>
    <li id="Dy3M">запекаете с высокополигональной модели на низкополигональную плоскость карту нормалей</li>
    <li id="WA12">запекаете с готовой карты нормалей все остальные карты</li>
    <li id="VWyD">переходите к текстурированию (покраске)</li>
    <li id="JEcz">экспортируете нужные вам карты (текстуры)</li>
    <li id="RxCN">применяете их движок к специально подготовленному материалу</li>
    <li id="fRtL">одну из карт из готового набора применяете в 3d-редакторе в качестве визуального ориентира для UV-мапинга отдельных деталей модулей под этот трим-лист</li>
    <li id="aopT">выгружаете подготовленный таким образом модуль из 3d-редактора в движок и применяете к нему материал с трим-листом</li>
  </ul>
  <p id="yEl5">Вот так вкратце выглядит самый классический подход.</p>
  <p id="ZDEq">Давайте рассмотрим картинки, немного визуализирующие этот процесс:</p>
  <figure id="caNy" class="m_original">
    <img src="https://sun9-51.userapi.com/impg/-_pje36dBfyucB0xTwv-TcelcdDQwnV7bAZMFw/LRqv13a5cy4.jpg?size=807x454&quality=95&sign=803f665146a7d3fd81e9c8a4506f6027&type=album" width="807" />
    <figcaption>Обыкновенная плоскость - квадрат. Квадратная плоскость - квадратные текстуры</figcaption>
  </figure>
  <figure id="qPOR" class="m_original">
    <img src="https://sun9-78.userapi.com/impg/wIlgmxwsRpe7K28JcN-Y56HpdsBCQWW7Ty85mw/P3GZTaXgR9w.jpg?size=807x454&quality=95&sign=69d96935732c99de78dce19d3bd4055a&type=album" width="807" />
    <figcaption>UV-мапинг квадратной плоскости</figcaption>
  </figure>
  <figure id="CVWe" class="m_original">
    <img src="https://sun9-40.userapi.com/impg/SVKNnDS9qaLgG8xQ5sYoyOxuZ3tUA7y3NThD_g/lNqhRQIhPrg.jpg?size=807x454&quality=95&sign=6757621024bf5984169abcc2d2dbec71&type=album" width="807" />
    <figcaption>Копирование плоскости с целью создания высокополигональной модели, <br />собственно самого трима</figcaption>
  </figure>
  <figure id="42sI" class="m_original">
    <img src="https://sun9-65.userapi.com/impg/La4dBPXXCJT1hOk4ifNV1afzt_ZDciGLeSg2JA/KmczToTFWSE.jpg?size=807x454&quality=95&sign=dd34fc87e00ac36020f40d270b83ca63&type=album" width="807" />
    <figcaption>Из элементарной плоскости, копии, которую создали на предыдущем шаге, начинаем формировать сложные модели с таким дизайном, который нам требуется. <br /><br />Это обеспечивается общим дизайном локации и контролируется через артдирекшн</figcaption>
  </figure>
  <p id="Hi0T">Хотел добавить пару слов по поводу моделирования хай-поли (высокополигональной) версии. Эти принципы в общем-то касаются больше правил запечки нежели как такового построения трим-листа или декального листа, но все же их нужно учитывать.</p>
  <figure id="uqUs" class="m_original">
    <img src="https://sun9-63.userapi.com/impg/GYw6vtZW4gYOemkHV2lIV8knMI_g5UPSABgSAw/YTBYQvbrosY.jpg?size=807x454&quality=95&sign=9c688892de70784166e0f9f45932693a&type=album" width="807" />
  </figure>
  <figure id="Ue5A" class="m_original">
    <img src="https://sun9-44.userapi.com/impg/_RO7Ii2I1K7P9QU49pcUcdfuG5wrjRqge-udOQ/OnT4A5TsbmM.jpg?size=807x454&quality=95&sign=e8497f4015dea81e21127b5edb688c99&type=album" width="807" />
  </figure>
  <p id="4gSy">Обратите внимание на кромки. Они обязательно должны быть, кромки для запечки - это наше все.</p>
  <p id="zM5k">Если вы создадите даже очень сложный орнамент или рисунок модели, но при этом оставите ее без сглаженных кромок или сабдива, то ничего (или почти ничего) не спечется.</p>
  <p id="Yn41">Об этом можно написать отдельную статью, где подробно рассматривались бы принципы моделирования под запечку, алгоритмы синтеза (запечки) карт нормалей. Но эти вопросы лежат в несколько иной плоскости. Другая тема, иными словами. Поэтому, я кратко затронул этот момент, но теперь двигаемся дальше.</p>
  <p id="upkF">Собственно, экспорт я не думаю, что надо иллюстрировать. Единственное, что стоит отметить, если вы работает в сабстенс пейнтере, то в разных ситуациях нужно задуматься о формате экспорта. Я, как правило, в штатной ситуации использую формат *.obj</p>
  <p id="nhYa">Однако зачастую возникает ситуация в *.fbx (например, когда нужно передать информацию о мультикомпонентном материале или вертекс пейнте).</p>
  <figure id="q0MA" class="m_original">
    <img src="https://sun9-38.userapi.com/impg/yDOh4FMoGkTkQKQzRRe70L5Pj4mlG4oZZOQs3Q/LQBR82dQaT8.jpg?size=807x454&quality=95&sign=dd79a3da7ce24b929b8e79e500ec6481&type=album" width="807" />
    <figcaption>Результат запечки. Здесь я использую другой пример из своего набора.<br /><br />Здесь вы видите исходную плоскость с запеченным набором текстур, <br />в первую очередь - это карта нормалей</figcaption>
  </figure>
  <figure id="3AGi" class="m_original">
    <img src="https://sun9-79.userapi.com/impg/8InDOzlqV-yoTPf12iUE5a9Ndku0VhmK99XrwQ/Xvr3DN9NbyY.jpg?size=807x454&quality=95&sign=8157a2d8c798270853489742df10bf51&type=album" width="807" />
    <figcaption>Процесс покраски трим-листа. В данном примере он совмещен с тайловым материалом, <br />но суть от этого не меняется. <br /><br />Здесь вы видите две полоски сверху с нужным для моего проекта дизайном. В результате <br />эти тримы будут выполнять роль карнизов, навесов и прочих подобных областей зданий</figcaption>
  </figure>
  <figure id="el5k" class="m_original">
    <img src="https://sun9-37.userapi.com/impg/S8Zr3E1SCpbEBB74qx6mSpoLdORfKpCdbJ2BGQ/Bd-t9AqtJHE.jpg?size=807x454&quality=95&sign=47ba5015c4d7febedfc126b86b27907f&type=album" width="807" />
    <figcaption>А это уже типичный пример модуля с примененным на него тримом</figcaption>
  </figure>
  <figure id="CYH7" class="m_original">
    <img src="https://sun9-71.userapi.com/impg/fiktg00xspn2Ei76FvaUnHZ8mmvN-GcFx074AQ/5C_8Sb6JPwE.jpg?size=807x454&quality=95&sign=89ee9c71f68ad1625d81d8ba6ec553a6&type=album" width="807" />
    <figcaption>В итоге, чтобы применить трим-лист или несколько трим-листов на данный модуль <br />следует поработать с его UV-координатами. <br /><br />Применяем материал с текстурой базового цвета на модуль, включаем UV-редактор, накладываем эту текстуру в качестве шаблона, и начинаем редактировать отдельные части модели в зависимости от того, какой рисунок трим-листа вы хотите положить на эту область</figcaption>
  </figure>
  <figure id="TXzs" class="m_original">
    <img src="https://sun9-46.userapi.com/impg/KONtMkNpQHACV95mYjajGWtf3UIqhK9HRYsIBA/CWAgRPyW40w.jpg?size=807x454&quality=95&sign=332c7cad974ee5fd787ea19359f35d3d&type=album" width="807" />
    <figcaption>Результат обработки модуля на трим-лист</figcaption>
  </figure>
  <figure id="7CB1" class="m_original">
    <img src="https://sun9-21.userapi.com/impg/5-qixX9N17_bzNlKr-2WRXOF7FGXozX9Sh6BbA/xZ56ZlDNi1U.jpg?size=807x454&quality=95&sign=7e2c13ed9e02c0fc013cdc889dddfa60&type=album" width="807" />
    <figcaption>Еще один пример, к которому применен комплексный материал, у которого есть как тайловая часть, так и тримовая: 1 - тайловый материал, 2 - трим-лист</figcaption>
  </figure>
  <figure id="ZSmg" class="m_original">
    <img src="https://sun9-73.userapi.com/impg/PULXGPSwuABM0AYcqrYNKl5KHsumfGJ9Pocwvw/jmpJDAqZwvI.jpg?size=807x454&quality=95&sign=84c3eb6f3603467baa3bc5d7779d214f&type=album" width="807" />
    <figcaption>А это уже результат работы в движке с специфическим материалом <br />на базе тримовых текстур - в префабе</figcaption>
  </figure>
  <figure id="e7bG" class="m_original">
    <img src="https://sun9-68.userapi.com/impg/uTE1C_gJpzTQbZGPSP8r19m39z9skutmuhtFkw/ehIN7FEIXz4.jpg?size=807x454&quality=95&sign=f8ed8bffecdfdd2e6eb6c711dde1ba95&type=album" width="807" />
    <figcaption>Непосредственно в сцене</figcaption>
  </figure>
  <figure id="dynZ" class="m_original">
    <img src="https://sun9-36.userapi.com/impg/Vd9JqMyBHYBZRJGZOaTUmSZ-nun80B4SdcObPA/V45xAK0XHiQ.jpg?size=807x454&quality=95&sign=8c1fbe58879a3c7735f4046bc7bd6c6f&type=album" width="807" />
    <figcaption>Вот так выглядит настроенный материал трим-листа. Как видите - все те же полоски</figcaption>
  </figure>
  <p id="lD0d">Все то, что я описал выше можно условно отнести к классическому методу создания трим-листа через моделирование и запечку с последующим текстурированием.</p>
  <p id="Qjjc">Помимо этого метода есть масса иных техник, например процедурная разработка материала (набора текстур) в сабстенс дизайнере.</p>
  <p id="dW3X">Там работает все по принципу создания карты дисплесмента, которая по сути и заменяет процесс моделирования, а затем вы начинаете красить полученный результат подключая цветовые аспекты и прочие оптические свойства.</p>
  <figure id="xUtU" class="m_original">
    <img src="https://sun9-13.userapi.com/impg/2EWpJhgXm0gvvtTgbMO3nid3H666AVOXZVBYCA/4RQ7u2e74fY.jpg?size=807x383&quality=95&sign=bc62b13520e379deac281d83808aded8&type=album" width="807" />
  </figure>
  <p id="Xo8c">Но более подробно сейчас я уже не буду рассматривать процедурную генерацию. Это также отдельная статья.</p>
  <p id="5EOU">Напоследок хочу добавить, что <strong>на моем курсе все эти методы рассматриваются очень подробно и со всех сторон</strong>. Статья же - это галопом по Европе.</p>
  <p id="ZQbR">Описанное выше является частью производственного цикла под названием Environment Art, <strong>поэтому если желаете освоить эти методы, а также многое-многое другое, то приходите и будем учиться :)</strong></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@maltsewpro/shader_unreal</guid><link>https://teletype.in/@maltsewpro/shader_unreal?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro</link><comments>https://teletype.in/@maltsewpro/shader_unreal?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro#comments</comments><dc:creator>maltsewpro</dc:creator><title>Основы шейдеров в Unreal Engine 5</title><pubDate>Tue, 17 Dec 2024 14:29:24 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/6b/50/6b50924b-65ed-4a90-9a80-9a7f23d717f9.png"></media:content><description><![CDATA[<img src="https://sun9-1.userapi.com/impg/E_v4myo8Crnw6m7MU1OX2ErBGRy-2aDqg-xurA/2vfw5QSNDDU.jpg?size=807x403&amp;quality=95&amp;sign=3d731dc7161fdf52bd8fe4198cc25518&amp;type=album"></img>Создание шейдеров или материалов является одной из самых интересных и ответственных стадий разработки визуала в сцене.]]></description><content:encoded><![CDATA[
  <p id="jKou">Создание шейдеров или материалов является одной из самых интересных и ответственных стадий разработки визуала в сцене.</p>
  <figure id="Pplp" class="m_original">
    <img src="https://sun9-1.userapi.com/impg/E_v4myo8Crnw6m7MU1OX2ErBGRy-2aDqg-xurA/2vfw5QSNDDU.jpg?size=807x403&quality=95&sign=3d731dc7161fdf52bd8fe4198cc25518&type=album" width="807" />
  </figure>
  <p id="DxLp">Условно материалы можно разделить на несколько категорий по их назначению.</p>
  <p id="lp5h">Например, ландшафтные материалы, включающие в себя несколько слоев, материалы с особыми свойствами D-buffer для декалей, материалы для растительности, а также материалы для визуальных эффектов, работающие в связке с системой частиц Niagara.</p>
  <p id="ER0p">Такие материалы отличаются режимами исполняющей ноды или набором различных элементов и функций, которые вы добавляете на граф разработки и связываете в единую логику.</p>
  <p id="hDCl">Я полагаю, что если вы плохо ориентируетесь в этой теме, то разбираться с такими классами рановато, вместо этого лучше начать с изучения основных узлов, формирующих сколь угодно сложную логику.</p>
  <p id="COOm">А уже после переходить к специфике назначения того или иного шейдера.</p>
  <p id="wSu4">Предлагаю рассмотреть основные узлы, которые активно используются при создании логики материала:</p>
  <p id="KE5U"><strong>1. Результирующий узел</strong></p>
  <figure id="ARJg" class="m_original">
    <img src="https://sun9-23.userapi.com/impg/cT0MbOeaxca0AeGAArf16j3b9Ej4iZW9z3hZPw/D467rDpWBM8.jpg?size=807x454&quality=95&sign=c54d31fbedc48f63249fc5171e0dc542&type=album" width="807" />
  </figure>
  <p id="QBcL">Сюда выводятся все параметры, т.н. атрибуты, отвечающие за разные аспекты будущего материала:</p>
  <p id="aEP6">Базовый цвет, оптические свойства, типа бликов или шероховатости, контактные тени, формирующие микродетализацию наряду нормалями, свойства металличности и прочее…</p>
  <p id="H18i"><strong>2. Текстурный объект</strong></p>
  <p id="uVQA">Узел, позволяющий внедрять в логику материала текстуру.</p>
  <figure id="WNq6" class="m_original">
    <img src="https://sun9-35.userapi.com/impg/bb25ZrJBxYN2AOUurH8qvjwVP9CC6kLv0kiurQ/AZTvbgYUEzk.jpg?size=807x454&quality=95&sign=19a8381d288c09158466bd49b022e422&type=album" width="807" />
  </figure>
  <p id="7iWv"><strong>3. Текстурный семпл</strong></p>
  <p id="Gpdc">Наряду с текстурным объектом узел, который также позволяет манипулировать текстурной информацией в логике материала.</p>
  <figure id="7Czn" class="m_original">
    <img src="https://sun9-55.userapi.com/impg/bUX7qBEhrDpgN7fpNqtKrxU5JayTnzdYHuutVw/pNQVw1uMh3s.jpg?size=807x454&quality=95&sign=2cacd021751b8e059870ee270a0d9d22&type=album" width="807" />
  </figure>
  <p id="5Osy">Однако в отличие от предыдущего узла, имеет расширенный функционал, позволяющий проводить дополнительные манипуляции с текстурой, например, разбивать информацию о цвете на три основных канала (RGB), извлекать альфа-канал, а также манипулировать UV-координатами текстуры и многое другое.</p>
  <p id="n7dF">Текстурный семпл как правило используется чаще текстурного объекта и несет в себе все его возможности, тогда как текстурный объект применяется в отдельных случаях, например подается в материальные функции не работающие с текстурным семплом напрямую</p>
  <p id="c48Q"><strong>4. Узлы типа константы</strong></p>
  <figure id="uSUT" class="m_original">
    <img src="https://sun9-6.userapi.com/impg/xaOTRD0Voum_e40kpTLdZDRgbUr3E1-zj5ruLw/aUUZQa-C1_0.jpg?size=807x454&quality=95&sign=55d6f6106f56707ab153bb62cb8c3add&type=album" width="807" />
  </figure>
  <p id="tQ3h">Узла, которые определяют какое-либо число, показатель чего либо. </p>
  <p id="CkI5">Та что выше - одномерная константа, которая является в чистом виде математической абстракцией. Это просто число.</p>
  <p id="5PKu">Его смысл возникает только в контексте, когда мы прикладываем константу к какому либо механизму (логике):</p>
  <figure id="NSoD" class="m_original">
    <img src="https://sun9-49.userapi.com/impg/KIUiXZToOknsaiftveGAIKFpH3CD4DRLA1NgBg/1o3TO-S1hXc.jpg?size=807x454&quality=95&sign=e2c596ccf19df766cd09ceec986b370b&type=album" width="807" />
  </figure>
  <p id="ksja">На примере выше константу с нулевым значением я подал напрямую в атрибут базового цвета, что соответствует черному цвету, так как нулевое значение цветового индекса в RGB-поле это как раз черный цвет.</p>
  <p id="wLD0">В то же время, если вывести в константу значение 1 (оно является максимальным значением в RGB-поле):</p>
  <figure id="Gt2E" class="m_original">
    <img src="https://sun9-29.userapi.com/impg/CYodme4BeDiLu14HKKKPjGZ9DoCfj5F8vYe_6g/zhKKai9Aljw.jpg?size=807x454&quality=95&sign=99941cc26f8ecb37f0966fbbb85801d5&type=album" width="807" />
  </figure>
  <p id="a09t">Стоит иметь ввиду, что константа может влиять лишь на монохромный диапазон (от белого к черному), так как по своей природе является одномерной.</p>
  <p id="upv0">Для того, чтобы подать таким образом иной оттенок, нужно подключать все три RGB-канала в одно целое (наподобие радужного спектра) и управлять разными соотношениями трех базовых цветов (красный, зеленый и синий), которые могут дать совершенно разные оттенки:</p>
  <figure id="WjVI" class="m_original">
    <img src="https://sun9-3.userapi.com/impg/_woYvCvLD5TU-h1OAVX5tgpyA6ErRlLU1_-BCw/azx4XcVB284.jpg?size=807x454&quality=95&sign=9a6dc98c571dca67a78821e2a3795d84&type=album" width="807" />
  </figure>
  <p id="PCAK">На изображении ниже представлена 4-х мерная константа, так как помимо трех цветов подключен еще и 4-ый в виде альфа-канала.</p>
  <p id="K5KP">Кроме исходного состояния узлов многие из них можно параметризировать.</p>
  <p id="ihIj">Например ту же одновекторную (одномерную) константу можно параметризировать в скалярное значение:</p>
  <figure id="3w5x" class="m_original">
    <img src="https://sun9-66.userapi.com/impg/NDVcLDgRKXpskpin0UF16JagZndNvmmsfznflw/22XsfHQKjMo.jpg?size=807x454&quality=95&sign=fe79f629eb55be4d298f4da2a6152bb1&type=album" width="807" />
  </figure>
  <p id="a6a3">Далее придется задать скаляру уникальное имя, которое в свою очередь уже будет передано в экземпляр материала:</p>
  <figure id="1FxE" class="m_original">
    <img src="https://sun9-49.userapi.com/impg/KIUiXZToOknsaiftveGAIKFpH3CD4DRLA1NgBg/ToXRjKRovho.jpg?size=807x454&quality=95&sign=1a7ad3b28a28767347063157b8803780&type=album" width="807" />
  </figure>
  <p id="Q0VL">И далее создав такой экземпляр материала, напрямую манипулировать значением скаляра без необходимости каждый раз переходит в логику (мастер материал):</p>
  <figure id="7JXG" class="m_original">
    <img src="https://sun9-41.userapi.com/impg/NouoB5hgDy4Q4vYv1boPnh_tSFAlVT-xcFc0_w/yyIIKmHJ844.jpg?size=807x454&quality=95&sign=031cc4df155c167ef4eaa2c4d64de9d2&type=album" width="807" />
  </figure>
  <p id="NwMm">Экземпляр наследован от мастера со скаляром с названием “Пример”</p>
  <p id="E3LU">Наследование экземпляров не только очень удобный подход, но и крайне практичный. Потому что на базе одной логики (мастер материала) как правило создается несколько инстансов (экземпляров), в каждом из которых одни и те же параметры могут отличаться.</p>
  <p id="yN8F">Это часто применяется при создании, например трим листов или D-Buffer декалей, в одном экземпляре я например могу включить эмиссию, а в другом нет.</p>
  <p id="NVM4"><strong>5. Static Switch Parameter</strong></p>
  <p id="W8jH">Статический переключатель по типу булиновой процедуры (элементарная логика переключения с “ложь” на “правда” и наоборот).</p>
  <p id="vhvd">На примере ниже вы видите ошибку компиляции, так как статический переключатель не терпит пустых значений в “правду” и в “ложь” обязательно должны подаваться какие-то сигналы.</p>
  <p id="WXFe">Этот переключатель по умолчанию передается в экземпляр (инстанс) и нужен для того, чтобы как раз переключаться между какими-либо сложными логиками.</p>
  <p id="a1ZZ">Например, подключать лужи на ландшафтный шейдер или подключать снег.</p>
  <p id="suHV">Все в таком духе:</p>
  <figure id="7srt" class="m_original">
    <img src="https://sun9-73.userapi.com/impg/1y6OaPZ8lnBpRZ_2uSrqlwQWcaxwRZqMBNFahQ/NNWL2QzSrLQ.jpg?size=690x439&quality=95&sign=ab8a04e667bde04f1d47d27d24d890f5&type=album" width="690" />
  </figure>
  <p id="VoNY"><strong>6. Landscape Layer Blend</strong></p>
  <p id="k1xb">Еще один важный узел, расщепляющий логику на слои.</p>
  <p id="WODF">Фактически вы имеете один материал с кучей параметров и функций, но который еще может расщепляться на слои, выбирая которые вы можете красить каким-либо слоем ту или иную поверхность.</p>
  <p id="yaQb">Этот механизм используется при создании материалов для ландшафта (вторая часть этой статьи будет посвящена рассмотрению одного из таких материалов):</p>
  <figure id="2tr9" class="m_original">
    <img src="https://sun9-42.userapi.com/impg/Fmb4TXv_Smdtz2wu0665xSj7LeB6bHkytKV5Xg/vnyLSrqjo84.jpg?size=807x454&quality=95&sign=308ab01e97bf8717c1b99ce8ad59caa9&type=album" width="807" />
  </figure>
  <p id="DKZe"><strong>7. Material Function</strong></p>
  <p id="QGCf">Еще одна ценная возможность. Это использование материальных функций.</p>
  <p id="fXv2">Подход с их применением позволяет упаковать часть функционала в один блок и переиспользовать в основном графе мастер материала неограниченное количество раз:</p>
  <figure id="dJLU" class="m_original">
    <img src="https://sun9-45.userapi.com/impg/dXPh6YJCythuHYRnWPwzIPfwZZgwIi70ypkd2w/HUt3-BXi8F8.jpg?size=807x454&quality=95&sign=b601b872debff9ebaeac434e883d3978&type=album" width="807" />
  </figure>
  <p id="Smgk">На примере ниже, я просто умножил FunctionInput (любое входное значение) на 2, и вывел его наружу:</p>
  <figure id="A8MW" class="m_original">
    <img src="https://sun9-24.userapi.com/impg/HbvURtKY-_XWB_wC-2OoeKHzMbFtNFw8o4epmQ/c3lxLxjwRBE.jpg?size=807x454&quality=95&sign=65caadcc9976f0a4a151a88432fe1f96&type=album" width="807" />
  </figure>
  <p id="M2z8">Входное значение - 1</p>
  <p id="F85G">Выходное значение (результат) - 2</p>
  <p id="3trC">Сам механизм (логика) умножающая входное значение на 2</p>
  <p id="L02X">И вот сама функция выглядит в мастер-материале так:</p>
  <figure id="qm5k" class="m_original">
    <img src="https://sun9-13.userapi.com/impg/P9GiMh2QbBEw7gOBWbb_yODTfwegs8CPaLs-jA/AeD_E-7RaeA.jpg?size=807x454&quality=95&sign=85d8b3716639745903ebad201d25d0e4&type=album" width="807" />
  </figure>
  <p id="67WY">На вход подается скалярное значение равное 2, проходит через саму функцию, в которой это значением преобразуется (помножается на 2) и поступает на выход в атрибут BaseColor. Таким образом на выходе имеем значение 2 * 2 = 4.</p>
  <p id="qLij">Но это пример очень простой, я бы даже сказал, примитивный.</p>
  <p id="yaFY">Как вы догадываетесь, материальные функции создавались разработчиками не ради таких элементарных примеров. В них как правило размещается ключевая и достаточно сложная логика с очень большим количеством параметров и вариантов исхода событий.</p>
  <p id="Yuex">Теперь рассмотрим занятный пример ландшафтного материала с применением вышеописанных узлов, а также некоторых других:</p>
  <figure id="opEP" class="m_original">
    <img src="https://sun9-37.userapi.com/impg/Ibp5U96jClvh__RJQVp7A9flo57AY2gSgJve1w/9HFkR04kxZM.jpg?size=807x454&quality=95&sign=9f5ecca3d1ca6ff45abf6fd4353c9bcb&type=album" width="807" />
  </figure>
  <p id="aiRj">В этом примере, начинается все с тайлинга, когда нужно спроецировать текстуру и отрегулировать размер номинального рисунка этой текстуры:</p>
  <figure id="VqyN" class="m_original">
    <img src="https://sun9-49.userapi.com/impg/leyeJSkmJXt-yKdBjLIopaFIBIIJ3d5H-t1CdA/cLs1ty5-QZc.jpg?size=807x454&quality=95&sign=1725adfa6dadf6f8b07304a97a04d5b7&type=album" width="807" />
  </figure>
  <p id="8cwe">Регулировка размера текстуры как раз упакована в функцию, в которую в свою очередь подается скалярное значение, определяющее размер текстуры и соответственно ее повторяемость на всей площади ландшафта:</p>
  <figure id="ko2N" class="m_original">
    <img src="https://sun9-37.userapi.com/impg/kbHRLNCu8XcDf4h1ivCsHU3hO_LKN1v2TBEThA/MTSg1Dtkujc.jpg?size=807x454&quality=95&sign=4fb735b27d9adeb242287417c3180c98&type=album" width="807" />
  </figure>
  <p id="1UzP">Здесь задается номинальный размер всего ландшафта - 1, который просто делится на некое скалярное значение (оно и определяет тайлинг текстуры на поверхности ландшафта) - 2 и 3.</p>
  <p id="djhm">Этот процесс позволяет как бы поделить весь ландшафт как бы на клеточки, размер которых и задается скалярным значением, после чего результат подается на маску, в которой захватываются только каналы R и G, соответствующие координатам X И Y, исключающие координату Z, что дает возможность более адекватно проецировать ПЛОСКУЮ текстуру на поверхность ландшафта.</p>
  <p id="sGjN">Идем дальше. И теперь управление тайлингом, а следовательно UV-координатами текстуры подается в несколько функций, в каждой из которых как раз и прописан отдельный слой материала:</p>
  <figure id="ghwK" class="m_original">
    <img src="https://sun9-66.userapi.com/impg/X4aytDObhf08PiBSK0W3lgKtVOd_o6PHcA7UJA/0gHpemqB2YA.jpg?size=807x454&quality=95&sign=03703498df926ae5fcf375a344688062&type=album" width="807" />
  </figure>
  <p id="M6XS">Давайте рассмотрим более подробно какую-нибудь функцию слоя.</p>
  <p id="AviG">Обратите внимание, здесь для формирования слоя применяется три текстуры -1, текстуры в свою очередь подаются на еще одну функцию, которая включает в работу различные маски и дополнительные параметры для реализации механизма смешивания:</p>
  <figure id="ggmT" class="m_original">
    <img src="https://sun9-68.userapi.com/impg/mDBU_8tgkiDSWY26XWagtuFKXklAILcmVEIy1g/rqHo6tFijUc.jpg?size=807x454&quality=95&sign=cc0b0ceea1bf4c74d4cc6a94bc56abdf&type=album" width="807" />
  </figure>
  <p id="g26S">Далее выводится еще одна функция - 2, которая просто за счет компонентных масок отделяет канал в RGB-поле (это нужно на тот случай):</p>
  <figure id="ScMD" class="m_original">
    <img src="https://sun9-63.userapi.com/impg/XdZE1_7t7Vp77MwJArMERVKBSBF9aufWA8DwSQ/b1i-hAz-aP4.jpg?size=807x454&quality=95&sign=34f6da2230170c91502b86cb464317c3&type=album" width="807" />
  </figure>
  <p id="Cx52">Ну а узел 3 - называется Make material Attribute:</p>
  <figure id="ezAJ" class="m_original">
    <img src="https://sun9-20.userapi.com/impg/uZNDhVtN_-a3rNroDkwg0OoCdUFBnN8cmv0Ryg/VSq64ZM208g.jpg?size=807x454&quality=95&sign=6a04a85a345b1791624ba9c4447fb3fb&type=album" width="807" />
  </figure>
  <p id="VoO8">Такой узел нужен для того, чтобы собрать все атрибуты (baseColor, Normal, Roughness и проч.) в единый сигнал и вывести его на узел, определяющий слои (Landscape Layer Blend). Make Material Attribute зачастую работает в связке с противоположным узлом Break Material Attribute:</p>
  <figure id="Auuq" class="m_original">
    <img src="https://sun9-20.userapi.com/impg/uZNDhVtN_-a3rNroDkwg0OoCdUFBnN8cmv0Ryg/8zmv8R6FRLM.jpg?size=807x454&quality=95&sign=52a8258ec0aef0efda06d56d7eccc75a&type=album" width="807" />
  </figure>
  <p id="q6qe">И после этого, все необходимые сигналы выводятся на выходы функции, т.е. вот сюда:</p>
  <figure id="LGio" class="m_original">
    <img src="https://sun9-29.userapi.com/impg/v7VEeL6EDntGcaQmkVhsJQMELiSrYxXk9qNuXg/GS9ALauiPtU.jpg?size=807x454&quality=95&sign=7cd7536a236d1feb428b989375f10159&type=album" width="807" />
  </figure>
  <p id="joeH">Таких функций, определяющих слои несколько и они уже поступают на узел слоев Landscape Layer Blend. А дальше, чтобы разбить сигнал снова на атрибуты как раз и подается Break material Attribute, о котором я писал выше:</p>
  <figure id="GPWB" class="m_original">
    <img src="https://sun9-43.userapi.com/impg/kXqMDDG-NwGyogdBsgem7wk2I7UOtfVXMI6yYw/vN2Tqvyx5gU.jpg?size=807x454&quality=95&sign=24664a84aa304c809db3c1f122358e1b&type=album" width="807" />
  </figure>
  <p id="mbgM">Вы справедливо можете спросить, а зачем сначала атрибуты объединять в один сигнал, а затем снова его разбить на составляющие.</p>
  <p id="8QrF">А все дело в том, что между этим двумя процедурами проложен слоевик - Landscape Material Attribute, который задает слои, фактически подматериалы.</p>
  <p id="iN6A">Таким образом, мы соединили все атрибуты в единое целое и подали на слой, после чего сигнал, в котором заложена информация о принадлежности к какому-либо слою и после разбивается на атрибуты.</p>
  <p id="IDSb">Таким образом на выходе мы не просто имеем разные атрибуты, но атрибуты с принадлежностью к какому-либо слою.</p>
  <p id="RLdL">Ну а далее уже определяются разные дополнительные механизмы, например лужи:</p>
  <figure id="fjdR" class="m_original">
    <img src="https://sun9-62.userapi.com/impg/7E95M1yGln5uex4XWMSq2pHzEZ8kckw3JhpDOA/NwW5Zif0xxU.jpg?size=807x454&quality=95&sign=ad3ac1dbc55bc61210461db54db12263&type=album" width="807" />
  </figure>
  <p id="M2Cf">Зима:</p>
  <figure id="Rw1T" class="m_original">
    <img src="https://sun9-57.userapi.com/impg/P1LMKdW_jhbi_oR6xAOLgw_LBVWW1m1FXvax8w/Xe0BvMMo1aw.jpg?size=807x454&quality=95&sign=f8c5e45911b1fd247fa9cb49b2f03642&type=album" width="807" />
  </figure>
  <p id="VWMo">Общая влажность:</p>
  <figure id="9Y0A" class="m_original">
    <img src="https://sun9-25.userapi.com/impg/hgL7DF0UbWrVX7L-AC0lJVxfb_FPCEfp9r66Rg/Ur7DQByJeEM.jpg?size=807x454&quality=95&sign=7aa8134bb242975a624c634a470680e7&type=album" width="807" />
  </figure>
  <p id="sv3o">И многие такие компоненты реализованы как раз материальными функциями.</p>
  <p id="kmQ1">Кроме того в ландшафтных материалах зачастую используется спавн растительности и мелких элементов, т.н. грасс тайпы:</p>
  <figure id="8TEC" class="m_original">
    <img src="https://sun9-21.userapi.com/impg/HzXU4SLB0QMuqjpCxeOfUQsaKlLDhTcZTjSkvQ/BekCdYGlTzE.jpg?size=807x454&quality=95&sign=ed15f6b388e7c10bc525dd72dd73dd2d&type=album" width="807" />
  </figure>
  <p id="50JI">Многие особенности материалы мы прошли лишь вскользь.</p>
  <p id="yLGF">Причина проста: статья итак вышла большой и чтобы рассмотреть весь материал в деталях со всеми объяснениями потребуется и статья, и целая методичка.</p>
  <p id="Odrn"><strong>Так что кому интересно приходите ко мне на курс, про который я вам скоро расскажу</strong>. Там мы исследуем многие такие материалы в подробностях.</p>
  <p id="9P8X">Материала очень много и будет очень увлекательно, и полезно!</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@maltsewpro/vegetation</guid><link>https://teletype.in/@maltsewpro/vegetation?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro</link><comments>https://teletype.in/@maltsewpro/vegetation?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro#comments</comments><dc:creator>maltsewpro</dc:creator><title>Растительность, которая оживляет все…</title><pubDate>Tue, 17 Dec 2024 13:48:45 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/71/06/7106a400-8a8f-4d37-8a7b-f454a7407d53.png"></media:content><description><![CDATA[<img src="https://telegra.ph/file/eb149327b9b3193fba025.jpg"></img>Без лишних слов.]]></description><content:encoded><![CDATA[
  <figure id="196E" class="m_original">
    <img src="https://telegra.ph/file/eb149327b9b3193fba025.jpg" width="1280" />
  </figure>
  <figure id="18PO" class="m_original">
    <img src="https://sun9-20.userapi.com/impg/IcQ5kSdpUhTfCrFQzy7qlHbOCSjPQ45B1g7SSQ/aD6V8rDICHw.jpg?size=807x452&quality=95&sign=7106a42cce74035847dbbe4c6242b469&type=album" width="807" />
  </figure>
  <p id="R0SV">Без лишних слов.</p>
  <p id="9OAv">Вот так выглядит готовый ландшафт с крутым материалом:</p>
  <figure id="xJ5c" class="m_original">
    <img src="https://sun9-28.userapi.com/impg/jzNBs5Z4goQSQuyVI3iEdt-AYHyd30Y23M3L4Q/Z1TCGeAO_yw.jpg?size=807x454&quality=95&sign=148d8c895ea912252fe5c986b9d93c52&type=album" width="807" />
  </figure>
  <p id="GGhd">Вот так выглядит он же, но уже с детализацией через Grass Types:</p>
  <figure id="mP41" class="m_original">
    <img src="https://sun9-49.userapi.com/impg/jMsZqSsyF8XFztDl2-WRVtk4BewFK_fVwbTxDw/BeHPBZszyE0.jpg?size=807x454&quality=95&sign=63ce4cec586fdcdbf93431e07ef63e6d&type=album" width="807" />
  </figure>
  <p id="vVOt">А теперь подадим сюда растительность (ракурс тот же):</p>
  <figure id="pTkm" class="m_original">
    <img src="https://sun9-79.userapi.com/impg/1jLi23WvaHCzGhiB99r4HKNPcLyO-z2aITWpbA/9KpnbhzZfKg.jpg?size=807x454&quality=95&sign=dac6698cfa81cd228e30fc06ec00cfae&type=album" width="807" />
  </figure>
  <p id="DlQe">Еще ракурс:</p>
  <figure id="rKGU" class="m_original">
    <img src="https://sun9-24.userapi.com/impg/aVnmOkBz2BfcuRgzdfcS0B_NC6-uIAQmZdMeNQ/YDaDv97G5g8.jpg?size=807x454&quality=95&sign=d74032580622034b80b5c77df53574c4&type=album" width="807" />
  </figure>
  <p id="L80M">Пример из моего текущего проекта:</p>
  <figure id="NnRd" class="m_original">
    <img src="https://sun9-17.userapi.com/impg/Tzx80PgttFVzLldlHqnd4dxbG0V6-Ae3P81aVg/Z90Tmk5tcdI.jpg?size=807x454&quality=95&sign=76b5abc7bf3f059e25f06efb0cc31c5c&type=album" width="807" />
  </figure>
  <p id="75Rd">Добавил только деревья и папоротник:</p>
  <figure id="V1Sd" class="m_original">
    <img src="https://sun9-51.userapi.com/impg/zbsbXkWy8oMYKg6s4mVDn5bSTWNj9E1yIG2uIw/soJL4yeICg8.jpg?size=807x454&quality=95&sign=58e036caa991a6959477589be5ab301d&type=album" width="807" />
  </figure>
  <p id="rjro">Растительность (в частности деревья) не моделируется привычным образом: сделать ствол, сделать ветки, сделать еще мелкие ветки и потом смоделировать листики и уже на них класть текстуры.</p>
  <p id="W7Q2"><strong>Цепочка действий скорее выглядит так:</strong></p>
  <p id="PD8H">Сделать ствол, сделать крупные ветки, сделать средние ветки, потом применить атласы, которые реализуют мелкие ветки, побеги и собственно листья.</p>
  <p id="4iod">Вот яркий пример такого процесса (изображения любезно предоставила мне для данной статьи моя помощница):</p>
  <figure id="sGvi" class="m_original">
    <img src="https://sun9-63.userapi.com/impg/49Dxo0e_FIFSxQu6RO3sMR8a2QferTArrUC5Ng/qJgm_vcpuHo.jpg?size=807x452&quality=95&sign=98a35f6d75cef57855350aab5d8481ca&type=album" width="807" />
  </figure>
  <figure id="ZFmP" class="m_original">
    <img src="https://sun9-28.userapi.com/impg/F0H66hz3QVEAgg376U_hBEChO6hh93-Q7I_dwA/3lQlMZ9j6Y4.jpg?size=807x452&quality=95&sign=2911c4bde3aa60bf78084a6fce5f793a&type=album" width="807" />
  </figure>
  <figure id="mqN6" class="m_original">
    <img src="https://sun9-65.userapi.com/impg/ZfYYH8n3NgHZeqIeczNxkbjb-vYnhktKT5986A/fMz222lCoCg.jpg?size=807x452&quality=95&sign=456cae683225eba7bd5d4f3ee586f09f&type=album" width="807" />
  </figure>
  <figure id="PQLJ" class="m_original">
    <img src="https://sun9-22.userapi.com/impg/88TFq_wbR7Af2BhyokVluA86gGloxwTh-hgIBA/YiSpJ5OXJ-s.jpg?size=807x452&quality=95&sign=d37cb3bd09ff7bde61c5faeb74e90f9d&type=album" width="807" />
  </figure>
  <p id="dVuO">Начиная с этой стадии, не все такие мелкие ветки стоит уже генерировать моделями, а все-таки стоит загнать их в атлас вместе с листвой и загенерить выше к макушке дерева, т.е. туда, где не требуется высокой детализации (в целях оптимизации):</p>
  <figure id="8fAT" class="m_original">
    <img src="https://sun9-77.userapi.com/impg/qE9ZTwcK1at-FCAUC2HI5spiCcMv6DlL81USrQ/gkh3_CzrK5A.jpg?size=807x452&quality=95&sign=508b15a6931aef504f6decd40b11922f&type=album" width="807" />
  </figure>
  <p id="p8o1">Ну и собственно листва:</p>
  <figure id="gUih" class="m_original">
    <img src="https://sun9-20.userapi.com/impg/IcQ5kSdpUhTfCrFQzy7qlHbOCSjPQ45B1g7SSQ/59NnyBJCGcQ.jpg?size=807x452&quality=95&sign=e2dc93e381e097bcc8c6220854e838da&type=album" width="807" />
  </figure>
  <p id="W2T8">Так как же все-таки делаются такие атласы? </p>
  <p id="VZTY">Вы можете использовать ассеты из мегаскановской библиотеки:</p>
  <figure id="Hd4i" class="m_original">
    <img src="https://sun9-42.userapi.com/impg/_NF0J2VZTLTtdqYcN3_EQvI80wFRqpr24WzWYg/PUtwfNHoC8o.jpg?size=807x454&quality=95&sign=e1963cb6144078e074d17664acd7d99b&type=album" width="807" />
  </figure>
  <p id="Q9uR">А затем такая текстура уходит на обработку. Если рассматривать ручные дедовские методы, то в любой 3d-редактор (на примере 3ds max).</p>
  <p id="LgYP"><em>К слову я планирую рассматривать со своими студентами и дедовский метод в рамках обзорного мастер-класса (типа смотрите, но повторять на практике не обязательно).</em></p>
  <p id="LJX5"><em>Это нужно для более качественного и глубокого понимания механизмов “под капотом”, чтобы вы делали в будущем такие ассеты осмысленно.</em></p>
  <p id="89by">Однако в реальном производственном цикле - изучаются естественно процедурные методы генерации и используются как основные.</p>
  <p id="uGB9">Итак, обычная плоскость с нанесенной на нее текстурой карты непрозрачности:</p>
  <figure id="926O" class="m_original">
    <img src="https://sun9-78.userapi.com/impg/ABia_TnXz2id7Trb5BBpZoMMA3jQPllsc0xNQQ/1yB7KeT_2Fw.jpg?size=807x454&quality=95&sign=60816355ce2168c341a627227cee3171&type=album" width="807" />
  </figure>
  <p id="5v6Q">Используем это как шаблон, для выпиливания лобзиком :)) каждого листочка (кстати, в любой программе процедурной генерации растений, которые заточены специально под создание именно растительных ассетов, алгоритмы точно такие же).</p>
  <p id="kK6x">Также можно отметить что из данного атласа вы можете вполне обойтись одним - двумя листочками, но чем больше вы возьмете в работу, тем большее разнообразие будет в итоговой кроне дерева.</p>
  <p id="CgAl">Бывает также и так, что листва под одно дерево берется из двух, а то и трех разных атласов, но это уже больше творческие детали.</p>
  <p id="p0Ul">Итак выпилили (важный момент здесь - это якорная точка):</p>
  <figure id="djYV" class="m_original">
    <img src="https://sun9-67.userapi.com/impg/iExJHfJMxgaGPXf4-xKK1buEmwUYjHJGwwx7zg/k5HDwC_-CUw.jpg?size=807x454&quality=95&sign=7ffbbc133bafafbe87b2127c98db4ed7&type=album" width="807" />
  </figure>
  <p id="zyZF">А теперь формируем кустик (на данном изображении очень условный кустик, конечно это делается более сложно и более продумано и больше трех листочков, да еще и веточка там есть), но смысл показан правильно:</p>
  <figure id="WcTc" class="m_original">
    <img src="https://sun9-25.userapi.com/impg/pKP2axcMWGnwahz1UJkeOSKv9996_zsPeQBeDQ/nEcGEcFmLmg.jpg?size=807x454&quality=95&sign=f33ee8f83a7dc218f635da72dd699bec&type=album" width="807" />
  </figure>
  <p id="F872">А так это выглядит с альбедо текстурой:</p>
  <figure id="Vjb3" class="m_original">
    <img src="https://sun9-28.userapi.com/impg/13ZhZ6WGzN37l5pM5puLCll7I9WgdNsAPQfQtw/c8XurEF2YUo.jpg?size=807x454&quality=95&sign=b79ec9ac63402fede1d98f280ef40247&type=album" width="807" />
  </figure>
  <figure id="OVua" class="m_original">
    <img src="https://sun9-65.userapi.com/impg/SUl-U2GOU2fbcDz26SkG4DAB0kpqisHNYOvUWg/-QDIULRRxlU.jpg?size=807x454&quality=95&sign=9273297beaa2f0eb67b5bbc61d8e364a&type=album" width="807" />
  </figure>
  <p id="tLbT">Такой кустик, или побег, или ветка затем при необходимости перезапекается на рабочий атлас, который уже служит основой для сборки кроны:</p>
  <figure id="3DEv" class="m_original">
    <img src="https://sun9-56.userapi.com/impg/a5kDKknfXdTu-ZTudxjZufm3brH_JrRkTaHT_w/hGiMf6PAn4M.jpg?size=807x454&quality=95&sign=2f47252ad19977afe2278db818336f72&type=album" width="807" />
  </figure>
  <p id="t9dh">Ну и так далее…</p>
  <p id="sl4f">Когда дерево собрано - оно выглядит примерно так (на изображении некоторые мои ольхи и ели):</p>
  <figure id="Hi2g" class="m_original">
    <img src="https://sun9-32.userapi.com/impg/U-MVaxqWqwoIOI7UKK1lT_Zr_cVegUWLZ37DLA/TeFPQ1ht0CA.jpg?size=807x454&quality=95&sign=8688e6a4ade150bb4fce08289e72b482&type=album" width="807" />
  </figure>
  <p id="q36Z">И работа материала:</p>
  <figure id="xD7Z" class="m_original">
    <img src="https://sun9-37.userapi.com/impg/2a5707t7vep0gyo2_wgWbfOCGMvvPhyxtXgHrA/qaFfzHzZBK0.jpg?size=807x454&quality=95&sign=4ff0c4b0869527e4b4f30d5f6fcfc679&type=album" width="807" />
  </figure>
  <p id="2iXv">Ольха:</p>
  <figure id="ILC1" class="m_original">
    <img src="https://sun9-17.userapi.com/impg/TeDB3F8nXKTvWdYkIXJ9JWk4mclNo3l90Yk4-g/KCnDRgw5wgc.jpg?size=807x454&quality=95&sign=f0285629988d2edacd4247b2f85efd65&type=album" width="807" />
  </figure>
  <p id="tozp">Собственно рабочий атлас на этом дереве выглядит так:</p>
  <figure id="cWUa" class="m_original">
    <img src="https://sun9-3.userapi.com/impg/oQg_PwTPayu7e0buwnmNtZturVGENUnoFsXUwQ/arP_lUK-44s.jpg?size=807x454&quality=95&sign=ab425e3517ff07f6445920bea890074f&type=album" width="807" />
  </figure>
  <figure id="YSFq" class="m_original">
    <img src="https://sun9-46.userapi.com/impg/hoBk8NQv1creNrlstvRPMWAmT3vcHeWo0JP0Kg/TtN1fgjB7vQ.jpg?size=807x454&quality=95&sign=a74f8602a46706448afb82d128a415e3&type=album" width="807" />
  </figure>
  <p id="LZFV">Стоит ли упоминать о сложности материала:</p>
  <figure id="4oj8" class="m_original">
    <img src="https://sun9-63.userapi.com/impg/TvaJOYINF5eQmQF9v16wuf2N1WNq4fDWXRnz-w/9kITzBP2Fro.jpg?size=807x454&quality=95&sign=1a933e09b2793a1f2a9f328e4c91c900&type=album" width="807" />
  </figure>
  <p id="IpRL">Тут естественно огромное количество параметров, потому что листва совсем не ограничивается двумя - тремя текстурами, типа Albedo и Картой непрозрачности (Opacity). Тут и всякие SSS и specular и многое-многое другое.</p>
  <p id="sXf6">Также особый интерес представляет Pivot Painter, позволяющий реализовать реалистичное колыхание листьев на ветру:</p>
  <figure id="W5im" class="m_original">
    <img src="https://sun9-65.userapi.com/impg/ACfE6JpjDcm9xr-jg4YkD_9kymheQF5Q0hGwig/CeUdXJtscyI.jpg?size=807x454&quality=95&sign=cc84d8b9becd66cd20df2139a886d7de&type=album" width="807" />
  </figure>
  <p id="nh38">Логический блок для листвы:</p>
  <figure id="Uu19" class="m_original">
    <img src="https://sun9-32.userapi.com/impg/MHC_izMRQq8AjMChRZocI7JACl-IVm3vQFI1WA/dg990qm3WVQ.jpg?size=807x454&quality=95&sign=e012f8203bfc240811b5ec63f8d6d67a&type=album" width="807" />
  </figure>
  <p id="XZak">И в частности сложный ветер на основе Pivot Painter:</p>
  <figure id="yWHn" class="m_original">
    <img src="https://sun9-9.userapi.com/impg/6YJjxQPR0zFO_uNtPAm2yO8cAZToSHNycb6eOA/2AAsv7cABV8.jpg?size=807x454&quality=95&sign=4a7c2896f02b6d9bceeb46d4cd921ee1&type=album" width="807" />
  </figure>
  <p id="A8vE">Думаю на этом стоит закончить краткий обзор создания растительности.</p>
  <p id="Tpay">Я бы с радостью расписал все в подробностях, но получится не статья, а полноценный учебник страниц этак на 200-300 (если с картинками :))</p>
  <p id="c0GO"><em>Спасибо Дине Абдулиной за предоставленный дуб, в начале статьи</em></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@maltsewpro/rocks</guid><link>https://teletype.in/@maltsewpro/rocks?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro</link><comments>https://teletype.in/@maltsewpro/rocks?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=maltsewpro#comments</comments><dc:creator>maltsewpro</dc:creator><title>Как же делаются эти скалы?</title><pubDate>Tue, 17 Dec 2024 13:38:09 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/94/5b/945b2cbf-3b31-4623-ba7e-d26fa5666292.png"></media:content><description><![CDATA[<img src="https://telegra.ph/file/050200e39c8e1128ab2a9.jpg"></img>Перейдем к не менее интересной теме - производство скальных ассетов.]]></description><content:encoded><![CDATA[
  <figure id="ZgqS" class="m_custom">
    <img src="https://telegra.ph/file/050200e39c8e1128ab2a9.jpg" width="1261" />
  </figure>
  <p id="Bg12">Перейдем к не менее интересной теме - производство скальных ассетов.</p>
  <figure id="UjZl" class="m_original">
    <img src="https://sun9-57.userapi.com/impg/yXhTy1Go14sxlnMHAvEpWqK729MXLFdN_IyA_A/6-u9oLyCAmM.jpg?size=807x454&quality=95&sign=62ded180a2a9e75ac1743fc442026d78&type=album" width="807" />
  </figure>
  <p id="wpOS">Это один из двух тех процессов, который я используя в своей практике. Здесь опишу только один.</p>
  <p id="7nTO">Второй - это процедурная генерация с использованием Houdini и связями для передачи функционала редактирования модели и ее шейдера из одной среды в другую.</p>
  <p id="PDIK">Процедурный подход весьма сложен если вы только начинаете это изучать и требует знаний из первого подхода. Так что разберемся пока с этим.</p>
  <p id="SavW">Итак, скалы (как впрочем и средние и мелкие камни). </p>
  <p id="98M3">Чтобы вообще к ним подступиться у меня в проекте была подготовлена болванка:</p>
  <figure id="f7ZU" class="m_original">
    <img src="https://sun9-9.userapi.com/impg/D03Y1QGyUc17m-O99k6tA9aNiY73FN6i53kgxQ/Xvv0WqveycM.jpg?size=807x454&quality=95&sign=bcc3e63e0db66a4e3000beaad9eaef42&type=album" width="807" />
  </figure>
  <p id="yg9x">Простые болванки, которые помогают найти опору для последующего визуала. </p>
  <p id="Vpgu">А дальше я отбираю некоторые интересные (на мой взгляд) кастеры и перенаправляю их на редактирование:</p>
  <figure id="wKnL" class="m_original">
    <img src="https://sun9-28.userapi.com/impg/BARf6YIhLRbVrwVJ-FXLXcxd2DC3fqja-7OdXQ/Edu4GhJzi2o.jpg?size=807x454&quality=95&sign=3b6090c8481bd913183490fbf5ce667b&type=album" width="807" />
  </figure>
  <p id="RDD0">Как видите, силуэт абсолютно безобразный. Но как силуэт вполне годится - отсюда мне нужна только общая форма.</p>
  <p id="AIzq">Ну а после я формирую несколько болванок, имитирующих органическую (т.е. природную) форму. Из таких болванок потом можно пересобрать этот силуэт.</p>
  <p id="AfKQ">Естественно далее проводится скульпт в Zbrush.</p>
  <p id="PHer">На изображении ниже вы видите один из примеров такого скульпта:</p>
  <figure id="8swq" class="m_original">
    <img src="https://sun9-75.userapi.com/impg/RJSDrCCyCwmFkZWHQVMA-_vm0vmU9uLHk31Ozg/EZSdpxl13tk.jpg?size=807x454&quality=95&sign=b1fc8dad2d9acec55c97160041c2e354&type=album" width="807" />
  </figure>
  <p id="A2xb">Поликаунт тут конечно очень большой. но вы видите конечный результат и поликаунт наращивается постепенно, сначала задаются крупные формы - первичка, затем постепенно уплотняем сетку время от времени используя Dynomesh или ZRemesher, чтобы редактировать топологию для более удобного использования кистей.</p>
  <p id="0K34">Постепенно добавляем и вторичные и третичные формы.</p>
  <p id="Pnyp">А на финале разбавляем “наш суп” мелкой детализацией:</p>
  <figure id="yvON" class="m_original">
    <img src="https://sun9-34.userapi.com/impg/nKVi_ZgvuwMAy0oytFH5fkQaF_AWn8Ula-LoBw/3MbluoHAKlU.jpg?size=807x454&quality=95&sign=4431297cb85699df9d174c5ea8864011&type=album" width="807" />
  </figure>
  <p id="WyDH">Разумеется такой ассет в производство не пойдет, потребуется срезать количество полигонов. Для этого используется плагин Decimation Master.</p>
  <p id="PeKo">Это более менее понятно, когда количество полигонов срезано с двух миллионов до 30-40 тысяч (бешенная разница), то на выходе имеем такой ассет:</p>
  <figure id="dycw" class="m_original">
    <img src="https://sun9-79.userapi.com/impg/cWDFCkoqB7KyJXvARAAMD2CZ5GuTy9NYD3yOew/hxJioUHwq1E.jpg?size=807x454&quality=95&sign=b407f80f0dd8cc3c5f0c6f15d5456f5a&type=album" width="807" />
  </figure>
  <p id="M7iM"><strong>В моих ассетах используется два UV канала:</strong></p>
  <ul id="KEsW">
    <li id="Mlm6">Первый уникальный, я получаю его сразу после децимации в ZBrush. И он служит для запечки с высокополигональной модели.</li>
  </ul>
  <p id="aTe0">В итоге с этого запекания я возьму под свой материал кникальные текстуры, которые материал предусматривает:</p>
  <figure id="3JSw" class="m_original">
    <img src="https://sun9-59.userapi.com/impg/bGZi35IbC2OfxOgoUbr9GrP3vM-_eBpBJE9Dmg/HUbo8fQjCC8.jpg?size=807x454&quality=95&sign=7db419d2ff529580a2f91e9c81bbc19a&type=album" width="807" />
  </figure>
  <ul id="IuXE">
    <li id="xXMG">Второй канал перенесен с первого с некоторыми изменениями.</li>
  </ul>
  <p id="Y6KT">В частности допускаются оверлапы на UV и значительное увеличение текселя, так как именно через второй UV-канал будет реализован весь визуал скалы при помощи тайловых текстур:</p>
  <figure id="muQ0" class="m_original">
    <img src="https://sun9-57.userapi.com/impg/5UN38Qpx-VEpGXOwTjU5cKEpnLtiNUatvgw3Lg/31UyecdMnKI.jpg?size=807x454&quality=95&sign=21e49816e537c41296140a5a49a22dfc&type=album" width="807" />
  </figure>
  <p id="911M">Тексель настолько большой, что шахматку можно разглядеть только при значительном приближении скалы:</p>
  <figure id="12jt" class="m_original">
    <img src="https://sun9-46.userapi.com/impg/Kg_70TSoUY20SY26jBUoHReBsHz9ovPqeEURYg/91zDDV8I3Fs.jpg?size=807x454&quality=95&sign=459f1e8fd5f1bc3702fd782be595c6b2&type=album" width="807" />
  </figure>
  <p id="pwj1">Ну а дальше переходим к самому вкусному!</p>
  <p id="CmLj">Как же устроен материал под такой ассет?</p>
  <p id="dgf8">Вот такой материал на выходе:</p>
  <figure id="Cx9P" class="m_original">
    <img src="https://sun9-22.userapi.com/impg/U8fbD4vE80pxsPQ8pQV5wsgNrko6Onkdd9ZCUA/aCEz8JpFdEg.jpg?size=807x454&quality=95&sign=d5a2077a2b892894090ff731d05082f5&type=album" width="807" />
  </figure>
  <p id="orAr">Как видите, тут использовано всего три слоя. В этом и состоит идея.</p>
  <p id="hYA2">Один слой - это один тип камня (породы), второй слой - это другая порода, а следовательно и иной набор необходимых текстур. Ну и третий слой - это мох.</p>
  <p id="8gkX">Хотя три слоя - далеко не догма. Можно в данной логике использовать хоть 10 слоев под разные нужды, единственное ограничение - это количество сэмплов на обработку в пределах одного шейдера, но и тут есть несколько решений данной проблемы. О них сейчас я не стану рассказывать.</p>
  <p id="Mnsr">Логика выглядит в общих чертах примерно так:</p>
  <figure id="yb8J" class="m_original">
    <img src="https://sun9-58.userapi.com/impg/3sOeog57-BZS3EH7c3EbfLCy5rJLH4cQprltZQ/Nsz_jno0owU.jpg?size=807x454&quality=95&sign=d7f5d7ce0fb621e4924238ba01836ebd&type=album" width="807" />
  </figure>
  <p id="xTxk">По середине - блоки со слоями и их текстурами. Именно тут реализуется BaseColor, NormalMaps. Слева реализуется Roughness и Ambient Occlusion через спред-маски, а справа весь функционал и взаимосвязи: от тайлинга до механизма смешения слоев через маски и процедурно а также распределение по UV каналам, куда что должно поступать.</p>
  <p id="8UYW">В целом логика у шейдера не сложная хотя и комплексная.</p>
  <p id="Ori0">А на выходе мы получаем большое количество управляющих параметров и можно делать все что угодно с такой скалой.</p>
  <p id="qqQo">Вот еще несколько вариантов, которые я создал на базе данной системы:</p>
  <figure id="UFah" class="m_original">
    <img src="https://sun9-63.userapi.com/impg/WK8T5btUespV5A2Y8wxyjOaM3FOmEnDvO5U91g/wpOKebCUyCE.jpg?size=807x560&quality=95&sign=cbd832672b8849e7c686b05d53960e93&type=album" width="807" />
  </figure>
  <figure id="m4nK" class="m_original">
    <img src="https://sun9-15.userapi.com/impg/KnZR7magCTnqNjHoBU86jxPXktT3ETFoCYVNsA/Gdq50jPtX8M.jpg?size=807x560&quality=95&sign=fbfa61147f891f932d8738ae48c0a35e&type=album" width="807" />
  </figure>
  <p id="s8v8">А после того как собрал кластер и упаковал его в саблевел - можно и растительности накинуть:</p>
  <figure id="yhb3" class="m_original">
    <img src="https://sun9-80.userapi.com/impg/dgGPC0hqeJVm-Fz_sel77uKTo0JSaVF9-uZRGw/OjU5pHUaKYw.jpg?size=807x454&quality=95&sign=60388711c5e6b6e5eeb642e8868abd4b&type=album" width="807" />
  </figure>
  <h3 id="rqWw"><strong><a href="https://teletype.in/@maltsewpro/starter_telegram" target="_blank">ПОЛУЧИТЬ ДОСТУП К МАТЕРИАЛАМ И СОБРАТЬ ИГРОВУЮ ЛОКАЦИЮ ДЛЯ СВОЕГО ПРОЕКТА НА UNREAL ENGINE 5</a></strong></h3>

]]></content:encoded></item></channel></rss>