???
Математика на уровне МГУ

Показано с 1 по 25 из 2459

Тема: "Моделист-конструктор" или как сделать свой мод (ковыряемся в файлах игры)

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #6
    Курсант Аватар для Rosomaha
    Регистрация
    14.05.2012
    Адрес
    Сибирь-Матушка
    Сообщений
    129

    Cool Re: "Моделист-конструктор" или как сделать свой мод (ковыряемся в файлах игры)

    По личной просьбе Александры (Nosulia), ответ:


    Как я понял, суть вопроса - нужно узнать длину модели судна в системе единиц измерения игры, т.е. в игровых метрах какими измеряются расстояния, глубины... Желательно чтобы метод был максимально простым и точным, и ещё без участия 3D max и других "тяжелых" программ.

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

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

    Открываем модель (файл.dat, рассмотрим на примере NDD_Somers) в Silent3ditor.



    Откроем сразу файл .zon корабля и свернём в трей, нужно что бы он был просто открыт.



    Далее нажимаем в панели на кнопку Toggle zones editor. При открытом файле .zon, справа активируется панель редактора зон (что служит для прописки зон корабля, их свойств и т.п., свойства отдельных частей объекта при повреждениях и проч...) Но мы это используем в своих целях.

    Открываем в новой панели вкладку Spheres (сферы). В некоторых судах сфер может быть несколько, тогда удобнее выбрать ближайшую к центру модели. Выбираем в сфере Radius и начинаем увеличивать его значение.



    Наша цель - заключить полностью корпус корабля в объем сферы, но чтобы края его носа и кормы уперлись в края сферы. Почти всегда сферу приходится немного центрировать относительно модели. Вкладка Center = двигаем как нам нужно по оси Z и Y, X не трогаем. при этом окончательно масштабируем сферу.



    В результате должно получиться примерно следующее, модель вписана в сферу:



    Смотрим на число которое в итоге получили. Значение 5,79 - на первый взгляд непонятное и странное. Это радиус, умножаем на 2: d = 11,58 м. Все-равно что-то не то, длина корабля должна быть намного больше.



    Но я заметил что значение обозначающееся в редакторе: The radius of sphere in meters (радиус сферы в метрах) не совсем в метрах. Это в 10-х метров. т.е. не 5,79 м, а 57,9 м.

    Т.е. чтобы определить длину судна нужно полученное в редакторе значение умножить на 20.

    5,79*20=5,79*2*10= 115,8 м.

    Проверим эту длину в файле .cfg:



    Length= 116. Как видим полученное нами значение близко к этому: 115,8 округляется до 116 м. Точность измерения зависит от точности подгонки краев модели к краям сферы, но даже при самом грубом измерении и подгонке сфер получал погрешность максимум в 1-2 метра.
    Можно проверить другие (не модовые модели) с оригинала игры, и получим соответствие вычисленных значений с указанными в файлах .cfg (естественно что у разработчиков были свои более подходящие инструменты для этого и реальные длины у моделей и прописанные в характеристиках однозначны).

    Теперь можете проверять, измерять и прописывать в свойствах любых моделей настоящие длины.

    Другой дело: соответствие длин историческим. Здесь уже идет работа в 3D max. Где уже можно масштабировать. Где есть рулетка, tаре и соответствующие инструменты. Можно настроить свою систему единиц измерений, соответствующую той что в игре, используя например объекты игры с известными размерами... Но это уже отдельная тема.


    По №2 вопросу:

    Непонятка в unit_Ship файла .sim - это не дефект файла, в Silent Hunter-5 все .sim прописаны аналогично. Там использована немного другая кодировка шестнадцатеричной системы, а точнее сжатие для прописанных числовых значений параметров, отличное от версий SH3/SH4, они не воспринимаются Silent3ditor.



    Вообще, если не ошибаюсь, эти файлы из пятой части вроде должен редактировать GoblinEditor...

    Короче, я изменил твой .sim так чтобы он полностью читался в программе Silent3ditor.
    Как я понял проблема была в осадке судна, и по-моему вот её причина:



    В оригинальном файле в значении gc_height прописано 2. Это мало для него, я изменил это значение на 7,3 - на моё усмотрение наиболее подходящее, упомяну: суда близкие по габаритам к этому типу имеют это значение в пределах 7-8.

    http://narod.ru/disk/60239602001.62a...L_sim.rar.html

    В любом случае, теперь можешь его менять как тебе угодно в знакомом Silent3ditor.

    Успешной охоты! Злой пират Джек .
    Крайний раз редактировалось Rosomaha; 30.08.2012 в 22:25.
    Dictum Factum.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •