-
Курсант
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.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума