サイトのメンテナンスついでに、2003年頃書いていたBlog的なものやレポート をwikiに移植しました。
今読んでみると、結構面白いし真面目にやってる(ようにみえる)。
Blogとしてはスタイルがあまり変わってないかもなあ。
検索エンジンからMS川西さんの話題に飛んでくる人が多いようなので、たまにはCG関連の話題を紹介するという意味もふくめて、Blogに再掲してみようと思います。
異常に長いので、短気な人は読まなくてよいです。
※赤字のところが今日の**突っ込み**です。MS川西さん「仮想世界システム」の講義 9:08 2003/11/14 MS川西さんによる「仮想世界システム」の講義.本日2回中第1回,AI編.
以下,講義メモ.
・参考図書として回ってきたもの ISBN4-939007-52-9 Reali-Time Shader Programming日本語版 Ron Fosner Aアルゴリズム † クローズとオープンリストを作り,オープンリストの中で最もコストの低いものを選んでいく. ヒューリスティック 探索空間を少なくするためのアルゴリズム http://www.generation5.org/ase.shtml 最適化手法 † {処理の,感覚的,戦術的}最適化 処理の最適化 空間分割 矩形や六角形のグリッド (メリット)障害物とキャラクタの衝突回避が容易,3Dタイルベースのワールドでうまくいく (デメリット)探索空間が大きくなりがち,3Dは難しい 凸型ポリゴン (メリット)データ構造が必ず3Dワールドに存在,BSPツリーを使えば高速にウォークスルーが可能 (デメリット)3Dワールドではポリゴン数が多すぎる,障害物を表現できない,ポリゴン間のパスポイントを設定できない. 可視ポイント(point of viibility) (メリット)探索空間の表現は最低限,障害物を表現可能,パスがダイレクト (デメリット)アルゴリズムやデザイナの協力が必要,障害物が削除されても消去できない,局面の壁への適用が難しい. 階層的パス発見 パス発見を階層化(部屋のようなもの),すばやく移動を開始できる.移動中の変更にも柔軟に対応. ナビゲーションメッシュ 探索用のポリゴンカーペットを用意して,この連続したメッシュ上を探索する.立体的な建築物などに有効. 可視ポイントの応用 拡大ジオメトリ,ポリゴン対ポリゴンの衝突モデルを点とポリゴンに変換して速くする.Minkowski和を使う. ソースポイントから端点どうしを使えば,その間は飛ばせる↑ 処理の最適化 † ヒューリスティックコストを大きめに見積もる 大きめに見積もると無駄な検索はしない(が,回り道は見つけない,迷路のようなものも効果はない) ノードの挿入削除ソートなどの処理を効率化 log(n)ぐらいの複雑さをもつ.ハッシュテーブルのようなものを作る方法 優先度付きキューSTL Priority Queueなどを使う チープリスト(Higgins02) コストの低い15ノードの取得(経験的)↑ その他最適化手法 † 反復深化法 Aに時間制限をかける Aを使わない(見えるなら使わないほうが速い)↑ 感覚的最適化 † パスを直線的に 曲がるとペナルティを与える→まっすく曲がらないように歩く 次の次をの部屋サブゴールにする↑ 戦術的最適化 † Aに戦術的判断を取り込む「撃たれそうなら近づかない」 敵の視野や舎弟を回避するパス ゴールまでの総コスト見積もり+リスク 連続露出時間をリスクファクタに置く 敵に身をさらす時間が連続するほど危険 パスをより知的に 敵の移動を考慮したパス↑ まとめ † A*アルゴリズム ヒューリスティック 幾何的処理,重み付け,直線性,リスク 探索空間↑ 参考資料 † http://www.gameai.com/ http://www.geocities.com/jheyesiones/ http://www.generation5.org/ase.shtml
↑ MyQuestion? † ?敵を倒すことで安全になる(好戦的)とか,あまり周りを見ないといった性格も表現できるのでは? ユニットの相対的な移動速度などでアルゴリズムに違いがあってもいいのでは. 修羅場を生き残ってきたユニットほど,賢いなど.10:00 2003/11/14
↑ 「アニメーション」 † ↑ キーフレームアニメーション † 主要な時刻の位置から全時刻の位置を補完(線形補完,スプライン補完)↑ キャラクタアニメーション † 階層アニメーション フォワードキネマティクス x=f(q) 状況から位置xを決める インバースキネマティクス q=f^-1(x) 最初にxを決めておいてから構成を決める モーションキャプチャ 階層アニメーション D3DXAllocateHieralchy フレーム,メッシュコンテナ,アニメーションセット,アニメーションコントローラ インバースキネマティックス Jacobian Transpose(昔はよく使われていた) Cyclic Coordinate Descent (CCD)http://www.gdconf.com/archives/2000/weber.doc
スキンメッシュ ボーン(行列)とスキンメッシュ(頂点) 1つの頂点に複数ボーンの影響を与えられる ジオメトリブレンディング,頂点ブレンディング 切れ目が生じない表皮のアニメーション 現在のハードウェア(固定機能パイプライン)は最大4つの頂点を重みファクタによってブレンドする. インデックス頂点ブレンディング 4つの行列を全ての頂点で入れ替えると,パフォーマンスに問題が出る可能性がある 最大256のインデックスから4つの行列を選択しブレンドする. モーフィング,トゥイーニング 複数ジオメトリ間で各頂点を補完 スキンメッシュの変形を改善 重みを動的に変更 クォータニオン 行列の代わりに使える,合成や補完が楽になる 複素数の拡張,あるベクトルと回転↑ 衝突検出 † 境界球,境界ボックス,凸型ポリゴン たいていの衝突は点と線に置き換えられる BSPツリーを使った動的な衝突検出(Akenine02) 境界ボリュームによる階層構築 傾斜境界ボックス(OBBTree) 軸並行境界ボックス(AABB) 固定傾斜ポトリープ(k-DOP:Discrete Oriented Polytope)など 階層的衝突検出 Minkowski和を使う↑ 群集 † 群れ生成(Flocking) Boids(Separation ,Alignment Cohesion)↑ 参考文献 † Fast Numerical Methods for Inverse Kinematics http://www.cs.unc.edu/~baxter/courses/290/html/ ↑ ?衝突検出をAPIでもつのか? † A:APIではやらない,アプリ側で実装されるべき.現在のDX,H/Wはポリゴンにトポロジーを持たせることができない,Longhorn世代では(H/Wにトポロジーを持たせることを)やりたい,とは言っている.
その後 その後小田急線で一緒に都内方面へ. GPUの処理結果を取得するAPIなどについてトーク.
Created at:2003/11/25 13:47:41
川西さんええ人やー。あの笑顔が。 それにしても専門じゃない人にとっては、何だかわけわかんない講義メモですね。 しかも専門の人にとっては常識過ぎて、役に立たないメモかも。 まあでもこうしてログとして残しておけば、あとで勉強したいと言う人の役に立つ、かも。MS川西さんによる「仮想世界システム」の講義#2 9:11 2003/11/21 MS川西さんによる「仮想世界システム」の講義. 本日2回中第2回,グラフィックス編.以下,講義メモ. ■グラフィックス ・頂点処理 入力各頂点のデータ,位置,法線,色,テクスチャ座標など 出力,クリップ空間の位置,と色,テクスチャ座標 ベクトルの内積3回で処理できる 固定機能パイプラインでは主に座標変換と照明計算を行う↑ ・GPU, Graphics Processing Unit † ベクトル型のストリームを処理するプロセッサ 利点 SIMD,CPU1と並列に処理可能,多くの場合はCPUより高速,プログラミング可能,安価 欠点 データ転送速度はバスの速度(AGP8x:最大2GB/秒)に依存.※メモリ-CPU間(Intel875P,最大6.4GB/秒)に比べて遅い GPUからの読み取りは非常に遅い(あるいはできない) 精度は最高32bit float(doubleは扱えない) 命令数,レジスタ数に制限がある↑ ・GPUを使った計算科学 † GPGPU,General Purpose GPU ( http://www.gpgpu.org/ ) SIGGRAPH2003 Paper “Computation on GPUs” Cg: A system for Programming Graphics Hardware in C-Like Language↑ ・グラフィックス パイプライン † ★固定機能パイプライン プログラマは,ハードウェアの機能・状態をスイッチするだけ (C#における記述例) 照明計算をする/しない device.RenderState.Lighting = false; テクスチャを使う/使わない device.SetTexture(0, meshTexture); テクスチャマッピングの処理方法を選択 などなど ★プログラマブル パイプライン パラダイムシフト パイプラインの実装は,ハードウェアエンジニアからソフトウェアエンジニアの手に. これまで,ハードウェア内でハードコードされていた機能がソフトウェアでプログラミングできるようになった. それだけでなく,スイッチ以上のことが可能になった. これまで,ハードウェア上では実現できなかった機能がソフトウェアでプログラミングできるようになった. プログラマは自由に独自のエフェクトが作り出せるようになったが… ・言語やAPIの使い方を学ぶだけでは作れない ・グラフィックスやライティング理論の理解 Lambert, Phong, Fresnel, Blinn, Cook, Torrance,… ・独自のエフェクトのモデル化 経験主義 ・リアルタイムで動作するためのチューニング ゲームの実装上には{単純化,事前計算,テクスチャ参照,無視,ごまかし}などがある.↑ シェーダ † グラフィックスパイプラインを実装するための言語 頂点シェーダ 各頂点のデータを操作 位置,法線,色,テクスチャ座標,ブレンド係数,… クリップ空間での頂点の位置などを出力 ピクセルシェーダ テクスチャといっても画像として使わないこともある 頂点シェーダアーキテクチャ ピクセルシェーダアーキテクチャ↑ シェーダ言語 † アセンブラ 命令,レジスタ,マスク,修飾子 (例)vs_1_1 dcl_position v0 dp4 oPosx,v0,c0 dp4 oPosy,v0,c1 dp4 oPosz,v0,c2 dp4 oPosw,v0,c3 ★dp=dotproduct;内積. ベクトルと行列の掛け算はこの内積x4で終わる 命令 add,mul,mad,dp3,dp4,crs,rcpo,rsq,… texld,texkill 命令修飾子 _sat(0-1にクランプ) 入力修飾子 -(符号反転),abs(絶対値) 入力入れ替え 出力マスク↑ 高級言語 † Microsoft HLSL, nVIDIA Cg, OpengGL 2.0 Shader Language HLSL 組み込み関数 abs(x),sin(x),cos(x),tan(x), cross(a,b),dot(a,b) スカラー型 bool,int,float,half ベクトル型 float1,float2,float3,float4,int1,int2,int3,int4 行列型 float4x4,float4x3,float3x3,… hafl4x4,half4x3,half3x3,… 記述例 ピクセルシェーダの例,テクスチャディフューズのアルファ成分とかけて…なんて処理が可読性よく書ける 動作例 骸骨に対する頂点シェーダ,ピクセルシェーダ↑ 様々なライティングモデルとエフェクト † 基本テクニック 環境マッピング 球状環境マッピング,キューブ環境マッピング 法線と視線ベクトル元に ピクセル単位レンダリング 頂点シェーダだからピクセルシェーダに渡されたデータはピクセル単位のデータに補完される 色,テクスチャ座標,法線,任意のデータ Phongのようなものが可能になる.グーロでは出来ない各ピクセルの法線で計算できる. マルチパスレンダリング 最終イメージを生成する前に,必要なイメージを複数回のパスでレンダリングし,合成 輪郭,焦点ボケなど レンダリングの結果をテクスチャとして格納(レンダーターゲットテクスチャ) イメージベースライティング キューブマップと,それを平滑化したブラーマップ 分散ライトモデル 可能な入射光方向をあらわす半球 球面調和ライティング 球面調和関数 明るい部分と暗い部分を表現できる 事前計算済み放射輝度伝播(PRT,Pre-conputed Radient Transfer) 光の伝播を事前計算する,ラジオシティのように確率的に行うのではない ソフトシャドウ,相互反射 http://research.microsoft.com/~prrom ?? 表面下散乱(Subsurface Scattering)=吸収,再放射 剛体にしか適用できない 高ダイナミックレンジレンダリング(HDR) Paul Debevec(1997?) 2002?にATIがH/Wで実装 floatテクスチャで高レンジ(多段階露出)データを処理している 日本でもかわせさんが実装例 HDRであれば1/64の明るさにしても明るいところは残る 双方向反射分布関数(BRDF) 非等方(Anisotopic) BRDFライティング CDやブラシメタルの表現 ノンフォトリアリスティックレンダリング(NPR) ATIのデモ,輪郭線を表現.ワールドの法線ベクトルから輪郭を抽出,オブジェクトにIDをつけ,ピクセルベースでというのは東工大斉藤.高橋の論文(1990) ハイライトの形状 法線マッピング ATIのクルマのデモ 手続き型ボリュームテクスチャ シャドウボリュームというポリゴンを作って,その交点に色をつける シャドウマップは光を視点としてみた映像をかげとしてレンダリングする どちらも利点がある 色収差 メトリックマッピング★時間が足らなくて最後は走り気味になってしまった. やはり90分でこの内容をやるには無理があるかも. その後,先生らと昼食を一緒しながらGDCやCEDECなどについてトーク.川西さん有難うございました!Created at:2003/11/25 13:50:38
その後、 自分がGPGPUに載るとは全く予想だにしてませんでしたよ。 HDRもその後、一生懸命やってMayaの外部レンダラーやらHDTV用リアルタイムレンダラーやらつくるとことになろうとは([http://adv3d.jp/](http://adv3d.jp/) )。 その後、同じDx9でもアップデート何回もあったし、時代はHLSLになってアセンブラなんて書かなくてもよくなっちゃったしねえ。なので良い子は上記のコーディングよりもMSのサイトを参考にしてくださいね。東大でTVゲームと子どもの関係を考える公開講座 ZDNN:東大でTVゲームと子どもの関係を考える公開講座 http://www.zdnet.co.jp/news/0312/03/njbt_04.html
12/12 午後7時から本郷(東京大学工学部2号館セミナー室)にて.
講師はお茶の水女子大学大学院人間文化研究科の坂元章助教授(社会情報学・社会心理学).TVゲームが子どもに与える影響,子どもとTVゲームとの付き合い方を考える.とある.
情報学環の馬場研究室に研究会のホームページがある.なーんだ,IDGAがやってるんだ.時間を作って見に行くかも.
Created at:2003/12/04 10:09:57
行かなかったかも。B-Fletsニューファミリータイプは独占禁止法違反 ZDNet:NTT東に排除勧告 公取、Bフレッツ「ニューファミリー」の1芯直結問題で http://www.zdnet.co.jp/news/0312/04/njbt_02.html
「32人でワリカンする」ということになっていたニューファミリータイプは実は1人1本占有だった!
なんかおトクなようで,結局NTTのやりかたって「後になったら改善します」とかいって,その後絶対値下げしなくて結果的には長期にわたって消費者から料金を徴収し続けられる,というやりかただよな.
告発主はやはりYahoo孫氏だろうか?だいぶ政界にチカラが及ぶ背景があると思われる,と思うのは私だけ?
Created at:2003/12/05 1:06:14
最近じゃ、当たり前のようにこういう話あるよなあ。独占禁止法までいかないけど。 当時、本当に孫氏が政界に力が及んでいれば、その後の「ライブドア騒動」なんてのも霞んでただろうなあ。ドコモが通信料金をプレゼントできるサービスを開始 読売新聞:ドコモが通信料金をプレゼントできるサービス http://www.yomiuri.co.jp/net/news/20031202ij41.htm
昔Niftyでもあったなあ,接続料金を送金代わりに使える.いいと思うけど,胴元がいちばん儲かる仕組み.送金するにもパケット必要だろうしねえ.
でももっと早いうちから実用化されていてもおかしくなかったような?どうせデータベースだけでできる仕組みだし.やっぱり携帯電話を無くしたら,口座停めないと危ないのかな…
Created at:2003/12/05 1:17:46
日本に居ないから、どうでもよくなっちゃったけど、使ってる人いるんだろうか。 そういや2chブラウザも似たような供与可能な通貨単位持ってたな。見たら絶対欲しくなる,地上波デジタルテレビ 読売新聞:「どうやったら見られる?」 NHKに317件問い合わせ http://www.yomiuri.co.jp/net/news/20031201ij74.htm
今週は職場にテレビ中継がきたり,同じ部屋の人がお昼の番組に出演したりしてけっこう注目度大.
「どうやったら見れる?」って買ってください.いやまじで.
職場にどーんと置いてあるんですが,画質はいいよー,東京MXとテレビ東京は相変わらずだけど.ブラウン管の大型TVで20万円前後で買えるそうです.
平面ブラウン管のほうがプラズマや液晶よりも楽しめるような気がします.
テレビでインターネットも見れるし.リモコンでネットサーフィンはなかなかよいです.
昔のデータ放送と違ってEtherNet?も入ります(10-BaseT).
ちなみにカラー放送が始まったときは受像機数は1000台,今の初任給換算で1台500万円もしたらしい.
日本に住むならテレビ買い替えかデジタル対応チューナーだけでも欲しいなあ.
Created at:2003/12/05 1:24:38
今にしてみれば「何それ」的な記事に感じますが、実際、デジタルテレビ=壁掛けテレビ=液晶大型という謎の方程式の解法を歩んでしまったのは、ヨドバシカメラとかの量販店の罪が大きいように思います。 いいじゃん、大型ブラウン管買えば!画質はいいし、かっこいいし。 エコかどうかはしりませんけどねえ、大きくて薄いならプロジェクタでもいいじゃんと思いますし。 歴史の過ちってこうやって確認できるんですね。 その後NHK不祥事のおかげで、デジタルテレビどうこうじゃない状況になってるのも見逃せませんね。 受信料未払いとか、こんなに多くて本当にアナログ放送やめられるんだろうか? あ、そうか、払ってない世帯がテレビ見られなくなるんだ、それは痛快かも。「ゲーム業界就職セミナー」で講演します 12/8の夕方17時から工芸大就職課主催の「ゲーム業界就職セミナー」で講演することになりました.
詳細は本館1F就職課掲示板に張られている内容を参照してください.
参加は無料,学科学部学年も自由ということでお願いしてあります.
内容は,企画,開発,デザイン系を希望するすべての学生向けで,
実際に大手ゲームメーカーの社員(工芸大卒業生含む),
採用担当者などに最新の状況を取材して作成しました.
携帯電話コンテンツ関係の状況もありますので,
興味のある方はぜひ参加することをお勧めします.
Created at:2003/12/07 15:28:29
これも忙しいのに、よくもまあこんなプレゼンテーション準備したりしたなあ。 同じネタで3回ぐらいPPT使いまわさないと、元が取れないぐらい時間かけて調査とかしたような記憶があるよ…。博士論文発表会日程決まる 知能システム科学専攻の博士論文発表会は1月7日ですが、
都合により、予定しております佐藤研究室の2名の学生(べト君と白井君)
に関しては、下記の要領で別日程で開かせていただきます。
年末となり御多忙中誠に恐縮ですが,出席いただきますようお願いいたします。
日時:12月25日(木)10:00-12:00場所:すずかけホール 集会室1
プログラム:(1) 時間:10:00-11:00
発表者:Huynh Quang Huy Viet
論文題目:Analysis of Three-Dimensional Motion of a Rigid Object Using a
Fixed Camera with the Focus Changed Cyclically
審査教官:佐藤誠、小池康晴、長橋宏、新田克己、長谷川修
(2)
時間:11:00-12:00
発表者:白井暁彦
論文題目:床面提示型触覚エンタテイメントシステムの提案と開発
審査教官:佐藤誠、小池康晴、長橋宏、新田克己、長谷川修 以上
Created at:2003/12/13 13:11:29
これも泣きそうになりながら、いや、実際涙なしには語れない発表会だったなあ。 忘れたい。 この情報を掲示するのが精一杯だったように記憶している。筑波大でエンタテイメントコンピューティングの博士課程学生募集 † 星野先生よりいただきました.業界OBとか,いかがでしょうか?
研究室URL: http://www.graphic.esys.tsukuba.ac.jp/
募集要項: http://wwwo.esys.tsukuba.ac.jp/lab/jhoshino/admission.html
Created at:2003/12/13 13:13:31
その後どんな人が入学したんだろう。 そろそろ卒業する人が出てきてもおかしくないかも。★part 2 に続きます!(長くて投稿できなかった…)