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

Тема в разделе "Запросы", создана пользователем 3anyda, 12 сен 2013.

  1. 3anyda

    3anyda Every Day Is a Saturday

    Сообщения:
    81
    Симпатии:
    11
    Доброго времени суток.
    У меня есть С++ код, который показывает тело если смотреть вниз (руки + ноги)

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

    А это сам код
    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, но я не думаю что он как то может помочь
     
  2. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    во первых, под СМ не сделаешь ничего из этого кода, во вторых, данная вещь есть и работает на кс промод. Тут только если под ММ писать.
     
  3. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Я так понимаю, это кажется даже не MM, а VSP.. Попробовать скомпилировать могу, но что из этого выйдет и будет ли работать - не могу сказать. Буду дома, запущу "билд-сервер" и попробую...

    Оффтоп
     
  4. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    Все же, я уверен, что осуществить сие чудо, в ксс на их движке - не возможно.
     
  5. wanted241

    wanted241 Real-Gamer.Ru

    Сообщения:
    783
    Симпатии:
    355
    Смысл данного плагина? Не думаю, что игрокам так важно видеть ноги, когда смотришь вниз. А так, возможно, и можно сделать это на СМ. (Если знать геометрию и СМ, то почему бы и нет?) На ММ, конечно, больше шансов это осуществить.
     
  6. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Запусти тф, включи режим vr без vr (сходу команду не вспомню) - короче режим Oculus Rift - и увидишь подобие руки, полное оружие, однако да,полного тела игрока не будет
     
  7. 3anyda

    3anyda Every Day Is a Saturday

    Сообщения:
    81
    Симпатии:
    11
    Буду очень признателен, если кто нибудь сделает на HL2DM (linux).
    Труд будет оплачен)
     
  8. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    Проблема в том, что сурс движок, их сотни, а может и тысячи билдов, и все разные, то что в TF движок он абсолютно новее и лучше, чем тот что в ксс. А уж про HL2DM молчу, там старое двигло. В общем, все попытки реализовать сие творение будут безуспешными - я гарантирую :)
    Если конечно не поменять местами двигло от кс промода :)
    Мысль моя такова(для тех кто в танке) "В каждом двигле, свои козыря"
     
  9. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Сам ДВИЖОК как раз общий, хотя да, в тф почаще обновы были, поновее будет. А вот в хл2дм движок как раз почти как у ксс, однако да, там нет меню и т.п., но это не означает "старость" движка
     
  10. fallen1994

    fallen1994

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

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    HL2DM уже давно как на оранжбоксе как бы...
     
  12. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    ну это всего лишь портированно, а так движок как был, так и остался.
    Не будем спорить, все двиглы отличаются и известно, что в ксс сотворить вид ног не получится :)
     
  13. wanted241

    wanted241 Real-Gamer.Ru

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

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

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    На словах львы толстые, а на деле грабли половые :)
    Ну сделай уж тогда, если так умничаешь, боюсь такая махинация уж сильно много лагов пригласит на сервер, хотя я думаю, что и таким способом ничего не получится, так что про эту реализацию можно так же забыть :) :)
     
  15. wanted241

    wanted241 Real-Gamer.Ru

    Сообщения:
    783
    Симпатии:
    355
    В том то и дело, что спрайты и модельки делать я не умею.