Что такое декали в ксс
Создаём декали в CS:Source
Создаём декали в CS:Source
В этой статье я опишу вам создание декалей! В новом движке Half Life 2 есть весьма весомое преимущество, в отличие от старого. (об этом и говорить не стоит) он может делать полупрозрачные текстуры. Это даёт красивый эффект нарисованного граффити, или даёт возможность рисовать прозрачные области вокруг рисунка.
Вот например, если нам надо делать текстуру к примеру герба, то её нужно обязательно делать с синими краями по бокам! Затем в редакторе делать Solid браш. А в игре было не похоже что герб весит на стене. Но прошло время, появился новый движок и всё поменялось в лучшую сторону! Итак от базара, переходим к делу!
Нам понадобится Adobe Photoshop CS (8), программа VTEX (идёт в комплекте SDK), если вам не нравится VTEX, то можете воспользоваться программой VTFEdit, но я пользуюсь плагином для фотошопа, который лежит здесь.
На мой взгляд, это самый удобный способ.
Приступим. Для начала заходим в Фотошоп и нажимаем File(Файл)-> New(Новый)
Задаём параметр width=512
и height=512 (ширина=512 и высота=512) и не забудьте выставить размер в пикселях!
После этого нажимаем «V» и переносим рисунок в центр нашего холста:
Теперь нажимаем CTRL+T, отпускаем зажимаем SHIFT и увеличиваем наш текст до больших размеров. Можно его ещё и повернуть, если захотите
После этого нажимаем F7, чтобы появилось окошко «Слои»
Кликаем два раза по слою, который у меня называется AliaS, точнее по его тёмно-серой области, пока не вылезет окно.
Ставим галочку в самой первой строчке, выставляем все параметры как у меня:
Можете полазить ещё в этих галочках, поэкспериментировав с параметрами.
Должно получится, что вроде того, что получилось у меня!
Что такое декали в ксс
Команды настроки звука
Команды настройки мыши
+mlook позволяет «осматриваться» с помощью мышки
m_filter позволяет включить «сглаживание» движения мыши
m_forward скорость мышки прямо
m_pitch 0.022 устанавливает коэффициент чувствительности мыши при движении вних и вверх, при отрицательных значениях получим invert
m_side 0.800 устанавливает скорость стрейфа мыши (например, при включенной команде +strafe)
m_yaw 0.022 устанавливает коэффициент чувствительности мыши при движении влево, вправо
sensitivity чувствительность мыши
zoom_sensitivity_ratio чувствительность мыши в приближении
1.КАК УМЕНЬШИТЬ ПРИЦЕЛ В CSS
cl_crosshairscale 40000 (мега маленький прицел)
cl_crosshairscale 20000 (очень маленький прицел)
cl_crosshairscale 5000 (динамичный маленький прицел)
cl_crosshairscale 2000 (средний прицел)
3.КАК ПОМЕНЯТЬ ЦВЕТ ПРИЦЕЛА
cl_crosshaircolor и число от 1 до 5 даёт разные цвета
4.КАК УМЕНЬШИТЬ ПИНГ
cl_cmdrate 1 или
cl_cmdrate +65(понижает до 1-5 мс)
cl_interp 0.033 или cl_interp 0.055 так как из-за пинга существуют задержки,то вы на экране можете видеть совсем не соответствующую действительности картину,эта команда поправляет данную ситуацию. по умолчанию стоит 0.10, эксперементируйте.
[CS:GO] Создание и настройка спреев (decals).
I3asara
Здравствуйте, сегодня я научу вас создавать спрайты и их анимированные версии и проверять все в одиночной игре.
(Это понадобиться тем, кто хочет проверить свои «каракульки» прежде чем загружать их на сервер и по 100 раз переименовывать.)
Список программ, которые нам понадобятся для работы:
VTFEdit (Для просмотра и создания текстур): VTFEdit
1) Создание изображения.
Для начала нам нужны сами изображения. Создавайте их через любой графический редактор или используйте уже готовые.
Для создания анимированного изображения берете видео или gif и делаете раскадровку (покадровое отображение видео файла).
Для раскадровки вы можете использовать данный сайт: Конвертер
Я конвертирую в jpg из-за меньшего веса (если используете прозрачный фон, то конвертируйте в png).
2) Создание текстуры.
Запускаем VTFEdit. Жмем File; Import.
Выбираем одно изображение и жмем ОК, если используем статичную картинку.
Выделяем несколько изображений и жмем ОК, если нужно анимированное изображение.
Далее в появившемся окне выбираем размер нашего изображения (мы можем выставить либо квадратное, либо прямоугольное изображение)
Смотрите по вашей исходной картинке что для вас лучше. Если вам не понравиться, всегда можно повторить предыдущие действия.
Так же советую выставлять большие параметры (это даст нам четкости). Потом можно будет уменьшить размер через VMT файл.
Изображение 256×128 «$decalscale» «1.0» Мыльное изображение
Изображение 1024×512 «$decalscale» «0.25» Четкое изображение
После загрузки жмем File; Save As. И выбираем место куда сохранить файл.
Далее нам нужно создать VMT файл. Жмем Tools; Create VMT File. В появившемся окне жмем Create. Файл должен быть с таким же именем!
Далее заходим в VMT файл для его редактирования.
В нем удаляем все строки и пишем:
Если у вас статичная картинка:
Если у вас анимированная картинка:
Дальше жмем File; Save. Закрываем. Вы всегда можете поменять название файлов и их путь. Главное не забывайте менять его в VMT файле.
Далее я перекидываю все (VTF; VMT) в созданную мной папку custom. А ее я кидаю по этому пути steamapps\common\Counter-Strike Global Offensive\csgo\materials
3) Осмотр изображений в одиночной игре.
Заходим на любую карту и целимся на стену (при вводе команд не передвигайте прицел).
В консоль пишем:
Путь берем из VMT В моем случае это «$baseTexture» «custom/2» (Путь самого VMT относительно папки materials/)
Декали
Эта страница переведена не полностью.
This page has not been fully translated.
Также, убедитесь в том что статья пытается соответствовать статье об альтернативных языках.
Создать декаль не сложно: это обычный материал, у которого есть альфа-канал и который использует DecalModulate шейдер.
До того как читать дальше эту статью, рекомендуем вам ознакомится со статьей про создание материалов.
Contents
Обычные декали
Параметры материала
Настройки материала для декали выглядят примерно так:
Декали на моделях
Hammer
Это может быть достигнуто и на сервере с помощью функции engine->StaticDecal :
Индексы декалей могут быть получены вызовом decalsystem->GetDecalIndexForName или UTIL_PrecacheDecal() :
Использование модуляции
Для декалей, предназначенных для имитации выбоин или вмятин на поверхности, шейдер DecalModulate (mod2x) оказывается крайне подходящим: он осветляет целевые пиксели для каждого исходного пикселя, который имеет цвет светлее серого (>128), и затеняет целевые пиксели для каждого исходного пикселя, который имеет цвет темнее серого. Этот эффект может быть использован для придания ощущения глубины, при применении к поверхности.
Для начала создайте исходное изображение, цветовой канал которого будет использован для модуляции исходных значений. Еще раз: светлые значения будут осветлять пиксели, поверх которых они нарисованы, в то время как темные значения будут затемнять целевые пиксели. Значения с серым цветом будут рассматриваться как полупрозрачные.
Далее, создайте альфа-канал, который будет определять маску для декали. Так как модуляция не может иметь точное среднее значение корректно, маска обязательна для предотвращение появления границы (обводки) вокруг декали.
To do: Try converting source images with background colors RGB 127 127 127 with vtex found in other games other than L4D2 and see if it results in a background with RGB 124 126 124. Also, does RGB 124 126 124 apply to other versions of the Source engine as alpha for DXT1 compression?
Decal (декаль)
Декали (decal с англ.: бирка, ярлык, клеймо) это особый вид геометрии, который позволяет повышать детализированность игровых окружений без надобности запекать мелкие детали в текстуры, что может быть просто невозможным в ситуациях, когда множество поверхностей используют одинаковый материал. Обычно декали используют для отрисовки дырок от пуль, пятен крови или гари от взрывов, но в некоторых случаях использование уходит за пределы таких вещей. К тому же декали можно создавать не только в динамике, но и во время изготовления уровня.
Можно представить себе игровой уровень с большим количеством зданий. С помощью декалей стены этих зданий можно уникально «украсить» оборванными плакатами, трещинами или пятнами краски, здесь фантазия не ограничена. При наложении можно применять различные методы блендинга для достижения подходящего результата.
Для улучшения восприятия таких деталей можно использовать стандартные техники освещения, такие как bump mapping, parallax mapping и другие. Параллакс особенно хорошо выглядит, так как придаёт намного больше объёма и позволяет таким вещам, как дыркам от пуль «углубляться» в геометрию.
Создавать декали в динамике можно разными способами. Существует упрощённое решение, дающее во многих ситуациях неверные решения, так и более точное, требующее от двух и более треугольников под декаль.
Одно из простых решений, которое можно смело применять для создания «дырок» от выстрелов, заключается в поиске точки пересечения луча с треугольниками игрового уровня (тут нужны различные оптимизации, для того чтобы не проверять каждый треугольник и расчёт места пересечения занимал мало времени). Затем мы берём найденную точку, и используя бинормаль и тангент в этой точке создаём два треугольника, образующих квад. Если информации о бинормали и тангенте нету, можно просто взять два случайных перпендикулярных единичных вектора, расположенных в плоскости поверхности и строить квад по ним. Нормаль поверхности следует использовать как нормали в точках декаля для правильного освещения. Для избежания проблем с z-fighting’ом, который возникает на плоскостях расположенных близко друг к другу следует использовать Polygon Offset/Depth Bias. Текстурные координаты тоже можно находить разными способами, например, для дырок от выстрелов можно использовать координаты углов квада. А вот, например, для пятен крови, которые должны «размазываться» по направлению движения можно рассчитать текстурные координаты методами eye linear\object linear.
Но это простое решение может плохо работать для тех же пятен крови, имеющих большую площадь поверхности. Для таких декалей нужно рассчитывать не центральную точку пересечения, а находить треугольники попадающие в зону покрытия, и создавать множество геометрии на всех этих поверхностях.
Существует также метод при котором детали отрисовываются в текстуру, но это имеет ряд проблем, например требуется уникальность изменяемой текстуры (она должна использоваться только на одном объекте, иначе добавленные детали появятся на всех объектах, использующих изменяемую текстуру), а также страдает скорость из-за постоянных обновлений текстуры (если генерируются мип-уровни, то это будет занимать значительное количество времени).
Текстуры, используемые для декалей лучше хранить в одном текстурном атласе. В таком случае для огромного количества декалей на уровне можно будет использовать один вершинный и индексный буфера, и рисовать всю их геометрию за один вызов функции DrawIndexedPrimitive\glDrawElements.