Как стать автором
Обновить

Комментарии 6

Средняя нога действительно есть в игре?
Или это ошибка алгоритма?
Скорее используется как точка привязки.

Это не нога, это код для поддержки Ли (персонажа).

Через эту "ногу" осуществляется "перемещение" скелета. Сам скелет построен таким образом. Самый верхний узел же (по другому root bone) отвечает за перемещение персонажа в игровом мире. В случае данной игры это используют в так называемом "Edit Mode" или в некоторых PV.

Однако в следствии того, что у нас данные в файле везде в целочисленном виде, мы должны их на что-то делить (точнее умножить. например на 0.0002), чтобы получить дробное число. Это число указывается в заголовке. Из-за этого деления (на самом деле умножения, но не суть) с каждым сложением и вычитанием точность немного уплывает.

Сдаётся мне, что там математика с фиксированной точкой. Вам нужно корректно считать именно таким способом, не переходя в float point, чтобы всё было так же точно, как в оригинале. Если нужно больше деталей — ищите по ключевым словам "fixed point math".

Математика не с фиксированной точкой. Тут используется floating point. В самом файле это "0.0002" в floating point. Да и в самом коде в игре используется floating point.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации