1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Darkplaces 3 (трава у дома)

Автор: id0 · 1 май 2025 · ·
И снится нам не рокот космодрома...
  1. Я пытался сделать не этот эффект, этот получился просто по ходу дела.

    npc20250501153326-00.jpg npc20250501153332-00.jpg

    Достигается это одной(!) строкой в шейдере:

    textures/terrain/sand1
    {
    surfaceparm ground
    q3map_lightmapMergable //Allows surfaces like terrain to be mapped onto a single lightmap page for seamless terrain shadows.
    //q3map_surfaceModel modelpath density odds minscale maxscale minangle maxangle oriented
    q3map_surfaceModel models/terrain/grass01.md3 64 1 0.2 0.7 -180 180 0
    {
    map $lightmap
    map textures/terrain/sand1
    }
    }

    Что тут происходит? Ну обычный шейдер Q3 с текстурой, но красная строка берёт модельку травы из папки с игрой, и разбрасывает рандомно по текстуре (везде где эта текстура в игре наложена, в данном случае это sand1 (песок)). Можно даже нормали взять (oriented), и тогда моделька будет наклонена по поверхности.

    Разумеется тут нет никаких LODов (Level of detail) или даже cull distance (исчезание с расстоянием), поэтому FPS так просел.

    npc20250501153418-00.jpg

    Трава (для неё свой шейдер), отбрасывает (отбрасывает плохо, слишком мелкая) лайтмапы, и сама принимает (тёмная в углах),

    npc20250501153346-00.jpg

    и конечно видит динамический свет. Теней в реальном времени не отбрасывает. Не потому что не может, а потому что я их отключил. Darkplaces, как оказалось не поддерживает теней от альфа каналов (что меня изрядно удивило). То есть тени будут, но квадратные - от целого объекта. Печально, ну и ладно.

    npc20250501153653-00.jpg

    Симпатично.

    Если бы это был terrain (а его тоже можно сделать), с блендингом (несколько текстур, сглаживание, все дела), то трава росла бы только на текстуре травы (ну или на любой другой, какая понравится). Всё это можно сделать при желании, и LODы и прочее, но я не собираюсь поля тут выращивать, просто занятный тест.
    Кишмиш, Octohum, reason1 и 2 другим нравится это.

Комментарии

  1. Кишмиш
    Занятные эксперименты.

    К слову, обидно что sock свой сайт так и не вернул, там же вроде были дневники разработки Arcane Dimensions и еще всякие материалы...
      id0 нравится это.
Чтобы оставить комментарий просто зарегистрируйтесь и станьте участником!
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление