出張。
出張。
昼頃起きてお出かけ。
そんな感じで少し痛めつける為に、2048×1536のサイズの画像を生成
したのですが、POV-RayとIEとIrfanViewが死にました(汗;
回転の方はOKでした。また、髪の毛や針のような細いものを縮小して回転
させても、見た目が変わるほど潰れないのも良好です。以下は
POV-Ray3.5に含まれるサンプルシーンファイル
scenes/advanced/isocacti.povを2048×1536のサイズでレンダリング
したものを部分切り出ししたものです。
再びRenderManInterfaceを触りたくなってみたので、Wingsで作成
した形状データを変換できないかと探ってみたのですが、今は
できない予感。3dsやobj形式など他のフォーマットを経由して
変換できないものかと、相互変換ツールを探ってみるも、フリーで
よさげな感じのものは見つけられず。Wingsに限らずRIBへの
出力をサポートしているモデラって意外と少ないような気が
しなくもありませんがどうなんでしょ?
そんな感じで明日から出張です。
出張。帰着。ふぅ。
KOJIさんと電話でお話。回る日は近いみたい(謎。すげー。
出張。
もう一日休業。年のせいか本当に回復が遅くなっている予感。
一日ぐったりして終了。
体調不良で一日休業。
何気にPOV-Rayの本を読んでいると、POV-RayのUVマップ座標は、0〜1.0までの
正規化された座標を取るという事が書かれてました。という事は、
ピクセルサイズは関係無く、マッピング画像の比率さえ同じならば、
512x512でも1024x1024でもそのまま使えるという事になります。
という訳で、512x512固定だったsai形式のコンバータを自由サイズで
変換できるようにしてみました。元々はlaymanの組み込みコマンドだった
のですが、tga形式からの変換手順がイマイチだったので、ppm2saiという
独立したコンバータにして、
NetPBM
と組み合わせて、
tgatoppm foo.tga | pnmscale -width=1024 | ppm2sai > foo.saiてな感じで、WingsからPOV-Ray形式にExportしたtgaのマップ画像を一括変換して、 彩で編集したものを、PNG形式に変換するといった感じ。で、いざ変換 して編集しようとした所、どうにもマスク選択がうまくゆきません。 彩での表示はそれっぽくできているのですが、色の境界が検出されず 悩んでみたり。結局、透明度の作り方が悪かっただけという事で解決。
昼頃起床。体調はあまり回復せず。
髪の毛テクスチャの解決策探しの続き。POV-Rayのレンダリング
オプションを変えたり色々してみたもののどうにもならず。
結局、イメージマップでは、透明ピクセルを貼りつけたオブジェクト
の影をうまくレンダリングできないという結論に達してみました。
で、
POVMANでテクスチャを貼りつけて、影をどうにかすれば良いんじゃ
と思い、AdvancedRenderManのサンプルシェーダーを打ち込んでコンパイル
してみた所 エラー。どうやらtextureは使えないという結論。へっこり。
POV-Rayのマニュアルを眺めながら、photonを撃つとか色々試していた所、
no_shadowという影をレンダリングしないオブジェクトパラメータがあるのを
発見。.........ポクポクポク
チーン
これでいけるんじゃ?
あぁっ、なんだかそれっぽい(^^; 因みに先日の変換バグ修正分も含まれている
ので、マップの透明と不透明の境界も直ってたりします。
でも、マップの作り方が良くない為か、横から見るとかなり画像が歪んで
います。
多分これは、髪の毛マップを作る際、前面と後面の二面だけで
作ったのですが、投影マップで作った為、マップの縁になるほど
解像度が荒くなってしまうのが原因と思われます。鯵の開きマップ
(というかメルカトル図法みたいなの)ならば、歪みが少なくなると
思われますが、Wingsのそれはイマイチ 展開したマップの質が良く
ありません。しかもスケールやマッピング画像サイズを調節する事が
基本的にできないので、前面と後面に加えて側面まで分解する
(要するに真っ直ぐ見て 見える範囲に収まる単位にマップを分ける)か、
オブジェクトを分けるしか無さそうな予感。
そういや髪の毛のレンダリングに関して3D CGサイトのTIPSページを
漁ってWebをぐるぐるしていたら、髪の毛を自動生成するという
こんなツールをみつけてみたり。
このサイトの説明書だけだとイマイチどういうものなのかよく判らなかった
のですが、この3ds maxのプラグインを使用したサンプル画像
のサイトを見てみた所、どうやら簡単なガイドを元に細いパイプポリゴン
を大量生成するという、いわゆる力技によるモデリング補助ツール
みたいです。でも、確かに生成された画像は非常に良くできていて、
マシンパワーにモノを言わせるこの方法もアリかなぁなどと思って
しまいました。ただ、ポリゴンで髪の毛をモデリングしている都合上
、レンダラの品質が良く無いと、なんだかガビガビした画像になって
しまう様です。多分POV-Rayでやってもガビガビになりそうな予感。
メモリを大量に消費する欠点が挙げられていますが、こういう欠点は
いつの時代も、時間がいつのまにか解決してたりしますので、
致命的とは言えないかも。
また調節調節調節......ていうか、整形整形整形整形...(ぉぃ;
話は逸れますが、
昔読んだ3DCG系雑誌の記事にあった3DCGモデリングのTIPSは、どれも
「STEP4」や「手順4」辺りに、「ひたすら調節」という非常に曖昧な
事が書かれていて、なんじゃそりゃ? と思ったものですが、そう書く
理由がなんとなく判った気がします(^^; あえて言うなら、ここは
「変と感じなくなるまで ひたすらいじる」という感じでしょうか。
更に話は逸れますが、モデリングにあたり写真を参考にしているのですが、
アイドルグラビア写真は思いのほか参考になりません。どれを見ても
アングルが同じで角度のバリエーションが少ない上、照明とメイクで
うまーく写っている(<失礼)ため、立体に起こそうとすると意外と
具体的な形がよく判らない様に感じました。
そんな感じで明日から出張です。
調子悪くて早めに帰着。
掲示板でKOJIさんより、sai形式からの変換について御指摘いただく。
確かに透明と不透明のエッジ部分が変になってて、どこか間違えている
というのは気づいていたのですが、間違い個所がイマイチよく判らず
ほったらかしにしてました(^^;。
昔作ったsai to ppmのプログラムでは、アルファ値でRGBを正規化して
....てやってるのに、それをすっかり忘れているという体たらくって感じ
でしたよ(^^;いかんいかん。
とかやってるとどんどん具合が悪くなって死亡。
昼前に起きて、いいとも増刊号など観ながらダラダラ。
FINAL。スコアアタックでExtraステージ練習。10回に1回くらいしかクリア
できず。死ぬのは大抵、前半のなんでもない所。フォースのスイッチをミス
ったり、波動砲を外して死んだりそんな感じ。2回に1回くらいの確率で
クリアできないとリアルファイトは厳しいかのう。
結局、アルファデータの自動生成は諦め。sai形式から直接pngに変換かけて
アルファ値を取る事にしました。しょーもない事にはまりながらなんとか
作って、いざ髪の毛のテクスチャを貼ってみたのですが なんだかイマイチ。
というのは、下の真中の絵の様なオブジェクトに髪の毛テクスチャを貼れば
良いやと思ってそうしたのですが、透明のテクスチャを貼っても、
影はオブジェクトの形状のまま落ちていて、結果として前髪のギザギザを
無視した影になってしまってます。あと、オブジェクトのサイズに対して
マップ画像が小さい為、とても荒いマッピングになってしまってます。
あ、もしかするとマップ画像の作り方が悪いだけかも知れませんが.....
普通はどうするのか判りませんが、ずっと前に雑誌のTIPSとか読んだ内容の
うろ覚えだと、多重にテクスチャを捲いて表現するとかいう感じだったような。
ただ、Wingsでモデリングすると、自動的にソリッドモデルになってしまう為、
薄い板を捲くのがものすごく大変なのですが、それってどうすりゃ良いの
でしょう。むぅ。って、透明のマップ画像を貼った時の影をどうにかしない限り
はなんともならない気がしてきた。こういうのはマップを作るのが得意なツール
とレンダラに任せるものなのかも知れません。誰か作ってくれないかなぁ(ぉぃ;。
そういや変換ツールをmakeする度にシステムリソースがどんどん減っていき、
最後には新規にプログラムが起動できなくなってみたり。mmap()のパッチが
悪さしてたりするのかしら。
爆睡。起きたら夕方。毎週やってるな......
うみゅ、確かに せくすぃ〜波動砲
(<名前が変わってます)は出が
遅いのでイマイチなのですが、フォースの食いつきが良いのと、
ルビコンほどではないですが、防御範囲が少し広いというので、
トータルとして個人的には良い感じです。
で、スコアアタックで練習できるというのを初めて
知ったので(ぉぃ;、早速 Extraを練習し始めたのですが、
やっぱり無理(^^;。A.D. 2400を
過ぎた辺りの音楽が変わってくる所からいきなり抜けられる気が
しなくなってきました。26世紀の彼方は遠いなぁ......そんな感じ。
その後、一度だけまぐれでクリアできました!勿論スコアアタックモード
でですが(^^;。触手フォース系以外の機体で抜けられるのだろうか?.....と
いうのが感想。条件としては、
バット(No.77)を一発の波動砲で一機は倒せる事。これができないと
フォース無しの最前半と、連続登場する最後半で、追い込まれて死亡って感じ。
もう一つは、広い防御範囲を持つ触手フォースを装備しておく事、
これが無いと 最後半手前のキャンサー系の小粒敵の大群に追い詰められて
死亡って感じ。レーザーがそれなりに強ければ後半については
その限りでは無いかも知れませんし、ゲームレベルによっては
この条件がそもそも成立しないかも知れませんけどね。
出張。帰着。ふぅ。
眠くて死亡。
出張。
出張。
出張。
昼頃起床。なんか調子悪くてぐったり気味。
何気に
Wings3Dのソースをみてみた所、なにやら見た事無い言語で書かれて
いたり。
ERLANGと呼ばれるその言語は、関数型プログラミング言語という
奴で、電話交換機のシステムソフトウェアを記述するのに開発された
らしいです
(参考)。
確かに、Wingsを起動すると何やらログ出力コンソールが同時に開いたり、
見た目が独特の雰囲気を持ったUIだったり、Wings自体も何度か死んだらしい
事があったのですが、赤○白×を出して死ぬのではなし、ウインド自体が
無くなるという感じのものだったりで、少し雰囲気が違うなぁという
感じを醸し出していたのは、全てがERLANGのシステム上で動作している
為という気がしてみたり。
で、試しにERLANGのソースをダウンロードして、Cygwin上でビルドできる
かどうかを試してみたり。README.win32を勘で読む限りはCgywinだけでは
ビルドできないような事が書かれているのですが、やっぱり無理でした(^^;
Windowsバイナリをダウンロードするのが正解らしい。そんな感じ。
FINAL。セクシーダイナマイトIIでExtra。やっぱダメ。
そんな感じで明日から出張です。
昼頃起床。
先日のsnapshotのビルドはperlが赤○白×こいて止まっていたり。
取りあえずnew-cygwin1.dllはできていたので、そのまま使ってみたり。
Ver-1.5.4 と同等レベルみたいですが、やっぱり直らず。むぅ。
まずはfork()の方からパッチ当てて こちらはOK。で、問題のmmap()の
方ですが、こちらは先週書いた通り、変え過ぎだろって感じなので、
どう修正して良いものかさっぱり。で、差分を見てみると どうやら
修正自体は以前からTANEが当てているパッチと同じような感じで、
そのコードを通る条件が少し異なる模様。で、勘で変更を加えてみたり(^^;
*** mmap.cc.org Thu Sep 11 05:16:32 2003 --- mmap.cc Sun Sep 14 13:26:46 2003 *************** *** 616,622 **** /* Insert into the list */ mmap_record *rec = map_list->add_record (mmap_rec, off, len > gran_len ? gran_len : len); ! if (!rec) { fh->munmap (h, base, gran_len); set_errno (ENOMEM); --- 616,622 ---- /* Insert into the list */ mmap_record *rec = map_list->add_record (mmap_rec, off, len > gran_len ? gran_len : len); ! if ( !rec || ((off = rec->map_pages (off, len)) == (_off64_t)-1) ) { fh->munmap (h, base, gran_len); set_errno (ENOMEM);
出張。帰着。ふぅ。
Cygwin-1.5.3をダウンロード。ダウンロード中に眠くて死亡。
起きたらダウンロード終了。インストールして、fork()とmalloc()の
不具合再現プログラムを実行。むぅ、malloc()(正確にはmmap64())
の方は直っていない様子。これはVer-1.5.3リリース後のsnapshot
で加えられた修正だからかも。fork()の方は変わっていないのでいわずも
かな。
しかたないので、snapshotをダウンロードしてbuildしてみる事に。
ダウンロード中にCygwinホームページを見たら1.5.4がリリースされて
いたり。でも、まだパッケージダウンロードはできませんでした。
で、build.......の最中に眠くて再死亡。
出張。
出張。
出張。
出張。一時帰着。
出張。
起きたら日が暮れかけ。大丈夫かヲレ?
久々にFINAL。もう26時間くらいやっているくせに、収集機体は43種と
いうショボさ。R-9A2.A.Hで相変わらずExtraステージのさわりで死んで
へっこり。それよりも、R-9A2.A.Hの後ろの枝を伸ばそうと使っていたのに、
すぐ後ろの奴は、開発パスワードを入れろとかなってて枝を伸ばせず。
「フォースが噛まないR-13使いづれー」には激しく同意(^^;。
因みにR-13シリーズ最終形態もフォースが変な挙動をするように
なってて、なんだかなぁな感じになってますが、R'sMUSEUMのコメント
を見ても、扱いにくくなっていると書かれている辺り、歴史上 改悪
もあるという感じをわざと醸し出しているのかなぁなどと思ってみたり
もしました。
そんな感じで明日から出張です。
ひたすら寝倒して、起きたらとっぷり日が暮れていたり(滝汗;;
アルファデータの生成プログラム書き。ギブアップ気味。
というのは、表(FG)と背景(BG)の色を合成した結果、
RGB=128,128,128 の色となったピクセルがあったとき、
FGのピクセルが RGBA=128,128,128,0 (Aは0で不透明255で完全透明)
なのか、FGのピクセルが RGBA=255,0,255,128でBGのピクセルが
RGBA=0,255,0,128で重ね合わされているのかの区別が付かない
場合があったりして苦戦。
TVのニュース番組でコンビニおにぎりの、あのパリパリ海苔の包装
(1で帯を切って2,3で左右に引っ張り おにぎり完成ってやつ)
機械を発明した社長が出てたり。
鈴木という名のその社長の会社の名前が「ザ 鈴木」。
「ザ鈴木って.....」と思わずTVにつっこみ入れてみたり。
参考。
先週買って、観る事ができなかった「黄泉がえり」を観たり。
ストーリー展開がとてもよくできていて(先が読める人には読める
かも知れませんが)、じんわり切なくなるそんな感じ。
良い作品だと思いました。
出張。帰着。ふぅ。
CygwinのMLを見ていると、1.5.3でアプリケーションの再リンク
が必要になってしまったようで、激しくアップデートが行なわれている
雰囲気。また、スナップショットを見ていると、mmapの方に大きな
修正が入った様で、
malloc()の不具合が
直りそうな予感。それにしても修正差分を見ていると、変え過ぎだろ
って感じがしたりしなかったり。
猛烈に眠くて死亡。
出張。
出張。
出張。
出張。