• Страница 1 из 1
  • 1
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Работа с SDK, 3D-графика, анимация » [3D Max] Проблемы с Normal Flip, что такое resetObjState (Проверка работоспособности объекта перед экспортом в SDK)
[3D Max] Проблемы с Normal Flip, что такое resetObjState
Российская Федерация  Khyzyr
Четверг, 11.01.2018, 20:28 | Сообщение # 1
Статус:
Неопытный:
Сообщений: 400
Награды: 2
Регистрация: 19.06.2017

Итак, хотелось бы внести свою лепту


  • Суть проблемы:
    Смоделирована новая модель, допустим это будет какое-то помещение, в моем случае комната:


    В 3D Max все смотрится вроде бы хорошо, но после экспорта в SDK и загрузки модели в Actor Editor или же Level Editor, получаем следующую проблему:


    Все грани объекта развернуты в обратном направлении. Экспорт данной модели производился скриптами от Den Stash'а, но проблема не в них. Проблема заключается в самой модели, а именно в криво соединенных полигонах (от части, читаем пункт "Что делать, чтобы данная проблема не возникала" ).

  • Решение проблемы:
    В решении проблемы нам поможет скрипт, который называется resetObjState. Он показывает реальное "лицо" модели. После применения его на объект, мы сразу видим то, что видим в SDK:


    Все, что нам остается, это выбрать в свитке модификаторов модификатор Normal, и он сразу вернет объект в такой вид, который нам, соответственно, требуется. На заметку: resetObjState стоит как можно чаще применять на модели, дабы сразу исправлять такие проблемы с ней.

    Думаю, данная статья была полезна. Особенно для тех, кого эта проблема так же мучает, как и меня.



    Установка resetObjState


    После скачивания данного скрипта по ссылке выше, копируем или перемещаем его в директорию 3D Max: Program Files\Autodesk\3ds Max ...\Scripts.

    Запускаем программу. Вверху выбираем графу MAXScript, далее Run Script и открываем resetObjState.ms. Не должно ничего произойти. Идем в Customize\Customize User Interface, переходим во вкладку Toolbars, переводим раскладку языка на английский, и в окне Action нажимаем кнопку R и спускаемся вниз по списку пока не наткнемся на наш скрипт, он обозначен шахматной доской.

    Далее просто выделяем наш скрипт, зажимаем ЛКМ, и переносим его на рабочую панель 3D Max. Он постоянно будет находиться там в виде кнопки. Можно создать отдельную графу для него, но это уже другая история.

    Полезные свойства скрипта:
  • Возвращает XForm
  • Возвращает центрирование объекта
  • Настраивает Smooth-группы с указание необходимого угла
  • При указании reParent - переводит объект в Editable Poly или Mesh

    Добавлено (11.01.2018, 20:28)
    ---------------------------------------------
    Что делать, чтобы данная проблема не возникала


    Способы избежания данной проблемы нашел буквально на следующий день после того, как создал тему. В общем-то, все довольно просто.

    В более новых версиях 3Ds Max внутренние грани подсвечиваются вторым источником света (указано стрелочкой в окошке настроек вьюпорта). Если по какой-то причине полигоны были флипнуты, заметить это будет сложно: либо включать Backface Cull, либо делать выделение по полигонам всей модели (красные - по отношению к камере, бордовые - флипнуты вовнутрь объекта). В этих случаях помогает переключение на один источник света.

    Собственно, отсюда и объяснение данной проблеме: если к готовой модели был приаттачен объект с флипнутыми вертексами, она автоматически принимает такое состояние в цифрах, то есть вьюпорт будет так же показывать реальное состояние модели, даже если ее полигоны развернуты по отношению от камеры.

    А дальше дело скрипта, о котором я рассказывал выше. Теперь-то точно все.
  • Сообщение отредактировал Khyzyr - Четверг, 11.01.2018, 20:34
      Злобная реклама
    Четверг, 11.01.2018, 20:28
    Статус:
    Сообщений: 666
    Регистрация: 19.06.2017
    Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Работа с SDK, 3D-графика, анимация » [3D Max] Проблемы с Normal Flip, что такое resetObjState (Проверка работоспособности объекта перед экспортом в SDK)
    • Страница 1 из 1
    • 1
    Поиск: