OBONO’s Diary

へっぽこプログラマの戯言

ボクセル

昨日(id:OBONO:20140814#p1)の続き。OBJ形式ってどんなフォーマット何じゃろうと Google 先生に聞いてみたら、意外と素直な ASCII データだという事が判ったので、ちょっと Perlスクリプト書いてみる。

#!/usr/bin/perl

$fname = 'witch';
$obj_scale = 3;

$obj_w = 16;
$obj_h = 16;
$obj_d = 16;

$obj_col = {
	A => '#103052',
	B => '#4261FF',
	C => '#B5D3FF',
	D => '#AD0000',
	E => '#FF4110',
	F => '#FFC3BD',
	G => '#D36889',
	H => '#FFE5B5',
	I => '#000030',
	J => '#909060',
};

$obj_ptn = [[
    (省略)
	'................',   # d = 7
	'.....EEEEEE.....',
	'....EEEEEEEE....',
	'....FEEEEEEF....',
	'...EEEEEEEEEE...',
	'..EDEDDDDDDEDE..',
	'.DD.AIHAAHIA.DD.',
	'....HIHHHHIH....',
	'....HIHHHHIH....',
	'....BHHHHHHB....',
	'....BDDEEDDB....',
	'....DEEEEEED....',
	'..HHDEDAADEDHH..',
	'..HHDDA..ADDHH..',
	'....ABA..ABA....',
	'.....JJ..JJ.....'
    (省略)

このキャラのボクセルのパターンを入力するのは、これで4度目だな。まぁいいや。色情報について、3Dデータならではという感じで Diffuse やら Ambient やら設定する必要があるのだが、そのへんは適当に。
このスクリプトを実行すると、"witch.obj" と "witch.mtl" を得る。DMM.make によると、事前に "MiniMagics" というツールでデータの内容を検証するように書いてあるので、ダウンロードして、作成したデータを食わせようと思ったら、OBJ形式は対応してねーし。
仕方がないので、Google 先生から、Web上でフォーマット変換してくれるサービス "Online 3D Model Converter" を教えてもらい、STL形式に変換。改めてツールに食わせてみたら、問題無しとの事。寸法についても、予想通りmm単位で扱われるみたいで、1ボクセルを 3x3x3 の大きさにしたから、この 16x16x16 のボクセルモデルは 5cm の立方体に収まる感じ。


さて、早速 DMM.make のアカウントを作って、上記の2ファイルをzipで固めてアップロードしておいた。モデルチェックが完了したら、見積りを出してもらえるとの事。果たして、どうなる事やら。
とりあえず、今日の成果をこちらにアップロードしておいたので、興味のある方はダウンロードしてみてくんなませ。