Создание Skybox

Dragokas

Добрая душа
Сообщения
229
Реакции
213
Здравствуйте!

Появляются вот такие ошибки в клиентской консоли:

Requesting texture value from var "$hdrbasetexture" which is not a texture value (material: skybox/galaxy_armrt)
Requesting texture value from var "$hdrbasetexture" which is not a texture value (material: skybox/galaxy_armbk)
Requesting texture value from var "$hdrbasetexture" which is not a texture value (material: skybox/galaxy_armlf)
Requesting texture value from var "$hdrbasetexture" which is not a texture value (material: skybox/galaxy_armft)
Requesting texture value from var "$hdrbasetexture" which is not a texture value (material: skybox/galaxy_armup)
Requesting texture value from var "$hdrbasetexture" which is not a texture value (material: skybox/galaxy_armdn)
ShaderAPIDX8::CreateD3DTexture: D3DERR_INVALIDCALL

Как победить?
Игра: Left 4 dead 1.
Знаю, тут спецов по ней не много, но может общие советы помогут.

Скайбоксы создаю с помощью SkyPaint Panorama Editor + VMT_Editor.
Итоговые vmt получаются такими:
"sky"
{
"$hdrbaseTexture" "skybox/galaxy_armdn"
"$nofog" "1"
"$ignorez" "1"
}

Скайбоксы работают хорошо, вообще никаких проблем, кроме красных строк в консоли.

Совет из этой темы не помог, смена "Sky" => "UnlitGeneric" превратила небо в полностью белое, хотя и ошибка пропала.

P.S. Дефолтовые игровые скайбоксы выглядят примерно так:
Sky
{
$hdrcompressedTexture "skybox/urbannightstormhdrdn"
$baseTexture "skybox/urbannightstormdn"
$nofog 1
$ignorez 1
$color "[ .65 .65 .65 ]"
Sky_HDR_dx9
{
$color "[ 0.3 0.3 0.3 ]"
}
}

P.S.
Замена в моих скайбоксах hdrbaseTexture => hdrcompressedTexture ошибку вообщем-то убирает, но текстуры неба получаются странными,
что собственно логично, т.к. они видимо не являются "compressed". Получается, мне нужно через VMT_Editor как-то создавать VTF со сжатыми текстурами.
 
Последнее редактирование:

ktzll

Участник
Сообщения
4
Реакции
0
Обычно такая ошибка у меня бывает, когда я на карте через консоль меняю скайбокс, при этом не флудит.
Чет никогда не обращал внимание, но почитай Skybox (2D) - Valve Developer Community
И вот еще кстати
 

RusJJ

Доброе утро девачьки
Сообщения
2,582
Реакции
1,076
Не играю в лефту, но разве не должно быть значение и для basetexture? Ты ведь прописываешь значение ТОЛЬКО для HDR-неба.
 

Dragokas

Добрая душа
Сообщения
229
Реакции
213
Спасибо за советы.

Обычно такая ошибка у меня бывает, когда я на карте через консоль меняю скайбокс, при этом не флудит.
Я тоже меняю в реальном времени (не вшиваю в карту). Там квар sv_skyname. Только в моей игре это надо делать в OnMapStart, иначе небо не меняется.

Чет никогда не обращал внимание, но почитай Skybox (2D) - Valve Developer Community
Спасибо, почитал.
Если использовать приложенный там шаблон с
C-подобный:
"sky"
{
    "$basetexture" "skybox/galaxy_armlf"
    "$hdrcompressedtexture" "skybox/galaxy_armlf"
    "$nofog" "1"
    "$ignorez" "1"
}
ошибка пропадает, но возвращается та самая проблема, что сама текстура как бы не является "compressed" и небо получается вот таким:
compressed.jpg
вместо
normal.jpg
(на цвет здания не обращайте внимания)

Т.е. все сводится к тому, как создать эту compressed текстуру.
И вот еще кстати
Я как раз в точности по этому видео и создавал небо из шаблона "Sky" в VTF Editor. Спасибо автору.
Еще пробовал менять формат текстуры из BGR 888 на DXT1, а также на BGRA 8888 (формат дефолтовых hdr скайбоксов).

При этих вариантах (DXT1 или BGRA 8888) - результат при подстановке $hdrcompressedtexture примерно одинаковый, как на скрине выше.
В т.ч. пробовал подставлять и дефолтовый vmt из ресурсов игры:
C-подобный:
sky
{
"GPU<1"
{
$fallbackmaterial "skybox/galaxy_armlf"
}
$hdrcompressedTexture "skybox/galaxy_armlf"
$nofog 1
$ignorez 1
$basetexturetransform "center 0 0 scale 1 2 rotate 0 translate 0 0"
}
Также пробовал это менять и в скаях, сделанных другими людьми (для CS).
Там ситуация чуть лучше, но не намного - когда опускаешь голову небо "засвечивается":
l4d_garage01_alleys0045.jpgl4d_garage01_alleys0046.jpg

Кстати, дефолтовые ldr (low resolution) skybox-ы выдают тоже такую же ошибку в консоль.
Вообщем, думаю, на этом дискуссию и завершить, все равно эти красные строки видимых проблем не создают.
А скайбоксы теперь буду делать в формате DXT1 - в 6 раз лучше сжатие (в 2,5 раза лучше, если сравнивать bz2). Разница по качеству не ощущается.

Не играю в лефту, но разве не должно быть значение и для basetexture? Ты ведь прописываешь значение ТОЛЬКО для HDR-неба.
Попробовал дописать и basetexture, но предыдущая ошибка не пропала. Также пробовал просто заменить параметр на basetexture, но тогда текстура неба не подхватывается.
 
Сверху Снизу