Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Lw model preview chams

  • Автор темы Автор темы RedStar
  • Дата начала Дата начала
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
26 Авг 2017
Сообщения
387
Реакции
33
1638709897376.png
1638709906687.png

При заходе на карту, моделька темнеет и матерал для модельки применяется к небу и так же окрашивается. Как фиксить?

C++:
Expand Collapse Copy
void ApplyMaterial(int32_t iMaterial, bool bIgnoreZ, Color aColor, bool bCustom, bool bShotChams)
{
    m_renderview()->SetColorModulation(1.0f, 1.0f, 1.0f); //-V807
    IMaterial* pRenderMaterial = nullptr;

    static IMaterial* materials[] =
    {
        fCreateMaterial(true, crypt_str(R"#("VertexLitGeneric"
            {
                "$basetexture"                "vgui/white"
                "$ignorez"                    "0"
                "$envmap"                    " "
                "$nofog"                    "1"
                "$model"                    "1"
                "$nocull"                    "0"
                "$selfillum"                "1"
                "$halflambert"                "1"
                "$znearer"                    "0"
                "$flat"                        "0"
                "$wireframe"                "0"
            }
        )#")),
        fCreateMaterial(true, crypt_str(R"#("VertexLitGeneric"
            {
                "$basetexture"                "vgui/white"
                "$ignorez"                    "0"
                "$envmap"                    "env_cubemap"
                "$normalmapalphaenvmapmask" "1"
                "$envmapcontrast"            "1"
                "$nofog"                    "1"
                "$model"                    "1"
                "$nocull"                     "0"
                "$selfillum"                 "1"
                "$halflambert"                "1"
                "$znearer"                     "0"
                "$flat"                     "1"
                "$wireframe"                "0"
            }
        )#")),
        fCreateMaterial(false, crypt_str(R"#("UnlitGeneric"
            {
                "$basetexture"                "vgui/white"
                "$ignorez"                    "0"
                "$envmap"                    " "
                "$nofog"                    "1"
                "$model"                    "1"
                "$nocull"                    "0"
                "$selfillum"                "1"
                "$halflambert"                "1"
                "$znearer"                    "0"
                "$flat"                        "1"
                "$wireframe"                "0"
            }
        )#")),
        m_materialsystem()->FindMaterial(crypt_str("models/inventory_items/dogtags/dogtags_outline"), nullptr), //-V807
        m_materialsystem()->FindMaterial(crypt_str("models/inventory_items/trophy_majors/crystal_clear"), nullptr),
        m_materialsystem()->FindMaterial(crypt_str("models/inventory_items/cologne_prediction/cologne_prediction_glass"), nullptr),
        m_materialsystem()->FindMaterial(crypt_str("dev/glow_armsrace.vmt"), nullptr),
        m_materialsystem()->FindMaterial(crypt_str("models/inventory_items/wildfire_gold/wildfire_gold_detail"), nullptr),
        fCreateMaterial(true, crypt_str(R"#("VertexLitGeneric"
            {
                "$additive"                    "1"
                "$envmap"                    "models/effects/cube_white"
                "$envmaptint"                "[1 1 1]"
                "$envmapfresnel"            "1"
                "$envmapfresnelminmaxexp"     "[0 1 2]"
                "$alpha"                     "0.8"
            }
        )#")),
        fCreateMaterial(true, crypt_str(R"#("VertexLitGeneric"
            {
                "$basetexture"                "dev/zone_warning"
                "$additive"                    "1"
                "$envmap"                    "editor/cube_vertigo"
                "$envmaptint"                "[0 0.5 0.55]"
                "$envmapfresnel"            "1"
                "$envmapfresnelminmaxexp"   "[0.00005 0.6 6]"
                "$alpha"                    "1"
  
                Proxies
                {
                    TextureScroll
                    {
                        "texturescrollvar"            "$baseTextureTransform"
                        "texturescrollrate"            "0.25"
                        "texturescrollangle"        "270"
                    }
                    Sine
                    {
                        "sineperiod"                "2"
                        "sinemin"                    "0.1"
                        "resultVar"                    "$envmapfresnelminmaxexp[1]"
                    }
                }
            }
        )#"))
    };


    pRenderMaterial = materials[iMaterial];



    if (!pRenderMaterial)
        return;

    m_StudioRender->SetAlphaModulation(aColor.a() / 255.0f);
    pRenderMaterial->ColorModulate(g_cfg.player.type[ENEMY].chams_color[0] / 255.0f,
        g_cfg.player.type[ENEMY].chams_color[1] / 255.0f,
        g_cfg.player.type[ENEMY].chams_color[2] / 255.0f);
    pRenderMaterial->IncrementReferenceCount();
    pRenderMaterial->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
    m_StudioRender->ForcedMaterialOverride(pRenderMaterial);
    m_modelrender()->ForcedMaterialOverride(pRenderMaterial);
        auto alpha = (float)g_cfg.player.type[ENEMY].chams_color.a() / 255.0f;

        float normal_color[3] =
        {
            g_cfg.player.type[ENEMY].chams_color[0] / 255.0f,
            g_cfg.player.type[ENEMY].chams_color[1] / 255.0f,
            g_cfg.player.type[ENEMY].chams_color[2] / 255.0f
        };
        m_StudioRender->SetAlphaModulation(alpha);
        pRenderMaterial->ColorModulate(g_cfg.player.type[ENEMY].chams_color[0] / 255.0f,
            g_cfg.player.type[ENEMY].chams_color[1] / 255.0f,
            g_cfg.player.type[ENEMY].chams_color[2] / 255.0f);

        pRenderMaterial->IncrementReferenceCount();
        pRenderMaterial->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
        m_StudioRender->ForcedMaterialOverride(pRenderMaterial);
        m_modelrender()->ForcedMaterialOverride(pRenderMaterial);

}
 
Назад
Сверху Снизу