Решил тут немного поразбираться с форматом CAM.
Узнал, что у файла CAM нет заголовка, он разбит на поля по 36 байт. Скорее всего все поля являются float'ами...
Скорее всего буду сейчас над ними баловаться...
-------------
Урезал файл mainmenu.cam до 36 байт. Работает нормально! :blink:
Скорее всего Нивальцы опять что-то хотели, но недоделали...
Узнал, что первые два поля (из девяти в одном блоке) камеру не трогают, остальные её крутят как-то непонятно... может быть, даже по кругу. :ph34r:
-------------
Итак, нулевое и первое поля ещё не известны.
Поле 2: Смещение на восток;
Поле 3: Смещение на север;
Поле 4: Смещение в небо.
Всё-таки в этих полях перемещение идёт по прямой.
--------------
Поля 5,6,7,8 поворачивают камеру. Но вот делают они это очень не хорошо! :angry:
Очень странная тректория поворота камеры.
Но всё-таки смог немного разобраться:
Поля 7 и 8 делаю поворот в одну сторону (при увеличении камера поворачивается к небу, если смотрела прямо). Если записать в поле 7 ноль, то камера будет смотреть в небо, а если записать в поле 8 ноль, а в поле 7 число (0>xxx>1), то камера будет смотреть на землю. Чтобы камера смотрела прямо, желательно в поле 7 поставить -1, а в поле 8 поставить 1 (скорее всего камера становится в разницу между этими значениями).
Поля 5 и 6 ещё кривее предыдущих. Они тоже работают на пару. Если увеличивать эти поля, причём сохранять их равными, то камера будет проворачиваться набок против часовой стрелки. А вот если значения этих полей увеличивать, но при этом сохранять их равными с противоположными знаками, то камера будет поворачиваться, как обычные юниты поворачиваются, только при увеличении значений резко падает чуствительность камеры и её начинает косить (это дело выравнивается подборкой мелкой разницы между абсолютными значениями полей).
Хух, я бы лучше понял логику поворота камеры, скорее всего, если бы знал, как обычно в играх реализую работу с камерой. А так вот приходится вертеться.
Смысл первых двух полей я так и не понял. Знаю, что второе поле часто бывает отключено (FF FF FF FF), а в первом гигантское значения записаны, но в разумных пределах для float - скорее всего это ID, или что-то типа номерка... :unsure:
Пока на этом работы с форматом CAM останавливаю. Мне удобнее всего их было менять спомощью ArtMoney 7.08 - она файлы править умеет, причём позволяет разбивать файл на поля нужно типа.
Узнал, что у файла CAM нет заголовка, он разбит на поля по 36 байт. Скорее всего все поля являются float'ами...
Скорее всего буду сейчас над ними баловаться...
-------------
Урезал файл mainmenu.cam до 36 байт. Работает нормально! :blink:
Скорее всего Нивальцы опять что-то хотели, но недоделали...
Узнал, что первые два поля (из девяти в одном блоке) камеру не трогают, остальные её крутят как-то непонятно... может быть, даже по кругу. :ph34r:
-------------
Итак, нулевое и первое поля ещё не известны.
Поле 2: Смещение на восток;
Поле 3: Смещение на север;
Поле 4: Смещение в небо.
Всё-таки в этих полях перемещение идёт по прямой.
--------------
Поля 5,6,7,8 поворачивают камеру. Но вот делают они это очень не хорошо! :angry:
Очень странная тректория поворота камеры.
Но всё-таки смог немного разобраться:
Поля 7 и 8 делаю поворот в одну сторону (при увеличении камера поворачивается к небу, если смотрела прямо). Если записать в поле 7 ноль, то камера будет смотреть в небо, а если записать в поле 8 ноль, а в поле 7 число (0>xxx>1), то камера будет смотреть на землю. Чтобы камера смотрела прямо, желательно в поле 7 поставить -1, а в поле 8 поставить 1 (скорее всего камера становится в разницу между этими значениями).
Поля 5 и 6 ещё кривее предыдущих. Они тоже работают на пару. Если увеличивать эти поля, причём сохранять их равными, то камера будет проворачиваться набок против часовой стрелки. А вот если значения этих полей увеличивать, но при этом сохранять их равными с противоположными знаками, то камера будет поворачиваться, как обычные юниты поворачиваются, только при увеличении значений резко падает чуствительность камеры и её начинает косить (это дело выравнивается подборкой мелкой разницы между абсолютными значениями полей).
Хух, я бы лучше понял логику поворота камеры, скорее всего, если бы знал, как обычно в играх реализую работу с камерой. А так вот приходится вертеться.
Смысл первых двух полей я так и не понял. Знаю, что второе поле часто бывает отключено (FF FF FF FF), а в первом гигантское значения записаны, но в разумных пределах для float - скорее всего это ID, или что-то типа номерка... :unsure:
Пока на этом работы с форматом CAM останавливаю. Мне удобнее всего их было менять спомощью ArtMoney 7.08 - она файлы править умеет, причём позволяет разбивать файл на поля нужно типа.