[ANY] Тело (показ рук и ног)

3anyda

Every Day Is a Saturday
Сообщения
76
Реакции
8
Доброго времени суток.
У меня есть С++ код, который показывает тело если смотреть вниз (руки + ноги)

Собственно вот пример

А это сам код
  1. // The following code is licensed under Creative Commons Attribution-NonCommercial 3.0 Unported (CC BY-NC 3.0)
    // See: http://creativecommons.org/licenses/by-nc/3.0/
    // Credit MUST be given to Saul Rennison and the CSProMod Team.

    static ConVar cl_player_shadows("cl_player_shadows", "1", FCVAR_CHEAT, "Enable player shadows", true, 0, true, 1);

    ShadowType_t C_BasePlayer::ShadowCastType()
    {
    if(cl_player_shadows.GetBool())
    return SHADOWS_SIMPLE; // blob shadows

    return SHADOWS_NONE;
    }

    bool C_BasePlayer::GetShadowCastDirection(Vector *pDirection, ShadowType_t shadowType ) const
    {
    // Force player shadows to be straight down
    *pDirection = Vector(0, 0, -1);
    return true;
    }

    bool C_BasePlayer::ShouldDraw()
    {
    return BaseClass::ShouldDraw();
    }

    static ConVar cl_legs("cl_legs", "1", FCVAR_CHEAT, "Enable or disable player leg rendering", true, 0, true, 1);
    static ConVar cl_legs_origin_shift("cl_legs_origin_shift", "-16.5", FCVAR_CHEAT, "Amount in game units to shift the player model relative to the direction the player is facing");
    static ConVar cl_legs_clip_height("cl_legs_clip_height", "0", FCVAR_CHEAT, "Amount in game units of the player model to render up to [0 = disable]", true, 0, false, 0);

    const Vector& C_BasePlayer::GetRenderOrigin( void )
    {
    // If we're not observing this player, or if we're not drawing it at the
    // moment then use the normal absolute origin.
    // NOTE: the GetCurrentlyDrawingEntity check is here to make sure the
    // shadow is rendered from the correct origin
    if(!IsInEye() || view->GetCurrentlyDrawingEntity() != this)
    return BaseClass::GetRenderOrigin();

    // Get the forward vector
    static Vector forward; // static because this method returns a reference
    AngleVectors(GetRenderAngles(), &forward);

    // Shift the render origin by a fixed amount
    forward *= cl_legs_origin_shift.GetFloat();
    forward += GetAbsOrigin();

    return forward;
    }

    int C_BasePlayer::DrawModel( int flags )
    {
    // No need for clipping or render origin shifting if we aren't a local
    // player
    if(!IsInEye())
    return BaseClass::DrawModel(flags);

    // If we aren't drawing legs, return
    if(!cl_legs.GetBool())
    return 0;

    CMatRenderContextPtr context(materials);

    // Don't render above a certain height of the body
    if(cl_legs_clip_height.GetInt() > 0)
    {
    context->SetHeightClipMode(MATERIAL_HEIGHTCLIPMODE_RENDER_BELOW_HEIGHT);
    context->SetHeightClipZ(GetAbsOrigin().z+cl_legs_clip_height.GetFloat());
    }

    // Draw the model
    int nDrawRes = BaseClass::DrawModel(flags);

    // Remove height clipping
    context->SetHeightClipMode(MATERIAL_HEIGHTCLIPMODE_DISABLE);

    return nDrawRes;
    }

Может ктонибудь скомпилировать на linux? Или сделать плагин на SM?
Еще есть lua'шный код из Garry's mod, но я не думаю что он как то может помочь
 

fallen1994

Участник
Сообщения
2,357
Реакции
538
во первых, под СМ не сделаешь ничего из этого кода, во вторых, данная вещь есть и работает на кс промод. Тут только если под ММ писать.
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Я так понимаю, это кажется даже не MM, а VSP.. Попробовать скомпилировать могу, но что из этого выйдет и будет ли работать - не могу сказать. Буду дома, запущу "билд-сервер" и попробую...

Оффтоп
 

fallen1994

Участник
Сообщения
2,357
Реакции
538
Все же, я уверен, что осуществить сие чудо, в ксс на их движке - не возможно.
 

