fc2ブログ

Javaゲーム制作記

いろいろ作ってます  

3D-CG追加!

Poly gamesの3DCGコーナーに「Geometry」を追加しました!

(画像をクリックで再生)

貫通体はZバッファだからこそ出来るものの一つですね。
スポンサーサイト



[ 2010/03/31 12:57 ] ゲーム制作 | Comment(2)

3D迷路ゲーム(もどき)公開&8000突破!

Blogのアクセス数が8000を突破しました。
これからも頑張ります!
次の目標は10000!

↑危なかった

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


Poly gamesの方に3D迷路ゲームもどきを公開しました!
テクスチャ付きポリゴンなので重いですが・・・
よかったら遊んでみてください。

(画像をクリックでプレイ!)P.S. リンク切れです
[ 2010/03/29 18:57 ] ゲーム制作 | Comment(4)

Javaの自作エンジンまとめ

物理エンジンに続き3Dエンジンも完成(一応は)したので、
ファイル名の変更、最適化などなど、いろいろとやりました。
しかしEclipseはクラス名の変更(参照元も一括で)を自動でしてくれるので本当に助かります!

変更箇所またはファイルを右クリック→リファクタリング→名前変更でできます。


JPR2(物理エンジン)のパッケージの様子です。


もう巨大なパッケージ過ぎて何がなんだかわかりませんw
もう少し計画的に作るべきだったか・・・?
機能不足よりはマシですが・・・

ざっと機能を並べてみると、

・剛体専門!
・タイムステップごとの演算
・剛体(丸、四角、凸包多角形)
・ワームスタートによる安定化
・めり込み処理(にょりっと押し出されます)
・ジョイント(距離、回転、ドラッグ、滑車、固定)
※画像にJ2PrismaticJointというのがありますが使えません
・ジョイントにモーター(回転)
・ジョイントにリミット角度(回転)
・摩擦係数・反発係数の設定
・重力(当たり前


こんな感じです。
Box2Dと同じ・・・うわ何をするやm(ry


続いてはPoly3D(3Dエンジン)の方です。



こちらはわりとすっきりと収まりました。
しかしまだちょっと機能不足です・・・
スポットライトとかバンプマッピングあたりを実装したいです。

機能一覧

・ソフトウェアレンダラー(Java3Dとかのプラグインいりません)
・Zバッファによる陰面消去
・ライティング
・フォグ(霧の表現)
・シェーディング(フラット、グーロー)
・光源の種類(平行光源、環境光、点光源)
・光源に色を設定
・マテリアル(Phongの反射モデル)
・基本図形の作成(箱、球体、円柱、トーラス(ドーナツ型のあれ))
・モデルローダー(.mqo)
・テクスチャマッピング
・テクスチャのパースペクティブコレクション(透視補正)
・バイリニアフィルタリング
・環境マッピング(球面反射マッピング、屈折マッピング)

と、こんな感じです。

※カテゴリは物理エンジンと3Dエンジンと両方ですが、3Dエンジンのほうに入れておきます。
[ 2010/03/27 17:36 ] 3D | Comment(2)

1000やってしまった・・・

Poly gamesのイメージをブログと合わせました。

そしてそのホームページの1000を踏んでしまいました。
何回目だろうか・・・w
証拠写真↓




P.S.
3DCGのコンテンツを作りました。


環境マッピングも実装したので、興味のある人は見てくださいね。
[ 2010/03/24 15:35 ] 未分類 | Comment(2)

3Dエンジン 屈折マッピング!

最初はやるつもりはなかったんですが、方法を発見して実装。
下がその画像です。
ワイングラス(のつもり・・・)はメタセコでモデリングしました。



見えるでしょうか・・・
一応屈折率は変更できます。
自分の環境でギリギリ100FPSに届かず・・・
一度画面をキャプチャしてそれをテクスチャとして使っているので重いようです。
欠点は重いことと縦横の画面サイズが2の累乗じゃないといけないことです(画面をテクスチャとして使うため)。

ちなみにこの際テクスチャのバイリニアフィルタリングも実装しました。

ではアプレットです。
続きからどぞ↓
[ 2010/03/19 15:30 ] 3D | Comment(4)

グーローシェーディング+点光源!

ちょっと遅れましたが(かなり・・・?)Poly3Dのバージョン2.3(最新版)に点光源を追加しました。
ユタティーポットのデータも手に入ったので、早速赤、青、緑の点光源を配置してみました!

結果:


おお!
ティーポット恐るべしw
四角形は光源の位置です。

ちなみにグーローシェーディングなしだとこちら

やっぱりかくかくします。

さて、点光源の光の強さの求め方ですが、、、

ポリゴンの中心点をC、
ライトの位置をP、
ポリゴンの法線ベクトルをN、

とすると(いずれも全てワールド座標系)、


L = P - C
Lの正規化を行う

dot = L・N
dot = max(dot, 0)

これで求めたdotを使ってポリゴンの色を決めます。
後は平行光源と同じなので省略します...


では定番のアプレットです。
続きからどうぞ↓
[ 2010/03/16 17:34 ] 3D | Comment(2)
プロフィール

saharan

Author:saharan

Twitter
検索フォーム