Javaゲーム制作記

いろいろ作ってます  

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | Comment(-)

球状環境マッピング テクスチャ座標の求め方

なんと!
前回紹介したUV座標の求め方が間違っていた!
訂正しておきます。
正しくは

M = 2 * sqrt(r.x ^ 2 + r.y ^ 2 + (r.z + 1) ^ 2)

U = r.x / M + 0.5
V = r.y / M + 0.5

※フェイクマッピングの場合は短縮できます

あ、r は視線の反射ベクトルです。
反射ベクトルはよく書いてあるけど環境マッピングのテクスチャ座標はどこにも書いてない・・・
ので載せました。
今度これで実装しよう。
[ 2010/03/14 15:03 ] 3D | Comment(0)

robo君復活 & 環境マッピング

やや久しぶりの更新となりました。
Poly3Dのほうも開発が進んでおり、ようやくひと段落といったところです。
ところでふとDirectXとVisualC++で作っていた(そして止まっていた)ゲームを思い出しました。
robo君が活躍(?)するアクションゲームです。


こんなやつです。

ちょっとだけPoly3Dで再現してみようということになりました。
続きにおいてあります。

--------------------------------------

ここからは環境マッピングの話となります。
環境マッピングとは物に周りの風景が映り込んでいるように見せかける手法です。
あくまでも見せかけですw
こちらはPoly3Dでテスト的に環境マッピングをしてみた画像です。

P.S. 画像はもはや環境マッピングではないです(まじめに計算していなかったため)!

こんな感じになります。
あらかじめ用意しておいたテクスチャを貼り付けるという感じです。
貼り付けるUV座標ですが、視線の反射ベクトルをVとすると、

U=Vx/2+0.5
V=-Vy/2+0.5

で求められます。
反射ベクトルを求めるのが大変なんですが、そこはまあ省略ということで。


今度まじめに実装します。
[ 2010/03/12 17:01 ] 3D | Comment(2)

3Dエンジン グーローシェーディング実装!!

ソフトウェアレンダリングの3Dエンジン
Poly3D にグーローシェーディングの機能を実装しました!
グーローは"Gouraud"と書きます。考案者の名前だそうです。

フォンシェーディングというものもありますが、(Phong)これも考案者の名前だそうですw
リアルタイムに向いていないので実装しません。

こちらはフラットシェーディングの画像です。

まあ普通ですね。
光ってます。


続いてグーローシェーディングの画像です。

すごく滑らかに見えると思います。
ポリゴン数は上と同じです。
ポリゴンの色をピクセル単位で線形補完して塗っていきます。
多少パフォーマンスは落ちますがフラットシェーディングでこうしようと思ったときの
ポリゴン数を考えるとこちらのほうがいいでしょう。


まあとにかくアプレットで確認してください。
続きからどぞ↓


P.S.
~次回予告~
次回は環境マッピングについて考えてみたいと思います。
環境マッピングとは物体の反射(屈折も。やりませんが一応)をシミュレートする方法です。
[ 2010/03/08 15:04 ] 3D | Comment(2)

弾幕シューティングの続編!

弾幕シューティング"Dan max"に続編が出ました!
どうやら簡単すぎた方がいたようなので・・・
かなり難易度を上げました。
これでもか。
これでもかーっ!
ってくらい上げました。
敵の弾の種類も増やしました。
自分はまずクリアできません・・・



シューティングゲームに自信のあるあなた!
さあ、挑むべし!
(画像をクリックでプレイ)
[ 2010/03/06 12:06 ] ゲーム制作 | Comment(6)

MQOデータの読み込み機能追加

Poly3Dに.mqo形式のファイルを読み込む機能をつけました!
曲面・ミラーはフリーズさせ、オブジェクトを一つにまとめないと読み込めませんが・・・
ソースコードのほうはスパゲティ状態なので公開しません
まとめたら公開するかも。
さてさて、早速MQOファイルを読み込んでみましょう。
※素材はこちらからお借りしました。
ゴールデンぬこ
ちゃんとマテリアルを読み込んでいるので光ってます。


アプレットでも動くようにしてみました。
重いのでかくかくします。
ではどぞ↓
[ 2010/03/02 17:52 ] 3D | Comment(3)

弾幕シューティングゲーム公開!

ずっと3Dエンジンを作っていたので、一休みしてシューティングゲームを作ってみました。
名前は思いつきで"Dan max"に決めました。
割と難易度は高めです。
Dan max
↑画像をクリックでプレイできますP.S. リンク切れです

ビジュアル重視で作ったので、ちょっと重いかもしれませんが・・・
細かい説明などはリンク先に書いてあります。
一度(と言わず何度でも)遊んでみてください!

P.S.
ゲームの館の訪問者が増え始めました。
一日のブログの訪問人数を超えたのは初めてでした。
yakata.gif
[ 2010/03/01 15:12 ] ゲーム制作 | Comment(9)
プロフィール

saharan

Author:saharan

Twitter
検索フォーム


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。