2012-11-08

法線マップ付きのドット絵 法線マップ付きのドット絵 - Nao_uの日記 を含むブックマーク はてなブックマーク - 法線マップ付きのドット絵 - Nao_uの日記 法線マップ付きのドット絵 - Nao_uの日記 のブックマークコメント

ABA@abagames

うわぁーGPUでの回転機能も無いのにあらかじめ256方向のキャラクタパターンを用意してインデックスを切り替えて表示すればなめらかに回転してて夢みたーい、まさにドリーム、まさに夢砲台


回転機能を使うと光源方向まで回ってしまうので、光源を考慮したドット絵を256パターン用意するのが最強なんだろうけど、人間が描くのはキツそう。でも法線マップを用意して自動生成とかやりはじめるとだんだんドット絵じゃなくなってくる。ドット絵を滑らかに回すとどんな風に動くのか見てみたい

Nao_u@Nao_u_

@Omegamega CrazyBumpみたいなツールでドット絵を法線マップとアルベドに変換して、回転させた後に光源計算をやり直すみたいなやり方でいい感じに回転パターンが生成できないかなと。3Dレンダリングから落とした絵はどうしても潰れてしまうので、手書きのドット感はそのままに。

Nao_u@Nao_u_

@Omegamega たとえばゼビウスの敵とかは対称形なので、少ないパターンで光源付きの回転パターンを表現できてるんじゃないかと。あんな感じでもっと書き込まれた絵で256パターンの異常に滑らかに動くものを見てみたいな、と。


ゼビウスを作る!」 番外編 ハイレゾゼビウスを作り始める 「ゼビウスを作る!」 番外編  ハイレゾ版ゼビウスを作り始める - Nao_uの日記 を含むブックマーク はてなブックマーク - 「ゼビウスを作る!」 番外編  ハイレゾ版ゼビウスを作り始める - Nao_uの日記 「ゼビウスを作る!」 番外編  ハイレゾ版ゼビウスを作り始める - Nao_uの日記 のブックマークコメント

あらためて確認してみたら、ゼビウスの敵でZ軸回転してるのってゾシーとシオナイトくらいしかいなかった。回せばいいってものでもないか…

法線マップ付きのドット絵ってまだほとんどやってる人がいなさそうなので、挑戦してみる価値はあるかも。手間のわりにどのくらい意味があるのかと考えると、かなり微妙そうな雰囲気ではあるけど

[]ドット絵で手書きの法線マップを使った光源処理を試してみた ドット絵で手書きの法線マップを使った光源処理を試してみた - Nao_uの日記 を含むブックマーク はてなブックマーク - ドット絵で手書きの法線マップを使った光源処理を試してみた - Nao_uの日記 ドット絵で手書きの法線マップを使った光源処理を試してみた - Nao_uの日記 のブックマークコメント

f:id:Nao_u:20131222113819p:image

ドット絵で手書きの法線マップを使った光源処理を試してみた。


左上がそれぞれアルベドと法線マップで、真ん中が光源計算の結果。カーソルキー左右で光源方向を回転。

平面の多いデザインのものであれば、手作業でもそれなりに見えるものが作れそう。軽く試してみた範囲では思ってたほど非現実的ではなさそうな気配が。慣れると案外いけるかも

16x16くらいのサイズあれば、あらかじめ用意した球を法線マップ化した絵から色を拾いながら作業すればそれなりに現実的なレベルでいける感じ。曲面の多いデザインのものだとだいぶ苦労しそう。

丸いものを表現するなら、何らかの方法(手書き?)で白黒のハイトマップを生成してから変換するほうが楽に作れるかも。ソルバルウの翼とかは1ピクセルごとに法線の向きが変わってたりするので、ハイトマップ化はたぶん無理。こういうのはドット絵として脳内で補完しながら手で書くしかなさそう

ソルバルウの翼みたいにピクセル単位で法線の向きが変わるような絵はバイリニア補完するとおかしな見た目になってしまうので、このくらいの密度のものはポイントサンプリングでないと破綻してしまう

この状態で光源ではなく絵のほうを回転させると、光源計算の見た目的には破綻しないけど、せっかくのドット感が台無しになってしまう。どこかに法線の回転による色変換に対応した、256段階くらいの細さに耐える高精度の回転機能を持つドット絵ツールがあったりしないかな。あまり需要なさそうだけど

Nao_u@Nao_u_

@KidTak たしかに、いろいろテンプレート的なものを用意しておくことで作業効率が上がりそうですね。元絵を拡縮して張り付けるのもよさそうです。この手法の欠点は、圧縮テクスチャにすると劣化しやすいところでしょうか。びっくりするくらいに汚い見た目になってしまいました

Nao_u@Nao_u_

@KidTak そもそも16x16の絵を圧縮しようとかいう時点で根本的に間違ってますね。Unityに取り込んだらデフォルトが圧縮テクスチャになってて、ひどいことになってました