1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

3dmax SDK проблемма

Тема в разделе "Плагины", создана пользователем -, 19 ноя 2003.

  1. Guest

    Помогите найти ассоциации вертексов с объектом установленные modifier Linked X form
     
  2. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Конкретнее что надо сделать ?
     
  3. Guest

    Я пишу свой экспортер... Вроде как все зашибись, не хватает одного - нужно сохранить привязку вертексов к скилету... А для привязки в сцене я использую Linked X Form... Вот и проблема - не могу найти где эту привязку культурно получить
     
  4. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Ноу проблем
    m = $.modifiers[#Linked_XForm]
    m.control
     
  5. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Сорри сглючил - совсем уматался
    в SDKшке в принципе тоже больших проблем вроде нет
    получаеш указатель на модификатор из него парам блок
    Modifier *modLink = ...
    IParamBlock2* iLinkParams = ((Animatable*)modLink)->GetParamBlock(0);
    assert(iLinkParams);
    ParamID pid_i = gs->IndextoID(0);
    Interval valid = FOREVER;
    INode *node = NULL; //Искомый Обьект
    iLinkParams->GetValue( pid_i ,TimeValue(0),node,valid);

    Мог чего и наврать давно не копался с этим делом
     
  6. Guest

    Спасибо... Вобщем-то я уже и сам нашел, просто не хотелось в стек лезть,я думал это как-то культурней можно было сделатьDenis wrote:
     
  7. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Да культурней ни как
    но это не самая большая заморочка в Максе
    бывает доступ к некоторым параметрам
    вобще не получить даже в SDK ;(
     
  8. Guest

    Мда уж:(
     
  9. Guest

    Можно ли узнать что выделено в mesh-е ( Вертексы, полигоны или грани с перечислением их индексов) для конткретного modifier-а без опроса всего стека на наличие EditMesh и MeshSelect, расположенных перед ним?
     
  10. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Вроде должно проробуй через
    ModContext and LocalModData
    пример для фэйсов:

    INode* node =ip->GetSelNode(0);
    if (!node)
    return;

    Object* pobj=node->GetObjectRef();
    if (!pobj)
    return;

    IDerivedObject* pDerObj=static_cast(pobj);
    if(!pDerObj)
    return;


    //Get mod local data (should be a MeshSelData*)
    // в примере для модификаторя MeshSelData
    // но в теории должно работать для любого
    ModContext* mc = pDerObj->GetModContext(0);
    if (!mc)
    return;

    LocalModData * mseldata = mc->localData;
    if(!mseldata)
    return;

    IMeshSelectData *MeshModData= (IMeshSelectData *)mseldata->GetInterface(I_MESHSELECTDATA);
    if (!MeshModData)
    return;

    BitArray ba = MeshModData->GetFaceSel();


    остальные по аналогии
     
  11. Guest

    Это я пробовал...В том-то и дело, что для того же Linkred XForm GetInterface мне для I_MESHSELECT и I_MESHSELECTDATA возвращает NULL... Сейчас еще попробую, но вроде я так и делал, где-то в хелпах это
     
  12. Guest

    Ну да, ноль в указателе... Я так понял, что GetInterface возвращает указатель на один из базовых классов LocalData... В исходниках EditMesh и MeshSelect LocalData действительно наследуется от MeshSelectData и согласно тексту возвращает указатель на саму себя (return (IMeshSelectData*) this), но это не факт, что остальные modifiers делают так же, тот же Linked XForm наследуется просто от LocalModData и не перегружает GetInterface
    Спасибо, я пока с этим разбирался, кажется нашел в исходника что-то полезное, сейчас проверю:)
     
  13. Guest

    Покапался я в исходниках, ничего обнадеживающего не нашел:(
     
  14. Guest

    Denis, у тебя аська есть? Может в реалтайм свяжемся?
     

Поделиться этой страницей