Frame-related files

Three files that deal with hit area and the various parts of the body.
limb, exp, and hitArea dictate how to move your character.

limb.lst (can be any name, loaded in mo00_00_00_00.lst).
The following lists the headers in the specified order.

バージョン version
演算タイプ - operation type
逆回転 - reversed rotation. Boolean 0 or 1 indicating which direction it should spin
前演算 - front operation
回転制限角度 - rotation limit
Swivel最小角度 -
Swivel最大角度
移動ウェイト - movement weight
回転ウェイト - rotation weight
基準軸 - reference axis (?)
回転基準軸 - rotation reference axis (?)
ベース - Base
ルート - Root
フレーム - Frame
エフェクタ - Effect

The last 4 specify skeletal frames.

Exp.lst
Can also be renamed and is loaded in mo00_00_00_00.lst.
The following is the headers in the specified order.

タイプ - type
左右中 - left right center? (values are 0 1 and 2, maybe specifying which one it is)
修正フレーム - reference frame
参照フレーム1 - reference frame 1
参照フレーム2 - reference frame 2
ベースフレーム - base frame

I don't know what this file is for, but it is required to use hitareas properly.

HitArea.lst
Can also be renamed and is loaded in mo00_00_00_00.lst.
The following is the headers in the specified order.

フレーム1 - frame 1
許容エリア1 -
フレーム2 - frame 2
許容エリア2

The hit area is the white boxes that are shown when you enable collision detection. They tell you the region of the body that you can move (arm, leg, neck).

The first frame indicates where the hit area starts. The first value indicates the side length of the starting point.
The second frame indicates where the hit area ends. The second value indicates the side length of that point.

When two frames are specified, it creates a quadrilateral from frame1 to frame2, where the size (and shape) of the quadrilateral is determined by the two values. If value1 and value2 are equal, then you have a rectangle. If one value is greater than the other, you have a trapezoid. If one value is 0, then you have a triangle.

If the first frame is given, but the second frame is not specified, meaning you use the null value ssssssssssssss", then you will have a circle as the hitarea and the first value represents the radius (or maybe diamater) of the circle.

Note: you can create a very large hit area, and if you click on the hitarea, it will move the specific part of the body even if your mouse isn't hovering over the actual part.



Analysis

I put limb.lst and hitarea.lst together and noticed that they are related to each other.



The parts of the body appear to be hard-coded. I swapped two lines in both files and the model was loaded wrong.

No comments:

Post a Comment