« eworld.hkのドメインネームスパム | メイン | BarCamp Tokyoに行ってきた »

2009年05月15日

Pixel City - 人工の3D夜景を作るチュートリアル&ソース

Pixel Cityは、コンピュータ上で存在しない都市の夜景を、毎回リアルタイムで、ランダムに生成するというプロジェクトで、上記の動画はその作っていく過程と最終的な夜景を収めたもの。

Twenty Sidedというブログで4月から5月にかけて、その手順が詳細に書かれている。

Windows+OpenGLベースで、実際に制作にかけた時間は合計で30時間ということ。以下に各記事を示す。

Part 1: はじめに

Part 2: ビル壁面のテクスチャを作る

Part 3: 新旧デザインのビルを作る

pixelcity_building2.jpg

Part 4: 都市計画(街路と大小ビルの配置)

休憩

Part 5: 修正 - 壁面の明かりを調整

Part 6: 空に色をつける

Part 7: 街灯と車のヘッドライト・テールライトをつける

pixelcity_cars2.jpg

Part 8: 高速化の準備 - ボトルネックを調べる

Part 9: 高速化

Part 10: さらに高速化

Part 11: デモ動画の作成

Part 12: 完成へ - ビルにロゴをつける、街灯の調整、屋上灯やアンテナ塔をつける、スクリーンセーバー化

Part 13: プログラムとソースコードのリリース

Part 14: フィードバックとまとめ

テストの呼びかけ

各ブログ記事には、数十個以上のコメントがついていて、いろんな人が別の技法や改良案、論文の紹介や高速化の提案などをしている。まさに公開しながら学んで成長するという事例にもなっている。

C++(ざっと見た感じでは、better CとしてのC++)のソースコードはこの作者のオリジナルがGoogle Codeで公開されている他、forkしたGithabでも他ユーザの参加で改良が進んでいるらしい。

バイナリは、Windowsのスクリーンセーバー形式のものが公開されていて、ダウンロードして\Windowsフォルダにおき、コントロールパネルの画面からスクリーンセーバーとして登録すると、Windowsマシンで動かすことができる。

最後の記事で呼びかけているように、環境によっては非常に重くなって動かないというバグが出ているようなので、動かしても何も表示されてこないようならプロセスを止めて復旧されたい。僕の場合家のPCでは動いたが会社の方(ちょっと古い)では動かなかった。

投稿者 秋元 : 2009年05月15日 14:45

トラックバック

このエントリーのトラックバックURL:
http://labs.cybozu.co.jp/cgi-bin/mt-admin/mt-tbp.cgi/2184

 
mg src="http://img.awasete.com/image.phtml?u=http%3A%2F%2Flabs.cybozu.co.jp%2Fblog%2Fakky%2F" width="160" height="140" alt="あわせて読みたい" border="0">

著書

PHPxWebServiceAPIConnections.jpg

プロフィール

週三日勤務で、残りは個人で活動しています