【活動日誌】


1997年5月3日
研究活動開始。
まずはライトウェーブ3Dの操作を覚えて簡単なモデル作成ができるようにするところから始めた。

1997年5月4日
PS上でモデルが見れるようになる。

1997年5月5日
サンプルプログラムを改造し、テクスチャー付きのモデルが複数出せるようになる。

1997年5月7日
モデルを縦横に敷き詰めて出してみた。

1997年5月10日
デバッグ文字が出るようになる。
視点の移動ができるようになる。斜め見下ろしの視点を得ようと実験。
カメラは回転できず、モデルの方を回転させることが必要なことが判明(他のやり方もあるかも)。最初はモデル一つ一つに角度を付けたのだが大失敗。もう一つ座標系が必要だと気付き、敷き詰めたモデルに地面という座標系を加え、斜め見下ろしの視点を得ることに成功。 しかし、視点・注視点・座標系の関連がいまいち感覚的によくわからない。

1997年5月11日
のぞみの視点を得るための実験を続ける。視点とモデルを自由に動かせるようにした。
それでいろいろ試してみると、斜め見下ろしの視点を得るにはモデルを回転させなくても、動かすオブジェクトに注視点を置き、視点の位置を高くすればよいことが分かる。さらに、注視点はそのままで、オブジェクトの中に視点を置けば、主観視野が得られることも判明。

1997年5月17日
MIMEの方法をサンプルプログラムを読んで学ぼうとするが、その過程で、それ専用のファイルフォーマットを持ったデータというものが必要なことが判明。しかし、ソニーからそんなデータを作れるツールは配布されてないし、マニュアル及びサーバーのマニュアル補足のどこをさがしてもフォーマットの情報すらない。これは一体なんなのだろうか?
しかしユーザーの作品にはポリゴンがアニメしながら動くものがある。

1997年5月24日
MIMEの研究が続いている。だいぶ分かってきたが、入力MIME重み係数というのがよくわからない。サンプルでは、これはコントローラー入力によって変わるようになっているのだが……。

1997年5月25日
MIMEはもう少し資料がないとわからないと判断。
以前までの成果を忘れるといけないので、とりあえず3Dでできたマップの中を歩けるようなものを作ることにする。だが、案の定だいぶ忘れている部分がある。
3Dマップを作ると、ポリゴン数を馬鹿食いすることが分かっているので、画面をハイレゾからローレゾに落としてみる。すると、ポリゴンとデバッグ文字が重なると文字が消えてしまうことが判明。まずはこれをなんとかせねばならない。たぶんOTの優先順位の関係だろう。結局この日は、ポリゴンの上にスプライトを出して終わる。

1997年5月26日
ポリゴンとデバッグ文字の問題は無事解決。やはり身近にこういうことを聞ける人がいるとちがうな。SAL先生、感謝してます。

1997年5月27日
昨日解決したと思っていた問題は、根本的には解決していないことが判明。
しかし、このままでも何とかなりそうなので、とりあえず放っておくことにする。
少々疑問は残るが……。

1997年5月29日
当面の計画を立てる。

1997年5月31日
実験用迷路の床モデルを作る。といっても、1ポリゴンの板にテクスチャを貼っただけのものだが、しばらくライトウェーブを使っていなかったので少々てこずる。法線の向きとか。

1997年6月1日
駒と壁を別モデルで用意し、10×10ブロックの迷路を作って、駒を移動させるというものを作ろうとする。10×10めいっぱい敷き詰めると座標によってポリゴンがちらつくが、原因不明。これも、とりあえず放っておいて先に進めることにする。
迷路はすぐに表示できた(だがインチキな方法なので、後に改良が必要)。
しかし、当たり判定の部分がいまいちうまくいかない。
来週の土曜までにはなんとかしなければ。

1997年6月2日
迷路の当たり判定がついた。
これから床を表示してみる。
これは、マップのデータによって各ブロックに違うモデルを置いていくというものである。
今の迷路は単に煉瓦を表示するかしないかという判定しか行っていないのだ。
……なんか意外と簡単にできた。
でもこれ、どうやってスクロールさせればいいんだ?

