2014年1月14日火曜日

戦車を作ってみよう

アプリの宣伝用に、何かインパクトがあるものを作ってみようと思い、戦車を作ってみた。

モデルにした戦車は、Tigerという有名なWW2の戦車。車体が角張っていて曲面が少ないので作りやすい。ただし、転輪の部分は2重になっているので、作りにくい。

戦車の画像だけでは形状がよくわからないので、World of tanksの3Dモデルを見ながらコツコツ作成して、5時間ほどで完成。(途中、ゲームで遊んでしまうので、もっと時間かかってるけど...)




アイソメトリック図はこんなかんじ。


このモデルをSTLでエクスポートして、Google Deiveを経由して、AndroidからWindowsへデータを渡し、Blenderでレンダリングしてみた。下の画像ではマテリアルを消して描画しているが、STLでエクスポートした場合は、マテリアル情報も保持される。レンダリング設定は、ほぼデフォルトのままで、Ambient Occulusionを加えた。ブロックが結合されていないモデルは、そのままの状態では、描画負荷が高いので、モデルを全て選択した状態で、Ctrl+Jを押して、オブジェクトを結合させると良い。



それから、2種類のモデルを作って、Photoshopに貼り付けて、明るさを微調整。右側のモデルは、ブロック間のギャップを残したままレンダリングした画像で、左側はブロックを結合してレンダリングした画像。アプリ内のエクスポート設定で、ギャップの有無を選択できる。


総ブロック数は14,514個。旧型Nexus7でもサクサク描画できる。8分木ブロックは、複雑なモデルでも少ないブロック数で表現できるという利点がある。


2014年1月13日月曜日

Isometric Image その3



いろいろなモデルで試した結果、問題なかったので、Fumortim 1.7.1で実装予定です(フリー版にも)。画像サイズは1000x1154の固定サイズ。画像は、下のような背景が透明なPNG画像として保存されます。

イラスト作成や、ゲーム素材の作成に便利かも。


ギャスケットも表示させてみた。神秘的...

2014年1月11日土曜日

Isometric Image 続き


Zソートが不完全だったので、少し修正した。アルゴリズムは、ほぼ完成したので、もう少し調整して完成かな。操作用ボタンも付けた。ボーダーやフィルターなどの描画オプションを設定できるようにしたいけど、時間がかかりそうだから、後回しにしよう...


色と陰影を付けてみた。なかなか綺麗だ。



ロボットのブロック色をランダムにして描画してみた。そろそろ公開できるかな。

2014年1月10日金曜日

Isometric Image


Isometric画像の描画システムを作成している。OpenGLに頼らない描画システムにするので、Zソートは、自分で考えなければならない。上の画像はZソートをしていないので面の前後がぐちゃぐちゃになっている。


で、スクリーンからの距離で、Zソートすると上のようになる。うまくいっているようだ。あとはUIを作りこんで完成かな。


メンガーのスポンジも描画してみた。