昔の最近の出来事(2003.11)

2003/11/30

昼頃起床。TVなど観ながらぐうたら過ごしたり。

コーディング完了。でもものの見事に動かず(^^;。gdbを使ってデバッグを..... と思ったら、gdbを起動後、runコマンドで実行したら何故かSegfaultで死亡。 普通には実行できるのに何故?って感じでprintfデバッグを余儀なくされてみたり。 式を検算したのと値が合わなかったので、よーくみてみると法線ベクトルを 使わなくてはならない所を、全然関係無い位置変数を使っていたりと、 しょーもない間違いをしているだけだったり。むぅ、なんとなく変数名を 短くしたのが、短か過ぎて使い間違えている事にしばらく気が付かない辺り、 私にゃ 短い変数名だとやっぱダメだわとか思ったり。
そんな感じで丘を移動してみたり。

[丘登り1] [丘登り2]

ただ、色々動き回っていると、いきなりワープしたり、謎な挙動をする場合が あるので、まだうまく動いていない感じ。

Wings3Dのプラグインフォーラムを見ていると、もうじきRIBファイルへの変換プラグイン の新しいのが出そうな雰囲気。期待したい所。

ちょこっとプログラムを見直した所、移動先の位置に最も近い地面ポリゴンを サーチした結果が、場合によってはとんでもなく遠くの地面ポリゴンに当たる時があり、 その為 ワープしていました。移動量を超える距離の地面ポリゴンにヒットする場合は キャンセルする様にしてみた所、それっぽく直ってみたり。

そんな感じで明日から出張です。

2003/11/29

昼頃起床。

「FINDING NIMO」の特番とか観たり。最初の方が見れなかったので、 ちょっとガッカリ。ムチャクチャ我慢して 敢えてDVDで観ようと思っ ているのですが、我慢できずに映画館に行ってしまうかも。

寒くてゴロゴロしてたらいつの間にか寝てたり。

「鋼の錬金術師」。毎週観れる訳ではないので、イマイチ話の大きな 流れが判っていなかったりするのですが、これ、スゲー面白い気が しますよ?

お出かけ。攻殻12とか購入。あと「鋼の錬金術師」のコミック本など 買ってみたり。
鋼〜のコミック本を読んでみたのですが、アニメのそれと様子が大分 違うという感じ。アニメの方がストーリーの流れが丁寧と言いますか、 描写が細かいと言いますか、そんな感じ。
「Ayu Ready?」に二代目引田天功(いわゆるプリンセス天功)が出てました。 虎を飼っているとか、戦闘機持っているとか、アニメになっているとかに、 へぇ。前に宇宙旅行ツアーをとんでもない値段で買った話が芸能ニュース なんかで取り上げられていましたが、その時は「マジシャンってそんなに 儲かるの?」と思ったものですが、本当にスゴイらしいという事が 判りました(^^;

OpenGL遊び。凹凸のある地面の移動を表現するプログラムを考えてみたり。 以前、凹凸の影を投影して、それとの当たり判定 を行なう事を考えてみたのですが、ニ階建ての建物の中だとか、垂直な壁 にぶつかった時の処理を例外的に扱わなくてはならなくなり、あまり良い 方法ではないと考え直した結果、普通に地面ポリゴンとの当たり判定を行なった 方が良いのでは?という結論に至りました。方法としては、

  1. プレーヤオブジェクトの現在位置と移動方向ベクトルとから移動先の座標を求める。
  2. 全地面ポリゴンリストをサーチし、移動先座標と地面ポリゴンの関係が、 地面ポリゴンの中に交点が存在し且つ最も距離が短いポリゴンを探す。 オブジェクトはそのポリゴンの上に乗ると判断する。交点のあるポリゴンが 見つからない場合は移動できない。
  3. オブジェクトの傾きを(2)で求めたポリゴンの法線にする。 必要があればオブジェクトの傾きを軸の回転角度に変換する。
  4. オブジェクトの移動方向ベクトルを前の位置との差からの求める。

因みに、参考にさせていただいたページは 3D STRONG WARRIORSの3年D組モチヲ先生のコンテンツです。
コーディング.....むーん、眠くて死亡。

2003/11/28

出張。帰着。ふぅ。

Webぐるぐる。Wings3Dの0.98.17gが出ていたりしたのでダウンロード& インストールしてみたり。新規マテリアルを追加した途端に落っこちる 不具合は修正されている模様。他にも、マテリアルを指定するのとは 別に、頂点カラーを指定できるようになっていたりして。ただし、 この頂点カラーはPOV-Rayへの出力には対応していなかったり。
とかいじっているうちにPOV-RayへのExportメニューがいきなり出てこなく なったり。再インストールや以前のバージョンを立ち上げてみたりするも、 ダメでしかも0.98.17系は全てメニューが出なくなっていたり。 色々調べた結果、Exportメニューが出なくなる前に、 Pulugin Preferencesでpovrayオプションをちょっと変えたときにいきなり Wings3Dがハングしたのですが、その時にPOV-Rayの種類が何故か MegaPOV-0.7になっていたのを変更していました。どうやら、ここん所を 変更するとメニューが出てこなくなる様で、ややこしいのは、 0.98.17系Wingsで変更すると二度と元に戻せなくなるのですが、0.98.16系 Wingsでは大丈夫で、0.98.16系で一度元に戻してやると、0.98.17系でも 再びメニューとして現れるという所。むぅ、用が無い設定は変えない方が 良いと実感してみたり。
後、RIB出力プラグインとPOV出力プラグインを両方入れると、POV出力時に 何故かRIBプラグインのエラーが出てPOV出力もダメになってみたり。 察するに、プラグイン周りのAPIが微妙に変わっているせいで、Wings本体 バージョンに依存してプラグインがダメになったりしている予感。 プラグインAPIのようなグローバルに見える部分は趣味とか気分で仕様を 変えない様にして欲しい所なのですけどね。まぁ勝手な想像なので、 本当の所はどうなのか判りませんが。

眠くて死亡。

2003/11/27

出張。

2003/11/26

出張。

2003/11/25

出張。

2003/11/24

昼頃起床。

結局、昨日のfurシェーダーは絵のような感じに。AdvancedRenderManに書かれている ようなモジャモジャの毛玉のようなのを作りたいなぁと思ったのですが、 曲線プリミティブというやつの実際の書き方がイマイチよく判らず。むーん。 あとついでに電子顕微鏡シェーダーとか書いてみたりして。いや、使い所が イマイチありませんが(^^;

[fur] [電子顕微鏡]

それよりも、Wingsとの連携がどうにかならない ものかなぁと思ったり。あぁ、そういや、lib3dsのサンプルに3ds to RIBの コンバーターが入っていたなぁ。Wings3Dの吐いた3dsファイルにはカメラ設定 が無くてうまく動きませんでしたが、ここん所を適当にクリアすれば使えるかも。

ちょこーりお出かけ。本屋に。電波新聞社から出版されていた「チャレンジAVG&RPG」 が置かれていたり。何故に今頃?と不思議に思ったのですが、エミュレータ関連 からの復刻という事か?などと勝手に想像してみました。

3ds2ribにちょっこり手を入れてみたのですが、ノードと呼ばれるオブジェクト 構造体(と思われるもの)が無い為、肝心のモデルデータが一切出力されず。 へっこり。確かに現在のWings3Dには編集上もオブジェクト構造体に相当する 概念が無いので、ノード無しというのも判らなくは無いのですが、実際の 所、本物の3ds maxに持っていってもちゃんと読み込めるのかしら?と少し 疑問に思ったりして。むむ、これだったらpovへのExportプラグイン経由で povのオブジェクト部分(mesh文)を抜き出して変換する方が簡単な気が してきましたよ.....

そんな感じでperlでpov to ribの変換プログラムなどを書いてみたり。 ただ、RIBでのPatchプリミティブの記述方法がイマイチよく判らなかったり したので、Polygonプリミティブへの変換だったり、カメラの制御方法が イマイチよく判らずアングルが思い通りにならなかったりと色々。

[POV2RIB変換例]

AdvancedRenderManでは各プリミティブの存在と簡単な形式の説明だけ に留まっているので、「parameterlist」の具体的な仕様までは読み取れなかったり。 まぁ、そういう本では無いのでそれは良いのですが。 RIBフォーマットの日本語マニュアルって存在するのかしら?......

そんな感じで明日から出張です。

2003/11/23

昼頃起床。

Pixieと格闘。PovMANのサンプルであったところのfurシェーダーを 使えるかと試してみたのですが、parseエラーでコンパイルできず。 しかも、何がどう悪いのかサッパリ判らないというヘタれっぷり。むぅ。

何故か眠くてちっとも起きていられず。

OpenGL遊び。取りあえずマテリアルを読み込んでカラー表示できる様にしたり。

[色付き]

流石に描画スピードはかなり落ちる気分。

furシェーダー移植の続き。どうにかパースエラーの原因が解明できて、 実際にレンダリングしてみたのですが、どうにも結果が変わらず。 ちっとも出力画像に変化を見せないので、式をデタラメに変更してみた のですが、やっぱり反応せず。何故?因みにパースエラーの原因は、 PovMANでは関数の引数にsurfaceと同じ要領で初期値を与えて良いみたい なのですが、それがよろしく無い感じ。もうひとつは理由がよく判らなかった のですが、surfaceの引数にvaryingを明示的に指示してやればエラーしなく なったのですが、エラーを消しただけなのでこれで良いのか謎。
色々やってると、何故か反応を見せ始めたのでデバッグ。printfデバッグ を行なったのですが、どうやらある所で色が全て負になってしまっている 様で、結果真っ黒にレンダリングされているという感じ。

2003/11/22

昼頃起床。

何故かsrc/common/libcommon.aのリンクが うまくいかない様で、src/common/os.oとsrc/common/algebra.o を手でリンクして、なんとなく実行ファイルはできてみたり。 でも、オプションの指定方法がイマイチよく判らず、 シェーダーパスやモデルパスの指定が出来ずに死亡。

結局Windows用バイナリを見てみる事に(^^;。でも、ヘルプに ついては何も得られず。ソースを眺めてドキュメントを付き合わせた 結果、以下の様に設定すれば良い感じ。もう少し具体的な設定例 を書いてくれればそれで済むのに と思わなくもない感じ。 以下Cygwin上で使用するのに設定した環境変数。

##Pixieディレクトリをc:/cygwin/usr/local/下に置いた場合
export PIXIEHOME="c:/cygwin/usr/local/Pixie"
export PATH="$PATH:/usr/local/Pixie/bin/"

##他は必要に応じて追加ディレクトリを指定する
export SHADERS="c:/tane/pixie/shaders"
export TEXTURES="c:/tane/pixie/textures"

Windowsバイナリなので、ディスク上の絶対パスで指定を行なって いますが、Cygwinでのコンパイルがうまくいけばc:/cygwinは 取り払う事ができると思われます。 環境変数SHADERSはBMRTでも同じものを使用しているのですが、 そちらは使えないっぽいので、BMRTとPixieは共存できないのかしら?
それよりも、DISPLAYという 環境変数を指定する必要があるようなのですが、これってX-Windowの 環境変数DISPLAYとぶつかりそうな気がしなくもありません。

examplesディレクトリ下のサンプルをいくつかレンダリングしてみた のですが、ドキュメントでレンダリングされた結果となんか微妙に 合わないというか。何故?
色々調べてみると、LightSourceのパラメータにtexnameという パラメータが指定されていて、それでどうやらエラーしている様子。 RenderManインターフェースの仕様なのかは判りませんが、シェダーの パラメータ指定にエラーがあっても、間違ったままでもレンダリングは それとなく実行されてしまうのがなんとも。で、 texnameをshadownameに直してみると影がうまくレンダリングされなかった サンプルもうまく影がレンダリングされてみたり。他にもphotonの数が 多いとSegfaultで死んだり色々。むぅ、Segfaultくらいなら追いかけても 良い所なのですが、Cygwinでのコンパイルは結局できずじまいなので、 ri.dllの中でずっこけているという事までしか判らず。

眠くて死亡。

2003/11/21

出張。帰着。ふぅ。

先日のコンパイルは取りあえず進んでいたのですが、続きをやると makeの順番が悪くてライブラリが見つからずリンクに失敗。 src/framebuffer下のコンパイルエラーをどうにか取って ソースディレクトリの全makeを実行してみたり。でもやっぱり リンクに失敗。

眠くて死亡。

2003/11/20

出張。

2003/11/19

出張。一時帰着。

地面の起伏の表現や細かな形状との当たり判定についてぼんやり 考えてみたり。常套手段として、地面を格子状に分割してブロック をはめる様に坂やら段差やらのパーツを並べていく方法が考えられる と思います。RPGのフィールド移動の様にアクション性が強調されない 場合にはこの方法で良い様に思いますが、飛び石のような少し 単位が小さい判定には向かない様に思います。また、全てを正方格子 で表現することは困難で、中には格子の対角線で区切った三角形部分 のみ勾配になるケースも存在します(図1)。
で、ドライブゲームのコースのような形状や飛び石の地面との内外 判定を行なうのに、格子のマップに投影変換した判定専用のマップを 用意し、その投影した影を踏んでいるかどうかの判定を行なう (図2のチェック模様の床に投影された影がそれに対応するイメージ) 方法はどうか?と考えました。

[図1] [図2]

で、実際に投影できたとして、ある点がその影を踏んでいるか?という 判定をどうすれば良いかが悩み所になったのですが、Webをぐるぐるして いると三角形に対するある点の内外判定方法というのを発見してみたり。 三角形ABCの面法線を NormalVec(AB)×NormalVec(AC) (×は外積)とした時、 ある点Pが三角形の内側に入っている時、 NormalVec(AB)×NormalVec(AC) = NormalVec(PA)×NormalVec(PB) = NormalVec(PB)×NormalVec(PC) = NormalVec(PC)×NormalVec(PA) が成立し、点Pが三角形の外側にある時は成立しないというもの。 本当?と思ったのですが、確かにこれで良い感じ。最初に気づいた 人はスゲーと思える様なステキな判定式だなぁと思ってみたり(^^; 同一平面上の 凸ポリゴンならば4角形以上でもこの判定式が使え そうな予感がするので、2Dでも極太の回転レーザーとの当たり判定 とかに使えるかも。で、後は 影を格子分割する方法を考える必要が ありますが、ここはまだどうすれば良いのやら。そんな感じ。
プレーヤーキャラの座標から乗っている格子を選択し、格子に投影された 起伏マップを引いて実際の起伏式でキャラの位置を補正する、 そんな流れになるのかなぁ。

RenderManのフリーの実装である Pixieなどをダウンロードしてみたり。 以前、 たぼさんが色々あるRenderManインターフェース互換ソフトウェアとして KOJIさん 所で書かれていたので、それを見てダウンロードしてみたのですが、 Cygwinでのconfigureが通らなくてそのままほったらかしに してました(^^; AdvancedRenderManでRenderManのなんたる かを少し知った状態でこのPixieの機能を見てみるに、 何気にちゃんとしている雰囲気が漂っていたので、どうにか configureを通してみる事に。因みに PixieとCygwinのAND条件で Web検索してみたのですが、何も引っかかりませんでした(^^;
configureを実行してみた所 cc1plusがみつからなくて死亡。 パッケージの最新gcc-3.3.1-3だとダメっぽい事をCygwinMLで たまたま読んでいたので、gcc-3.3.1-2に戻すと先に進んで、 次はdlライブラリのリンクに失敗して死亡。configure書き換えで 無理矢理通してみる事にして、どうやらconfigureは通過。 make実行.....src/framebufferのmakeでXのライブラリを リンクしようとして失敗。しかた無くその他のディレクトリを それぞれ手でmake実行。src/riの下のexecute.cppのコンパイルで

c++ -DHAVE_CONFIG_H -I. -I. -I../.. -I.. -O3 -fstrict-aliasing
-funroll-loops -ffast-math -fomit-frame-pointer -fno-rtti -fno-exceptions
-Wp,-MD,.deps/execute.pp -c execute.cpp  -DDLL_EXPORT -DPIC -o .libs/execute.lo

cc1plus: out of memory allocating 628168 bytes after a total of 402644992 bytes

メモリが足りなくて死亡らしい(^^; こんなの久々に見た気分。 オプティマイズレベルを下げてオプティマイズオプションも削って どうにか通ったり。でもメモリ大量消費&時間もかかるで、基本的に 重いソースらしい。

眠くて死亡。

2003/11/18

出張。

2003/11/17

出張。

2003/11/16

昼過ぎ起床。

本屋に。一部の地方で話題にのぼっていたらしい「CPUの創りかた」という 本が置いてあったので買ってみたり。

昨日の作業メモを書いたりぐーたら。

「CPUの創りかた」を斜め読み。CPUというものの基本原理を踏まえて、 極めて簡単な実回路にしたドキュメントって感じ。一部で話題になった のは表紙や中身のイラストに美少女イラストが含まれているからだと いう事みたいですが、本文の文体も砕けてて笑えてみたり。最後の4コマ マンガにその砕けっぷりが集約されている様に思えなくもないですが、 最初からこうなるつもりで書いたんじゃと思えなくもありません。 内容については、技術的にもごく基本的なものなので、むしろ普通の 人が見ると「これがCPU?」って感じかも知れません。読み物としては 好きな人には楽しめるって感じかも。 そういやこの本を読んでいて思い出したのですが、私がまだ中坊だった頃、 マンガで描かれた電子工作の本を買ってもらったのですが、マンガの方が 面白過ぎて(子供受けしそうなギャグマンガでしたが)、回路の方は全く 覚えてないという事がありました。

そういえば、3D系ゲームなどで1フレームに表示されるポリゴン数に ついてなのですが、平均的に見て何ポリゴンくらい表示されている ものなのでしょう。

「動物奇想天外」で電気ウナギの発電の仕組みについて紹介されていた のですが、「発電細胞」なるものが直列に繋がる事で500Vとか電圧 を発生できると説明されてました。ってゆーか、その発電細胞の 発電メカニズムが紹介されるのかと思ったのに。電気ウナギの体内 構成のうち、殆どが発電器官で消化器系などは全て頭の所に集まって いるというのに10へぇ。

ニュースでやってた「2003世界の傑作CM集」って特集で、 自動車のアコードの部品を並べてドミノ倒しの様に、それぞれの 部品が転がったり落ちたりしながら次々と連鎖していくという CMが紹介されていましたが、それらはCGではなく全て実写という あり得ない映像にびっくらこいた。

そんな感じで明日から出張です。

2003/11/15

午前中に起床。

面法線の計算について、おぼろげながら別に自前で計算しなくても 自動的に求められてたような気がしたので、lib3dsのexampleソース を見てみたら、lib3ds内で面法線計算がされていたり。それを そのまま使って結局同じ表示結果になってみたり。ちぇっ。

そして休出(T_T)。

取りあえずいっぱい表示させてみたり動かしてみたりで、 でっちあげ画像とか。画像を止め絵で見ると、スーパーカー消しゴム みたい(<おっさんしか判らねーよ)。

[走らせてみる]

内部オブジェクトの制御方法とか視点変更とか そんな所は全然。 でもそちらを考えるのがやりたい所なので、少し面白くなってきた 気分。

そんな感じで久しぶりにコーディングに没頭。
内部でのオブジェクト配置の表現方法は次の様にしてみました。 実数で-64〜+64までのワールド座標系を定義し、その中に車とか 背景オブジェクトだとかを配置するという感じ。車を動かすのは 単純にワールド座標系内での位置を変えているだけ。ここまでは でっち上げ画像でも同じ事をやってます。
視点を車の座標に合わせて動かすのは次の様にしてみました。 車のワールド座標位置を原点とする表示座標系を定義し、 背景オブジェクトなどのワールド座標系を全て表示座標系に 変換します。つっても、車のワールド座標を背景オブジェクトの ワールド座標から引いているだけなのですが(^^;。このとき、 ワールド座標系は+64==-64にラップ(wrap)する様にしました。 これで得られる座標がそのままGLUTでポリゴン登録する座標そのもの になります。
オブジェクトの向きについて。オブジェクト毎にそのオブジェクト がワールド座標系に対して向いている法線ベクトル(方向ベクトル と言う事にします)を保持する様にしました。オブジェクトを 移動させる際は、この方向ベクトルに速度を掛けたものを 現在座標位置に足すことで移動を表現しました。方向ベクトル の更新は現在の方向ベクトルから例えば0.5度右前に移動すると した場合、単純に方向ベクトルをy軸で回転させるだけです。
カメラの向きについて。車載カメラを表現する場合、車オブジェクト の方向ベクトルの3次元回転軸の角度ををそのまま使用しました。 GLUTでポリゴン登録する際は、中心となる車オブジェクトは 回らずに、背景オブジェクトの方を回転させるという事に なります。
そんな感じでキーボードでちょっとだけ操作できる様にしてみたり。 ただ、GLUTでのキー入力はリピート間隔だとかそういうのが 反映されていてリアルタイム入力に向いていない感じ。まぁ、 今はどうでも良い所ですが。

[全景] [車載視点] [ぎゅいーんて走ってるのですが.....]

取りあえず基本的な実装だけなので、その筋の人からすれば 大した事無いかも知れません(^^; 実際には、勾配を上がったり下がったり 斜めになったり壁にぶつかったり、その辺の表現方法が重要 なのだと思います。あと、ノンプレーヤーキャラクタの動きの アルゴリズムだとか。
そういや、今は+64〜-64までのワールド座標で扱っているので、 地平線が非常に近いのですが、もっと増やすとだんだん遅くなって いきます。この時、視点より後ろにあるオブジェクトはポリゴン 登録しなければパフォーマンスを上げる事ができると思います が、この辺も考え所かも。

2003/11/14

日付け越え前に帰着。すごい久しぶり。

3dsファイル読み込みルーチンのコーディング。法線の向きが逆になったり 色々ありましたが、取りあえず読み込みとOpenGL(GLUT)での表示に成功。 でも三角形の継ぎ目が見える感じがいやん。
面法線の計算を自前で行なっているのですが、どうやら二つのベクトルを 先に正規化して外積計算しているのがよくない感じ。 以前にも同じ事で三角形ポリゴン の継ぎ目が気になるなぁという事を書いて、そのままほったらかしだった のですが、この時の面法線を求めるルーチンをそのまま使っているので 当たり前って感じかも。で、外積を計算してから正規化する事で取りあえず 誤差が無くなりOKそう。先に正規化する事のメリットはdouble型を使わずに int型を使用した時、sqrt()計算をテーブル化しても現実的な(かどうかは 疑わしいですが不可能では無い)サイズになるからという理由があったりする intで外積計算した場合a*b-c*dの計算で桁あふれするので、正規化しておく 事で計算結果を正しいものにする理由があったりする 訳ですが、実は法線計算式の内容を数学的に理解せずに、こういうものだと して使っていたのは秘密(^^;

2003/11/13

出張。帰着。ふぅ。

lib3dsの使い方調査。と言いましても、ダンププログラムなどの解析ですが(^^;
3ds形式では4角形以上のポリゴンも全て三角形分割されている様なので、頂点数 などを気にせずにそのままOpenGLの三角形描画を行なえば良い感じ。

などとしている間に眠くて死亡。

2003/11/12

出張。

2003/11/11

回復せず。もう一日休業。

起きられる様になった所で、久々にOpenGLで遊んでみたり。どうにか Wings3Dで作った3Dモデルを表示できないものかと、VRML形式を読み込む 事を考えてみたり。で、確かVRML 2.0形式でuvマップ付きというのに Exportできたと思ったのですが、何故かExportに項目が無く死亡。 あと、VRML形式だとImport方向ができなさそうなのでヤメ。 3ds(3d Studio Max)形式ならばExportもImportもできそうなのですが、 バイナリフォーマットが判らず。Webを漁ってみると、 lib3dsなる 3ds形式を読み出すライブラリを見つけてみたり。コンパイルしてみた所、 ライブラリ本体と付属ツールのコンパイルは問題無し。サンプルの方を 試してみたのですが、Wings3DでExportした3ds形式にはカメラが定義 されていないというメッセージが出て動作せず。3ds形式ファイルの内容を テキストダンプするツールは使えたので、これを参考に読み込み関数を 書いてみるという感じか?
所で、UVマップを貼ってExportした3dsファイルをダンプツールで 表示したのですが、何故かUVマップ上の座標を示しているっぽい 情報が表示されず。マップに使用するBMPファイルは出力されていて、 そのBMPファイル名はダンプされているのですが....はて?

2003/11/10

いきなり体調不良で死亡。一日寝倒し。

2003/11/09

昼頃起床。

投票に行ってみた後、ぐうたらTV観ながら掃除してみたり。

TV番組が選挙速報ばかりになってきたので、DVDをBGVにしながら モデリング続き。

[車]

何気に始めたら車になったという感じ。飛びそうな感じのにしてみたかった のですが、曲面を作るのが面倒臭いので普通っぽい感じのでいいやと適当に 作っていたら、本当に普通になってしまった そんな感じ。スムーズを使って 少し流線型感を出そうとしたのですが、あまりにも形が変わり過ぎる為ヤメ。 0.98.17eを使用していたのですが、新規マテリアルを追加した途端に落ちる 様になってて死亡。0.98.17ではOKでそれをセーブして0.98.17eで編集する のはOK。むぅ。

そういやセブンイレブンの弁当でイクラ丼というのが最近発売されて ますが、食してみようと何気に手に取ってみると、(1)イクラの入った 器を外し (2)ご飯を電子レンジで温め (3)イクラをぶっかける そんな 手順になってました。これだけ見ると別に変ではないのですが、我が家 には電子レンジが無い都合上、どうしても店での温めを必要とします。 (1)で器を分離しなくてはならない時点で店での温め不可能では?などと 思い、そっと元に戻してみたり。

うぉ!すげーっ!全機種開発完了おめでとうございます。 私の方はもうすっかり飽きててほったらかしですよ(^_^;

そんな感じで明日から出張です。

2003/11/08

昼前に起床。

床屋に。いつもは予約すると大抵 二時間後くらいに来てください ってな感じなのですが、今日はたまたま「すぐにできます」ってな もんで、むしろこっちの用意ができてないよって感じだったり。

久々に Meadowのページを見てみたら、2.0に上がっていたようだった ので、ダウンロードしてみることに。 以前はソースしか公開されてなくて、バイナリを得るには自分で コンパイルする必要がありましたが、現在はネットインストール可能に なっているようだったので、そちらの方を試してみる事に。 取りあえずインストール完了。hscroll.elとkeisen.elを使っていた Meadowから持ってきて、取りあえず今までと同じレベルに。 見た目大きく変わっている事は無さそう。

お出かけ。ゲーム屋にふらり。SIMPLE2000シリーズにサイヴァリアが 出ていたのですが、ミディアムユニットとリビジョンのカップリング だったコンプリートエディションが分離されて、それぞれ別ものとして 売られていました。あこぎやのぅなどと少しだけ思ってみました。
で、SIMPLE2000シリーズの「THE シューティング」など買ってみたり。 アーケードではやった事ありませんが、「紫炎龍」の移植版と新作版の カップリングになっています。で、やってみました。新作の方は今風の 3Dグラフィックで、ボタンによって広角攻撃だったり撃ち込み攻撃だったり 切りかえられるって感じ。見た感じはよくできていますが、弾幕慣れ してしまっているせいもあるかも知れませんが、全体的にヌルい設定 になっていて、良く言えば普通の人でも普通に遊べる 感じに仕上がっていると思いました。得点倍率が変わる要素があるみたい ですが、それ以上のスコアアタック要素などは無さそうな感じ。 「ザナックNEO」よりは全然爽快感があります。
そして移植版の方。破片飛び散りが流行っていた頃の縦シューという 感じで、淡々と進むという感じ。この頃は 弾幕の派手さはあまり無い という感じで、思わず歴史を感じてしまったり。ただ、ステージ構成 が長いです(確か雷電とかもそうだったかも)。で、ラスボスらしき ものまでコンティニュープレイで到達したのですが、 「これぁ無理」(^_^; そんな感じ。

何気にモデリングを始めてみたり。そして眠くなったり。

2003/11/07

出張。帰着。ふぅ。

Webをぐるぐるしてたら眠くて死亡。

2003/11/06

出張。

2003/11/05

出張。

2003/11/04

具合が悪くていきなり休業。ひたすら寝倒し。

とあるサイトでwingsが0.98.17eになっていると見て、サイトを見に行ってたのですが、 先日からWings3Dのサイトが404で謎。で、 Sourceforgeのサイトから、 フォーラムサイトを眺めた所、 とりあえずのURLらしきものを発見。 色々事情があるらしい。

何気にWingsの掲示板を見ていたら、hlinesなるエッジを検出してeps形式で 書き出すセルシェーダーの基本プログラムのようなプラグインが紹介されて いました。それについてはwingsの掲示板を参照していただくとして、 そのプラグインで出力された画像の元のモデルデータも置いてあって、それの 中に透明指示された面があり、見かけ上 透明になるのに加えて、POV-Rayに Exportすると透明指示された面は形状として出力されないという事を発見 してみたり。_hole_という予約されたマテリアルを面に適用する事で 実現されます。また、_hole_マテリアルが指定された面はUVマップでも 選択対象外となるようです。

[Wingsスクリーン] [リボン2]

球にはちゃんと穴が開いているし、立方体のある一面だけを編集した ねじれたリボンも 先日 のような惨敗レンダリングにはなりませんでした。これを使えばInsetなど 使わなくても薄い板として編集できそうな予感。 また、POV-Rayへの出力時には面自体が出力されないので、 完全透明部分が微妙に影を落としている という現象も解決するのではないかと予想されます。 ただし、ローポリ表示だと、透明にしてても面として表示されるし、面としても 触れてしまいます。ローポリでも透明表示されて、透明属性が付いていると マウスカーソルでのセレクト対象にならなければ、バッチリなのですが...... てそれだと完全なサーフェスモデラになってしまうか?

2003/11/03

昼過ぎ起床。やっぱ微妙に眠くてぐったり気味。

ppcクロスビルドはエラー無く終了。インストールして、povray-3.5を クロスコンパイルしてppcsimで確認。取りあえずOKそう。実行命令数は ほんの少し減っているという感じ。

Webをグルグルしていたら、 ファミ通WaveDVD誌で変なイラスト(失礼)を描いている 小澤考氏のHP を発見してみたり。

ども、 毎度情報ありがとうございます。CGI.pmの方は実際にプログラムを書き終えて から知ったというかそんな感じです(^^;。後で勉強してみる事にします。
%hhの変換については、ちょろっと 検索をかけてみた感じでは、定石化されている様で、その殆どが 「&」で区切ったパラメータ代入式の文字列を以下の手順で分離/変換する という感じに思いました。

    ($name, $value) = split(/=/, $pair);
    $value =~ tr/+/ /;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    &jcode'convert(*value,'sjis');

密かに一番悩んだのが、inputタグのvalueに「"」ダブルクォーテーション を含んだ文字列を代入する場合。どうすれば良いのかよく判らなかったりして、 結局 「"」を使えば良かっただけなのですが、どうやってエスケープ するんじゃーっ!と本気で悩んだり(^^;。
ロックについては、ロックファイルを生成するという方法を用いた のですが、正しく終了しないとロックしっぱなしになるという良く無い方法で 実装したりしてます(^^;。ここもflockを使う様に変更してみる予定です。 Cygwinでは確認はしていませんが、多分できるような気はします。ただし、OSレベル で複数のopen実行を許していない予感がするので、書き込みの方はロックしてなくても 自然に排他書きこみ制御されるかも知れません。 WindowsNT系ではどうか判りませんが.......

攻殻11鑑賞。ぴっひゅ〜〜〜っ!物語が佳境にっ!

そんな感じで明日から出張です。

2003/11/02

夕方頃起床。思いっきり寝た感じ。

Wingsをちょこり入れて試してみたりgcc-3.3.2をppcクロスビルドしてみたり。 クロスビルドは当分終りそうになかったのでほったらかし。

ファミ通WaveDVD観たり。ゲームショーで出展されていたゲームの紹介とか。 なんかもー、映画みたいなデモムービーがスゲーなーって感じ。 イロモノとしては「モジブリボン」とかありましたが、これも見た目のおちゃらけ っぷりからは想像できないくらい高度な描画エンジンが使われている様な、 そんな感じ。もう、普通の人が趣味で作れるレベルではない、そんな感じが しました。

あれだけ寝たのに眠くて死亡。

2003/11/01

出張。帰着。ふぅ。

Wings3D 0.98.17cとgcc-3.3.2をダウンロードしてたら猛烈に眠くて死亡。


TOP PREV