ツインテールラブ オリジナル小説サイト -ツインテールラブ-


オリジナル小説自作ゲームアプリCG ギャラリー日記リンク

 ツインテールラブ
このサイトでは

オリジナル小説 オリジナルゲーム CG
を紹介しております。


サイトの理念

このサイトは管理人である鷹仲邑が好き勝手やっていくのみの、締まりのない活動がメインです。よって方向性や発展性はおそらくないでしょう。けれども、なにかしらの最高を目指しています……ぅー。

今は3Dゲーム制作に夢中


管理人の独りごち

『4月23日』
 一日二つのモデリング――もうやってません。だってだってだって! うちのパソコンじゃちょこっと3Dモデルを増やしただけで処理落ち激しいんですもの! 下の日記では威勢のいいことを書きましたが、どうやら間違っていたみたいです。ああ! もう! これじゃあ、これ以上小物を作っても配置なんてできませんし、配置したらしたで処理スピードが不快レベルまで落ちるでしょうよ! それなのに、モデリング? 作っても配置できないのに? Xファイルで草とかを豪勢に植え付ける? そんなことをしたら動きませんよ!
 というわけで、なんとか草の数を減らす方法を考えました結果、ビルボードという方法に行きつきました。ビルボードがなんなのかといえば、常にカメラ方向に向いているテクスチャです。これを使えばポリゴンの数は1/2〜1/3で済みます。常にカメラに向いているので配置の角度なんかを気にする必要もありません。例えば上空のランダムな位置に生成して、地面に垂直に伸ばした線分とマテリアルが草地指定のポリゴンが衝突していたらその位置に植え付ける――これだけでもきっといい感じになると思います。そこで苦労してプログラミングしてみた結果が右です。
 ビルボードの数6000枚でFPS35……ま、いいんじゃないですか? Xファイルでの描画とは違い、カメラからの距離で一枚一枚描画するかしないか設定もできますし、ビルボードの数をもう少し減らせばFPS60は余裕で出せます(出ました)。
 ところでみなさん気になっていたことでしょう、二枚目の画像です。ウインドウズエクスペリエンスを測れるフリーソフトを実行しましたところゲームグラフィクスの項目がすごいことになりました。
 ええ、有り得ませんよね。でも、何度評価し直してもこの数値なので、もしかしたら……バグですね。
 
『4月4日』
 お風呂場。家のお風呂場を忠実に再現しました(笑)。一番苦労したのはテクスチャです。モデリングにはもう慣れました。けれどテクスチャは、ただ写真で撮っただけではだめで、いろいろと加工しないとテクスチャとして使い物にならないのです。ああ、もういやだわ! いやだわ!
 ところで、この中で一番ポリゴンを使っているのは水道の蛇口です。三角面の数は約600。二つあるので1200。このお風呂場の合計三角面の数が約1500ですから、蛇口が占めている量は相当なもんです。とはいえ、これ以上少なくすると微妙な感じになってしまいます。で、思ったのです。
「わたしのパソコンだと、どれくらいのポリゴン数まで耐えられるのだろうか?」と。
 わたしのパソコンはノートパソコンレノボG500、CPU1005M、1.9GHz、と3Dの描画能力はお世辞にも優れているとは言えません。いえ、とても低いです。
 そこで、このお風呂場をXファイルにしてプレーヤ座標から-10〜10の間、0.1間隔で100個並べて描画してみたところ――FPSが30〜20前半くらいまでおちました。マップとプレーヤもそのまま描画してましたので、150000ポリゴン+マップの約30000ポリゴン+キャラクターの約5000ポリゴン=約185000ポリゴンも描画したことになります。正直これは驚きました。きっとFPSは一桁になるだろうと思っていたのですが……ノートパソコンでこれなら、ポリゴン数をそんなに気にせずモデリングができますね。
 
『3月30日』
 Xファイルのテクスチャ描画の設定を間違えておりましたので直しました。アルファブレンドはpngファイルだけではなく、マテリアル色でアルファ値を設定されているものがあるんですよねぇ。二つを分けて処理しなければいけなかったのです。それを、ディフィーズのaの値が1未満の時アルファブレンドで、さらにレンダリングステートの値も弄っていたため、完全透明と完全不透明の場合しかアルファブレンドが有効になっていなかったようなのです。それを直しました。違いは前回の画像と今回、右画像のキャラクターのスカート部分を見てもらえれば分かると思います。実はずーとこの問題に気付いていたのですが、なぜこうなるのかわからなかったので直せずにいたのでした。でも今回治せて良かった!
 あと、3Dモデルもいろいろ作りました。バスも作り直しました。で、一日二つ以上のノルマは達成してます――よね? 18日からなので、24個以上出来てればいいわけですから……ちょっと数えてみますね。灯篭のパーツを抜かしても32個ですから余裕でノルマは達成していますね。この調子でいきましょう。
 トンネル? トイレ? 風呂場? ああ、大物はやる気が起きない!
 これ、ちょっとやばい症状ですね。

『3月20日』
 とりあえず部屋の中における小物を作っただけマップに配置し、Xファイルに変換してゲーム側で読み込んでみましたところ結果は――
 FPS 53 と、すでに処理落ち!

 マップ自体は以前アップした本当に狭い範囲の物で、高低差のある地形と道、バス、二部屋とそれを繋ぐ廊下のみ。そこに今回小物を置けるだけおいてみたのですが……。
 スクリーンサイズがフルスクリーン(1680×1050)とはいえ、この程度で処理落ちするようじゃ話にもなりませんから、速度アップを図れないものかいろいろと試してみたいと思っております、今日この頃でございます。

『3月18日』
 怖い小物とビール、机、椅子、外の小物を作りました。今日で3Dの小物を作り始めて十日くらいですか? 結構作りましたね。これからは、小物も作りますが、大物にも取り掛かろうと思います。トンネルとか、トイレとか、風呂場とか。

『3月15日』
 ガードレールと標識を作りました。
 両方とも簡単に作れる――と思っていたのですが、標識は想像通りでもガードレールは三時間以上かかりました。これからそんなものが続々と出てくるのでしょうね。

『3月13日』
 上のは面の数が66枚。
 下のは五つの木の合計面数が568枚。


『3月9日』
 二日でこれだけできました。
 どうでしょう?
 家具はほとんど四角形のポリゴンにテクスチャを張っただけ。マットや飾り物は四角形の平面をナイフでパパパと切って角を削除し、押し出して押し出した面をちょっと縮小――
 テクスチャは自宅の汚らしい部分を画質の悪い携帯のカメラで撮り、GIMPで歪みを直したものです。この方がネットで落とした美しく整ったテクスチャよりも生活感が出て、結果よかったかもしれませんね。とはいえこんなものでは足りないどころの話ではありませんので、とりあえず一か月くらいは一日二個以上小物を作っていきましょう。そうしましょう。

『3月8日』
 フリーの3Dモデルで何とかしようというのはあきらめました。なぜかといえば、下の日記の通り、プラグインがないと開けない形式のものしか今のところ出会えていないからです。なので、一日ひとつ以上、3Dの小物を作るように心がけましょう。ローポリなら基本図形をちょっと加工すればいいですし、UV操作も複雑な形でなければLEでもなんとかなるでしょう。あとテクスチャは自宅にあるものをパシャパシャ撮って――って、
 ああ! もう、なんかね、心が折れそうです!

『3月4日』
 3Dのマップ作るの無理!
 だって、フリーの3Dモデルは洋風の建物しかないんですもの。わたしの作りたいのは和風の廃屋をぐるぐる歩き回るものですもん。もっと言っちゃうと、新しいパソコンでメタセコイアを使おうと思ったら使えないじゃないですか! わたしは以前メタセコイアのIDを5000円で購入したのですが、それは古いパソコンの方でしか使えないらしいのです。となると、無料のメタセコイアLEで何とかするか、古いパソコンを引っ張り出してきてそれを使うか――ということになります。幸い古いパソコンはまだ押し入れにしまってありますから、できないこともないんですけど……けど! ああ、遅い! かといって無料のLEだとプラグインが使えない! UV操作なんてやろうと思ったらたぶん死んでしまいます。
 ああ! どうしよう!

『2月20日』
 ライト使えるようになったと喜んでおりましたが、実際ライトを使うとなると困ることがいくつかあるんですよね。
 一つ目は、ライトを使うとなるとキャラクターに懐中電灯を持たせなければいけない。
 二つ目は、懐中電灯を持たせることが出来たとして、キャラのアニメーションはどうするの? 腕だけ独立して動かすなんて芸当とてもじゃありやせんがあっしにはできませんぜ?
 ということです。キャラに懐中電灯を持たせるには、xファイルを作る段階でキャラの手のひら1ポリゴンだけマテリアルを変えて、そのマテリアルを読み込んでレンダリングする際、ポリゴンの三頂点から内積(三角形の重心)と外積(法線)を計算し、法線と直行する線分のベクトルを出してそのベクトルの角度を出せば、あとは内積の位置にベクトルの角度分だけ回転させた懐中電灯のxファイルをレンダリングすればいいような気がします。しかし二つ目は――考えただけで無理です。なので一つ目を実験的にやってみる気にもなりません。
 ということで、アップする際にはキャラクターの正面から光が発生するという愉快な現象をお見せすることになるでしょう。

『2月13日』
 また一つ、謎が解けました。
 3Dはライトを設定しないと真っ暗で何も見えません。そして設定できるライトの種類は平行光源のディレクショナルライト、すべての方向に光を発するポイントライト、懐中電灯のような一定方向のみのスポットライトの三つがあります。で、今までディレクショナルは反映されるのですが、他の二つがどうやっても反映されなかったのです。なのでずっとディレクショナルだけ使ってきたのですが、ここにきて設定しても反映されない理由がはっきりわかりました。わたしの作ったxファイルのサイズが大きすぎたのです。ざっと見積もって、100倍くらい……。
 わたしはプログラムする際わかりやすいように、というより2Dからの流れでといった方がいいかもしれませんが――1=1p。100=1メートルと仮定していました。それも2Dなら0.1の座標なんてありませんし、そもそも小数点以下の数字なんて無視されてどのみち同じ場所に画像が表示されます。位置情報は整数値。(100,100)の座標といえば丁度ゴミ箱のアイコンがある位置かな? と直感で分かります。これが普通です。そんな感覚のまま、3Dの座標もきりの良い整数値(型はfloat型ですが)で管理しておりましたから、もちろんメタセコイアで吐き出すxファイルも1倍で今までやってきていたのです。ところがそれがいけなかったのでした――orz
 とはいえ、今のわたしはもうスポットライトもポイントライトも使えます! どんどん使っていきましょう!――とも思いましたが、ああ! ローポリでそれらのライトを使うと一体どんなことが起こるか! まあ、そのうち皆さんにお見せしようと思います。

『2月10日』
 最近、過去に作った3Dプログラムを眺めています。と言いますのも、ポリゴンと線分の衝突判定が出来そうだと思い始めたからです。ポリゴンと線分の衝突判定――これは実に頭が痛くなる問題で、せっかく3Dを表示できるようにできたのにポリゴンと線分の衝突判定で挫折して、すっかりやらなくなってしまっていたのです。もちろん当時もネットで調べましたが、記号の羅列で理解できず、ましてやそれをプログラミング言語に直すなんてことは想像だにできません。結果として、最終的にアップしたものは見た目はポリゴンとの衝突判定ができているように見えて、実はY軸方向から見下ろした2D座標での衝突判定でした。しかもそれも、衝突座標をメタセコイアを開きながら一つひとつメモ帳にメモし、プログラムで配列を用意するというなんとも残念な方法だったのです。これではすぐに投げ出したくもなります。そして皆さんもご存知か……存じ上げないかもしれませんが……わたしは一度投げ出すと長い期間ふたたびそれに触ることはほとんどありませんから、今までひっそりと寝かしてきたわけです。
 ところが最近、フリー3Dゲームの「オトギリ」というゲームをゲーム実況で見つけ、「ああ、いいなぁ、自分もこういうの作りたいなぁ」という、昔のやる気がふつふつと湧き上がってきたため、さっそく昔挫折したポリゴンと線分の衝突判定の仕方をネットで調べてみたのです。それで参考にしたのが下の二つのページです。
 Yahoo! 知恵袋
 とあるデザイナーの秘密工場
 補足ですが、Yahoo! 知恵袋 で質問をしたのはわたしではありません。皆さん同じ問題で悩んでいるのですね!――で、さっそくコンソールで実行してみると、どうやら上の回答ではうまくいかず、線分がポリゴンを通過していなくても線分のベクトル上にあると通過したことになってしまうようです。下の回答は、図解説明されていてとても分かりやすく、始めの回答を眺めていると答えが出てきました。
 実際上手くいったのでテンションが上がった勢いでメタセコイアデータ型から頂点座標やマテリアル情報などを取得するプログラムも作り、これで衝突判定はxファイルに変換する前のメタセコイアデータを読み込むだけで完了します。もちろん衝突した後の反応処理がまた頭を抱える問題ではありますが、これは何とかなるでしょう。となると次に困るのは――3Dモデルによるマップ制作ですねぇ……。実は今も、それを製作しようとしていて――挫折しそうなんですよね……。フリーの3Dゲームを作っている人は、どうやってマップを用意しているんでしょう? さすがにすべて自作でなんてできませんし、フリーの3Dモデルを使ってもさすがに配置するだけと言うわけにもいきません。必ず自作しなければいけないところが大量に出てきて、その膨大な仕事量にただただ唖然とさせられ――ている今日この頃なのでした。