wanted241

Real-Gamer.Ru
Сообщения
428
Реакции
161
Смысл данного плагина? Не думаю, что игрокам так важно видеть ноги, когда смотришь вниз. А так, возможно, и можно сделать это на СМ. (Если знать геометрию и СМ, то почему бы и нет?) На ММ, конечно, больше шансов это осуществить.
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Все же, я уверен, что осуществить сие чудо, в ксс на их движке - не возможно.

Запусти тф, включи режим vr без vr (сходу команду не вспомню) - короче режим Oculus Rift - и увидишь подобие руки, полное оружие, однако да,полного тела игрока не будет
 

3anyda

Every Day Is a Saturday
Сообщения
76
Реакции
8
Буду очень признателен, если кто нибудь сделает на HL2DM (linux).
Труд будет оплачен)
 

fallen1994

Участник
Сообщения
2,357
Реакции
538
Запусти тф, включи режим vr без vr (сходу команду не вспомню) - короче режим Oculus Rift - и увидишь подобие руки, полное оружие, однако да,полного тела игрока не будет
Проблема в том, что сурс движок, их сотни, а может и тысячи билдов, и все разные, то что в TF движок он абсолютно новее и лучше, чем тот что в ксс. А уж про HL2DM молчу, там старое двигло. В общем, все попытки реализовать сие творение будут безуспешными - я гарантирую :)
Если конечно не поменять местами двигло от кс промода :)
Мысль моя такова(для тех кто в танке) "В каждом двигле, свои козыря"
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
А уж про HL2DM молчу, там старое двигло
Сам ДВИЖОК как раз общий, хотя да, в тф почаще обновы были, поновее будет. А вот в хл2дм движок как раз почти как у ксс, однако да, там нет меню и т.п., но это не означает "старость" движка
 

fallen1994

Участник
Сообщения
2,357
Реакции
538
Ну в хл2дм стоит старый движок, который стоял на ксс v.34. Как бы повторюсь, билдов очень много, и да, всего 8 видов сурс движка, не забывай про игры GMOD, Left 4 dead 1 и 2(в первой части движок отличается от второй многим)
В общем, каждое двигло особенное по своему :)
 

fallen1994

Участник
Сообщения
2,357
Реакции
538
ну это всего лишь портированно, а так движок как был, так и остался.
Не будем спорить, все двиглы отличаются и известно, что в ксс сотворить вид ног не получится :)
 

wanted241

Real-Gamer.Ru
Сообщения
428
Реакции
161
ну это всего лишь портированно, а так движок как был, так и остался.
Не будем спорить, все двиглы отличаются и известно, что в ксс сотворить вид ног не получится :)

Создай 2 спрайта - Когда стоишь и когда двигаешься. (ног) 1 анимированный (типо движение), а второй просто вид ног. И далее дело за плагином и знанием геометрии. (формулы и просчеты нужны)

Добавлено через 49 секунд
Или 1 спрайт и прикрепи его к игроку. (attach) к ногам, т.е.
 
Последнее редактирование:

fallen1994

Участник
Сообщения
2,357
Реакции
538
Создай 2 спрайта - Когда стоишь и когда двигаешься. (ног) 1 анимированный (типо движение), а второй просто вид ног. И далее дело за плагином и знанием геометрии. (формулы и просчеты нужны)

Добавлено через 49 секунд
Или 1 спрайт и прикрепи его к игроку. (attach) к ногам, т.е.
На словах львы толстые, а на деле грабли половые :)
Ну сделай уж тогда, если так умничаешь, боюсь такая махинация уж сильно много лагов пригласит на сервер, хотя я думаю, что и таким способом ничего не получится, так что про эту реализацию можно так же забыть :) :)
 

wanted241

Real-Gamer.Ru
Сообщения
428
Реакции
161
На словах львы толстые, а на деле грабли половые :)
Ну сделай уж тогда, если так умничаешь, боюсь такая махинация уж сильно много лагов пригласит на сервер, хотя я думаю, что и таким способом ничего не получится, так что про эту реализацию можно так же забыть :) :)

В том то и дело, что спрайты и модельки делать я не умею.
 
Сверху Снизу