データ仕様

Fumotrimのデータは、様々な大きさのブロックで構成されています。このブロックをBoctと呼びます。Boctとは、BlockとOctを組み合わせた造語で、8分割の連続で構成されるブロックを示しています。
Boctのデータは、下図のような30bitのデータで構成され、これをBoct Packetと呼びます。

Boct Address

Boct Packetは、24bitのアドレス部と、6bitのマテリアル部とに分けられます。アドレス部は、最初に3bitのアドレス長が記述され、その後に3bitのサブアドレス部が7個続きます。アドレス長が0のブロックを、Root Blockと呼びます。アドレス長が1増えるたびに、ブロックの体積は1/8になります。最大で、128x128x128個のブロックを定義できます。

サブアドレスは、8分割した正六面体の位置を示し、下図のように割り当てられます。上のブロック群は、反時計周りに0~3、下のブロック群は、反時計周りに4~7が割り当てられます。

Block Order

下図に、Boct Packetのアドレス部の例を示します。

Address Example

灰色の数値は未使用部分です。未使用のサブアドレスには0を割り当てます。

Fumotrimデータ(Version10000)

.ftrimデータは、UTF8のテキストデータで、テキストエディタ等で表示できます。以下はデータのサンプルです。

Fumotrimのデータは、行ごとに解析します。改行コードはLFです。行は、コロンで区切られ、左側がデータ名、右側がデータ内容です。先頭に#を入力するとコメント行になります。nameはモデル名、authorは作者名、commentはコメントです。

boctのデータは、base64でエンコードされています(a-zA-Z0-9+/)。5文字で1パケットを表します。materialは、カンマ区切りで、24ビットのRGBカラーを16進数で表します。