『1月1日』
 改めまして、
 新年あけましておめでとうございます。今年もどうぞよろしくお願い致します。
 今年はやはり「さんたく」はないのですね。しかし、「新春つるべ大新年会」は復活したようなので楽しみです。

『1月1日(仮)』
 新年、明けましたでしょうか? でしたら、おめでとうございます。わたしはまだ2016年におりますが、2017年が皆様にとって良い年になることを心からお祈りしております。
 2016年を振り返ってみて、今年はほとんど更新しませんでしたね。もともとわたしはそれほど更新を小まめにしているというわけではありませんでしたが、それでも更新せずに一か月もすれば何かしらネタを探しては更新しようとするのでした。今回のようにほぼ半年近く更新をしないなんてことは今までありませんでした。実は、今年の9月1に愛犬を亡くしまして、それからずっと何もやる気が起きなかったのです。
 愛犬は柴犬のメスで、16歳と11か月――9月22日で17歳でした。人間の歳に直すと100歳を超えるおばあちゃんでしたので大往生だったと思います。けれど、本当はもっと長生きできたはずなのです。わたしが二年ほど前、散歩終わりにジャーキーの塊をあげてしまったことで、それを喉に詰まらせ、その時は動物病院で命は助かりましたが喉を傷つけてしまい、入院し、戻ってきたときには喉の炎症を抑えるために毎日薬を飲まなければいけなかったし、もう前のように散歩することも出来なくなってしまったのです。老犬にジャーキーをあげてはいけないのです。わたしは茶々にジャーキーをあげてしまったことを後悔し、それまで以上に彼女を気にかけ、ゆっくりゆっくりと散歩させたり、離乳食のようなものを毎日口に押し込んだりして、それでも一年も経てば元気とよべるほどになったのです。まっすぐ歩くことはできなくなっていましたが、毎日庭でグルグル回りながら、芝生をバリバリ毟り取って憂さ晴らしをしているようでした。それからさらに一年、ガリガリどころかふっくらとしていましたし、ご飯もちゃんと食べていました。毎日のお仕事の芝生を毟ることも忘れていませんでしたし、すっかりきれいにしたそこに寝転んでは、一日中気持ちよさそうに寝ていました。亡くなる直前もそうでした。
 心残りがあるとすれば最近の彼女の写真や動画を撮っておかなかったことです。普段からわたしは、よほどのことがなければ写真や、ましてや動画なんて撮る人間ではなかったですし、彼女がまだまだ元気で、もっともっと一緒にいてくれると疑ってすらいなかったのです。ですから一番最近の写真は二年前の時の病院から帰ってきた、一番げっそりとしていて一番元気のない写真だけでした。遺影にこんな写真は使えませんので、彼女が家に来た直後の写真を遺影にしました。

 ちゃーさん、またいつか会いましょう。

最終更新


越谷夏海(裏)
めりくり
抱き枕カバー絵
「ナコルル表」アップ

(Last Update/2016/7/28)


前回更新
抱きまくま計画のページ

アクセスカウンター人目のお客様です。


 ホームプロフィールメール更新履歴サイトマップsince 2008/03/06―移転 2010/11/01