1997年6月4日
昨日と今日でスクロールのための目処はついた。

1997年6月7日
マップのスクロールができた。ここで言うスクロールとは、全体マップの中から一部分を切り取ってローカルマップとして画面に表示し、自分の進み方に応じて切り取って来るローカルマップの位置を順次ずらしていくというものである。
これで、最低でも倉庫番程度ならすぐ(でもないが)作れるだろう。
意外にあっさりできたので、調子に乗って予定の先に進むことにする。
主観視点と客観視点の切り替えと、主観視点モードでの操作系の切り替えだ。
でも一体どうやってやろうか……。

1997年6月8日
ちょっと考えて、段取りを決めた。
1.モデルを修正する。現在の床は高すぎておかしいので。
2.主観視点のY、Z座標を決める。
3.△ボタンで視点を瞬時切り替えできるようにする。
4.主観視点の時のみ操作系を3Dダンジョンタイプになるようにする。
5.△ボタンで視点を切り替えたときに、視点が滑らかに変化するようにする。
1が終了。2はとりあえずY=0、Z=-800に決定。
3が終了。切り替えの際、リピートが効かないようにするため、トリガー判定を組み込む。
4は少々ややこしく、すぐにというわけにはいかなかったが、とりあえず実現の目処は立った。

1997年6月9日
ちょっとプログラムしてみるが、こういうのはやはり一気にやらないと効率が悪いかも知れない。

1997年6月10日
おととい作ったフローチャート通りにプログラムしたが、うまく動かなかった。
なぜだ!

1997年6月11日
回転させる方向が逆だった。平行移動のときに座標変換していなかった。
これはすぐ直った。
あと、90°回転させるときに、1°づつ回転させると誤差が積み重なってだんだんずれてくる。これはどう直せばいいのか? あと、ポリゴンがかなりちらつく。とくに主観視点にしたとき。これもどう直せばいいのかわからない。う〜ん。

1997年6月12日
誤差の件は私のケアレスミス。度で計算する必要はなかったのだ。サンプルに頼りすぎていたようである。ポリゴンのちらつきの方は未だ不明。クリッピングの問題か、描画が間に合っていないせいか……。それとももっと違う何かか……。

1997年6月14日
ちらつきの原因を考えてみるが、依然不明。クオータービューのときはあまりちらつかず、主観視点のときにちらつきがひどいので、おそらく視点と視界関連の部分だろうと推測。視点と投影面との距離(つまりは画角)をパッドでリアルタイムに変えられるようにする。視点の位置と画角をグリグリ操作してみると結構面白い………が、面白がっている場合ではない。
しばらく操作していると、壁に操作物が少しめり込んでいるではないか! 遠くから見ると完璧だった当たり判定に、ミスがあったのか? ……と思ったが、どうやらそうではなく、 ポリゴンの優先順位の誤差でそう見えるらしい。打つ手なし。他のプログラムでその辺(視界関係)がどうなっているのか調べることにする。
サーバーからユーザが作った3Dダンジョンプログラムをダウンロードする。やってみたら……かっこいい…。フォグもついてる。おれもこういうのを作りたかったんだよ。ソースがついているので参考にさせてもらうことにする。

1997年6月21日
先日サーバーからダウンロードしたプログラムの解読の日々が続く。
高等なテク(だと俺は感じた)を使っており、完全には理解不能かも知れない。
十数年前に熟読した「こんにちはマイコン」で得た技術がベースになっている俺にとっては、サイン・コサイン関数など未知の世界。
自分の技術力が十年間ほとんど進歩していないことを改めて痛感し、ああ人生泣き笑い。
しかし、目に付いた部分を挙げると、
・画面の書き換えは1/30秒ごと
・視点の近くにあるモデルを自動分割している
・自分の操るオブジェクトというものはなく、コントローラ操作によって視点と注視点を直接動かすようになっている。
・自分の位置と向きによってワールドマップから切り取って来る範囲を変え、毎回モデルの登録を更新している。
とりあえず大まかに分かっているのはこれくらいだ。

