来年は子年なので、ねずみをモデリングしてみました。年末年始と言うことで、モデルのねずみさんにもおいしそうなチーズを差し入れておきました。
前回モデリングした「ナノブロック」を使っています。前回は、数式からナノブロックを組み立ててハート型オブジェを作ったのですが、今回は、別な方法を使用しています。その方法については、年明けにでも別途ご紹介したいと思います。
本ページ執筆時点バージョンのXi-TRACEにバグを発見してしまいました。手元のコードは修正したのですが、まだリリースしていないので、近々リリースします。下でリンクするデータでは、バグを回避してあるので、新しい修正版を使わなくても、レイトレーシングは可能です。
// 床の凹凸データ
box 0,0,fwid - 1,fhei - 1, cblack,solid;
idx=fwid/3;
while (idx>0)
{
pcr=sqrt (1 - sq (idx/(fwid/3)));
if (MODELA≧5.47)
{
lum2pix pcr,pc;
}
else
{
col2pix pcr,pcr,pcr, pc;
}
circle fwid/2,fhei/2,idx, pc,solid;
// 継続
idx=idx - 2;
}
bmap floor, 0,0,fwid - 1,fhei - 1, fwid,fhei, sample=3;
データ中、上の部分がバグ発生個所です。具体的にバグっていたのは、bmap命令で、画像の輝度値を凹凸データとして取り込むときの、輝度の計算式です。画像生成時に「MODELA≧5.47」で場合分けすることでバグを回避しています。
現在のXi-TRACEでは、MODELA=5.46(バージョン)ですが、バグ修正してリリースすると、MODELA≧5.47となりますので、本来やりたかった方法で凹凸データを生成することができるようになります。
※現時点で、バグ修正版のXi-TRACE R17をリリース済みです。最新版でお試しください。
完成したデータをリンクしておきます。
1) | Xi-TRACEデータ | cheese_mouse.xitr |
2) | PLYファイル | cheese_mouse.ply |
2)は、ナノブロックの色と配置を記述した3Dデータファイルです。1)でレイトレーシング実行時に読み込んで使用します。
以下、Xi-TRACEでレイトレーシングした動画です。
PLYファイルの生成含め、3Dドット絵データの作成については、また別な機会に。