【Prominence3D】もよろしく!!
あのRPGツクールの開発部もおすすめする
2Dゲーム用の3Dエフェクト作成ソフト!!
無料体験版を是非触ってみてください!!
トップページ > ブログ > corona開発状況07
2014年05月24日

corona開発状況07

Pocket

デザインフェスタ前後は、どうしても作業が止まってしまうなぁ・・・
でも地道に開発進めてますよ!!

さて、今回は「アルファブレンド」と「Zバッファ」に戦いを挑みました。

ちょっと3DCGのお勉強っぽい記事を書いてみましょう。

たとえば物体Aの前に壁があったとしましょう。
そうすると、壁に隠れて物体Aは見えなくなりますね?
この場合、物体Aは描画してはいけないわけです。
これを「陰面消去」とか言ったりします。

この処理を3DCGではどのように再現しているかというと、
“描画したものまでの距離”をピクセルごとに記憶していきます。

たとえば、画面のある位置に壁を描画したとします。
その時、カメラから壁までの距離を記憶しておきます。
仮に壁が5m先にあったとしましょう。

次に、画面の同じ位置に物体Aも描画しなければならないとします。
この時に、物体Aまでの距離が5m以内なら壁の手前にあるはずだから普通に描画し
5m以上遠くにあるなら壁に遮られているはずなので描画しない。

・・・という処理をピクセルごとに行います。
この処理を「Zバッファ法」とか言います。
この方法はほとんどの3Dゲームで採用されているくらい
優秀なアルゴリズムなんですが、弱点があるんです。

それは上の例で言うと「壁が半透明だった場合」。

現実世界なら、5m手前に半透明な壁があって、10m先に物体があった場合
物体はうっすら見えるはずですよね?

でもZバッファ法では、先に描画した物より“遠いか近いか”しか考えないので
この場合、壁の奥にある物体は描画されなくなってしまいます。

これが、エフェクトをものすごく汚くしてしまうんですね・・・

次の動画を見てください。
試しに半透明の半球を複数表示してみました。


あちこち欠けているのが分かりますか?
これじゃ使いもにならないですよね・・・。

じゃぁ、どうすればいいかっていうと、
Zバッファを無視して遠くにあるものから順に描画していけばいいんです。
で、画面内にあるものをすべて四角形の小さい板(ポリゴン)にばらして
遠い順に並べ替えて描画してみました。

そしたら・・・案の定、かなり遅くなるんですよね・・・
これじゃ使えません。

ってことで、ポリゴン単位じゃなくて、物体単位で遠い順に並べ替えるという
ゲームでよくやる方法にしてみました。


まぁ、パッと見違和感ないですね。
やっぱりここに落ち着くのかな。

でも、これは完璧には程遠いんですよ。

ちょっと想像してみてください。

たとえばあなたの左側にボールAがあったとします。
大きさはピンポン玉くらいで、あなたからボールの中心までの距離は1mとしましょう。

そして反対の右側にはボールBがあります。
こちらは中心までの距離が5mありますが、半径5mの大玉だったとします。

中心距離で見ればBの方が明らかに遠くにありますが、実際は・・・
Bはぶつかっちゃうくらい近いですよね?

という風に、遠くにあるからって
その物体の描画するべき“面”が遠いとは限らないんですよ。

じゃぁ、中心じゃなくて近い面で計算すれば・・・って言われるかもしれませんが、それだと、最初に作ってみて処理が遅くなった“ポリゴン毎”の方法になっちゃうんですね。

カメラも物体も動いたり回転したりするから、どの面が近くに来るかなんてわからないですからね・・・
ってことで、完璧ではないけど、とりあえず今回はこのくらいにしておきましょう。

実際にエフェクトが完成して2D画像として書き出すときは処理が遅くても構わないんでポリゴン毎の処理を入れてもいいかもしれません。

でもポリゴン毎でも完璧ではなくて・・・(交差してるポリゴンだとダメ)

完璧を求めるなら1ピクセルごとに考えなくてはいけないので、
レイトレーシング法とか・・・

そこまで行くと、ちょっとしんどいな・・・。

Pocket


corona開発状況07” への7件のコメント

  1. corona発売マダァ-? (・∀・ )っ/凵⌒☆チンチン

    …というのは冗談ですが、本当に発売を心待ちにしています!
    年内には出るかななどと期待してみたり。。

    • きゃぁ~~~(嬉しい悲鳴)

      そうですねぇ、秋ごろ体験版出して、冬頃公開したいと考えてます。
      まぁ、本職の合間での制作なので、どうなるかわかりませんが…
      頑張って作りまーす!!

  2. 私もほんの少し3Dの勉強しましたが、結局速さと綺麗さのどちらかを犠牲にしそうなのが苦しいですね。。。
    何にせよ、公開されたら是非購入したいです。
    応援しています!

  3. すごく難しいことをされてますね…
    完成が楽しみです
    フリーではもったいないレベルになるんじゃないでしょうか?

    • コメントありがとうございます。

      えぇ~っと…この作品はですね。
      “「お金を払ってでも使いたい」と思える作品をつくれるか!?”
      という目標を掲げて作っていますので、シェアウェアで公開する予定です。

      と言っても、数百円~千円ちょっとの学生でも買える価格にしたいと思ってます。

    • すいません、そういえばそうでしたね…
      千円程度ならぜひ購入したいです

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

 ■ツール  ■ゲーム  ■講座  ■素材  ■その他  ■管理人へ
  Prominece3D   ウディタミネンス   エフェクト画像の描き方   戦闘エフェクト素材   CG作品   お問い合わせ
  Relocater   ツクルミネンス   ロゴの描き方   投稿エフェクト   書籍   管理人を応援
  Prominece     HSP講座      
           

Copyright © 2011-2018 藤宮翔流 All Rights Reserved.