1997年6月24日
頭がこんがらがって来た。
視点の位置と画角をうまい具合に調整するとちらつきは直るのだが、視点の近くの壁のテクスチャがムチャクチャゆがむ。PS発売前、AWの車窓モードの開発中の写真の中に、窓のテクスチャが変な方向に歪んでいるものがあったが、これが原因だったのかと実感。
とりあえず、自機モデルの近くにあるブロックを自動分割するようにしてみたが、ぜんぜん効果なし。
仕方ない。こうなったら最後のインチキテクを出すしかないか…(別にテクという程のものではないが)。
これでだめなら、真実を探す旅に出る。しばらく帰ってこないかも知れない。

1997年6月28日
ブロックをモデリングし直し、少し細かくしてみた。すると、壁の途切れ感は多少改善されたようだ。しかし、それ以上にガビガビちらつくようになってしまった。インチキテクとしてテクスチャーのサイズを縦横2倍にしてもみたが、ちらつきがひどいため、効果が判定できない。
とりあえず次の手としては、迷路の描画プログラムを書き直して、ブロックとブロックが接している面のポリゴンは描かないようにしてみることにする。前述のユーザのプログラムではそうなっていた。

1997年7月5日
迷路の描画を改良すると、ちらつきはほぼなくなり、ポリゴンの欠けも大幅に少なくなるが、、テクスチャの歪みと視点の近くの壁が欠けるのはやはり直らず。
それと、1つのブロックを描くのに最大5つのモデル描画をするため、フレームレートを1/30秒に変えた。

1997年7月12日
先週は打つ手がとうとうなくなり、ついつい真実を探す旅に逃避。
今日それも終わり、戻って来ざるを得なくなった。
ポリゴン欠けに、いい加減うんざりしながらも、視点と焦点距離をいろいろ調整してみると……なんだ、いけてんじゃん!
とりあえず、ポリゴン欠けは解消された。
テクスチャは相変わらず歪むが、これはやむなし(市販するわけではないので)と考え、先に進むことにする。
教訓:主観視点では、画角を広くしてはいけない。

1997年7月20日
マイムの研究を再開。基本的な原理は分かったが、サンプルプログラムでは、キー入力と動作の対応づけをするために妙なことをやっていて、それが未だ不明。資料には、キー操作と動作を同期させるためには“畳み込み”をやるとプログラムが簡単になるとあり、小さい図が書いてある。どうやら波形の合成のようなことをやっているようなのだが、それ以上のことは書かれていない。でも、これって結構高度な数学テクが必要なのでは?と不安がよぎる。 ネットでキーワード検索してみると、どうやら符号理論関係の用語らしい。
う〜ん…。

1997年7月21日
符号理論の本を入手し、読んでみるが、難しくてよく分からない。
とりあえず、アニメーションは後回しにするか……。

1997年7月26日
活動を始めてからすでに三ヶ月が経とうとしているというのに、まったく形になっていない。
とりあえず9月末までには何かしら形あるものにしたい。
当初考えていたものは、次にまわして、とりあえず何か作り易いものを作るか…。
そう考え、ポリゴンのちらつきが少ない主観視点を主体にしたものを作ろうかと思い、主観視点モードでの視界を広げる改造にトライ。が、しばらくやっている内に、これをやるとなると相当根本的な改造が必要なことが判明。
主観メイン案をやめ、作りやすい客観メイン案に路線変更。しかし、せっかく研究した主観視点をなくしてしまうのもなんなので、当初考えてい、た客観→主観切り替え(メタルギアのデモビデオを見て影響を受けた)をうまく利用したものにしようと考える。
そこで、客観モードのちらつきを少なくしようと、ブロックの上壁のポリゴンを細かくしてみるが……よけいちらつくようになった。もっと細かくしたが駄目で、結局もとの一枚板に戻した。

1997年7月28日
客観→主観切り替えが実現。
しかし、マップが単純なので、いまいちメタルギアのようにはカッコ良くない。
視点移行時にポリゴンのちらつきが結構目立つし。


【表紙に戻る】