<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>備忘録とか実験とか</title>
<link>https://ameblo.jp/apple4u/</link>
<atom:link href="https://rssblog.ameba.jp/apple4u/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>仕事やら気になることをゴソゴソ実験</description>
<language>ja</language>
<item>
<title>求人！PerlとかPHPとか出来る人！もしくは勉強したい人！</title>
<description>
<![CDATA[ <span style="text-decoration: line-through;">遅ればせながらあけましておめでとうございます。</span><br style="text-decoration: line-through;"><br style="text-decoration: line-through;"><span style="text-decoration: line-through;">いやはや、今年もまた絶好調に忙しい予感がぷんぷんです。</span><br style="text-decoration: line-through;"><span style="text-decoration: line-through;">だって人足らないンだものさ。たった2人のPG兼SEとかだもン。そりゃ忙しいさ。</span><br style="text-decoration: line-through;"><span style="text-decoration: line-through;">会社で求人も出してるんだけど応募がまったく無いさ。</span><br style="text-decoration: line-through;"><span style="text-decoration: line-through;">自分の交友範囲もあたったけどいつも時期が悪いさ。</span><br style="text-decoration: line-through;"><span style="text-decoration: line-through;">忙しすぎるときは外注とか頼んだりもしたのだけど、納期とか守ってくれなかったりで散々さ。</span><br style="text-decoration: line-through;"><span style="text-decoration: line-through;">ンだもんで、上司と掛け合って個人的に求人する許可をもらったさ。</span><br style="text-decoration: line-through;"><span style="text-decoration: line-through;">とはいえ、さすがに個人ブログで会社情報出すのは無理なので、以下のアドレスにメール投げてくれれば雇用形態とか業務内容とか出来るだけ細かく説明するさ。</span><br style="text-decoration: line-through;"><br style="text-decoration: line-through;"><span style="text-decoration: line-through;">連絡先：apple4u_help_me@yahoo.co.jp（会社のドメインを公開できないのでyahooで失礼さ）</span><br style="text-decoration: line-through;"><br style="text-decoration: line-through;"><span style="text-decoration: line-through;">「PerlまたはPHPはやってた。」とか「PerlまたはPHPを勉強中。」とかの人大歓迎！</span><br style="text-decoration: line-through;"><span style="text-decoration: line-through;">あと、「SE」とかに興味もあるならなお歓迎！</span><br style="text-decoration: line-through;"><span style="text-decoration: line-through;">自分たちもまだまだ研鑚を積まねばならないところも多々あるため、一緒にがんばろうさ。</span><br style="text-decoration: line-through;"><span style="text-decoration: line-through;">あまり身構えずにメールで質問してもらえると嬉しいさ。<br><br></span><span style="color: rgb(255, 0, 0);">なんとかなりました。</span><span style="text-decoration: line-through;"><br></span>
]]>
</description>
<link>https://ameblo.jp/apple4u/entry-10064756492.html</link>
<pubDate>Wed, 09 Jan 2008 10:33:25 +0900</pubDate>
</item>
<item>
<title>スプライトフォント２</title>
<description>
<![CDATA[ あー外は良い天気だなぁ。<br>仕事も見て見ぬ振りしてるし、こんな素敵な休日はひきこもってXNAだよね。<br><br>さて、先日時間切れで中途半端に終わってしまった等幅スプライトフォントですが、あっさり治りました。<br>いや、治ったというか、応急処置というか、ほかに治し方無いわけじゃないのだけど、すごく大変そうだから手を出すのがメンドイというか・・・うん、すごくメンドイんだｗ<br><br><a href="http://stat.ameba.jp/user_images/16/2d/10039007397.jpg" target="_blank"><img border="0" src="https://stat.ameba.jp/user_images/16/2d/10039007397_s.jpg" alt="フォント（解決）"></a><br><br>ホラ、結構それっぽく見えるでしょ。<br><br>Vector2 SpriteFont.MeasureString( string )<br><br>これで位置調整したんすわ。<br>テキストをたくさん表示させる予定もないし、今はこの程度で十分かな。<br><br>さて、やきだんごこーてこよー。
]]>
</description>
<link>https://ameblo.jp/apple4u/entry-10058023372.html</link>
<pubDate>Sat, 01 Dec 2007 14:58:47 +0900</pubDate>
</item>
<item>
<title>スプライトフォント</title>
<description>
<![CDATA[ なんつーか、人間って不公平だ。<br>なぜこんなに時間がないのだろう。<br>かと思えば、暇だとか抜かしやがる人間もいるわけで。<br>あれ？公平だから不公平なのか？ま、いいや、おらむつかしいこたぁわがんね。<br><br>さて、今日も今日とてやっぱり時間がないわけで、やれることも限定されるわけで。ナレッジも多い日本語スプライトフォントの実装でもやりましょうか。<br><br>ってなわけで例のごとく先駆者のリソースを参考にしつつ実装。<br>さすがに日本語スプライトフォントのナレッジは多いですな。<br>まったく労せず実装できました。<br><br><a href="http://stat.ameba.jp/user_images/58/dc/10038679272.jpg" target="_blank"><img border="0" src="https://stat.ameba.jp/user_images/58/dc/10038679272_s.jpg" alt="フォント（プロポーショナル？）１"></a><br><br>らくしょーらくし・・・はれ？<br><br><a href="http://stat.ameba.jp/user_images/b1/e9/10038679271.jpg" target="_blank"><img border="0" src="https://stat.ameba.jp/user_images/b1/e9/10038679271_s.jpg" alt="フォント（プロポーショナル？）２"></a><br><br>はれれ？？<br><br><a href="http://stat.ameba.jp/user_images/c1/8e/10038679270.jpg" target="_blank"><img border="0" src="https://stat.ameba.jp/user_images/c1/8e/10038679270_s.jpg" alt="フォント（プロポーショナル？）３"></a><br><br><br>食わせたフォントは「アニト-M等幅」なのにな。<br>なにゆえプロポーショナルな表示に？<br>アニト-M等幅といえば、理路整然と並びつつも硬すぎず、どこかやわらかく親しみやすい、そりゃもう木漏れ日のオープンカフェで珈琲を嗜むイギリス紳士のようなすンばらしいフォントなのに、これでは台無しです。まったくもって台無しです。ふぁっきーん！<br><br>でも時間切れ。おやすみなさい。<br>いや、昨晩の話なんだけどね。<br><br>
]]>
</description>
<link>https://ameblo.jp/apple4u/entry-10057529018.html</link>
<pubDate>Wed, 28 Nov 2007 09:52:57 +0900</pubDate>
</item>
<item>
<title>コントローラー買ってきた</title>
<description>
<![CDATA[ さっぱり時間取れなくて全然XNA触れてないです。<br>それでも何とか日曜日にヨドバシ行ってコントローラーだけ買ってきました。<br>接続がUSBに変わっただけなのに3900円って･･･もうね・・・まぁいいや、仕方がない。<br>んで、帰ってきてから早速接続。快調な動作を確認。<br>その後、先駆者達のサイトでコントローラー周りを調べて実装を考える。<br>トリガやリピートがデフォでは無いようなのと、クラス名がやたら長いのも気に入らないので、自作クラスにラップ。<br>クラスの動作テストをしたところで3時を回ってたので就寝。<br>うーむ、一日が48時間あれば･･･<br>
]]>
</description>
<link>https://ameblo.jp/apple4u/entry-10057214350.html</link>
<pubDate>Mon, 26 Nov 2007 09:59:27 +0900</pubDate>
</item>
<item>
<title>弾丸と地形の衝突判定計算回数（リベーンジ！）</title>
<description>
<![CDATA[ <p>ここんとこ忙しくて何も出来なかったのですが、ようやっと時間が出来たので、360開発が進められました。<br>で、何したかってぇと。<br>地形と弾丸の衝突判定の高速化っすわ。</p><p>いやね、ご飯を食べるときも、シャワーを浴びてるときも、ベッドに横たわったときも、必ず一回は思い出すほど気になってたんです。</p><p><br>前回少しだけ高速化したにはしたんだけど、どう考えても実用レベルじゃないのよね。<br>それに、衝突判定って3Dの肝じゃない。そんな根幹部分がヘタレじゃその上にもたいしたもの載せられないしね。<br>ってなわけで、今回はワリとがんばりました。</p><br><p>まず最初に用意したのは↓</p><p><br><a target="_blank" href="http://stat.ameba.jp/user_images/86/5a/10035965807.jpg"><img width="220" height="173" border="0" src="https://stat.ameba.jp/user_images/86/5a/10035965807_s.jpg" alt="2万ポリゴンの地形"></a> <br><br>画像がばっちいですけど、白線が地形の3角ポリゴンで、赤線が弾丸の1フレームあたりの移動です。<br>ちなみに、地形のポリゴン数は2万△ポリゴンっすな。</p><p>さてさて、とりあえずこの条件で総当り判定を行ってみたところ、やはりさんさんたる結果に･･･<br>1フレームあたり50回の衝突計算で1FPSとかそんなです。<br>試しに100回とかやらせてみたら案の定ピクリとも動きませんｗｗｗ</p><br><p>うーむ、今回の敵は強い。<br>心して応ぜねば。</p><br><p>煙草と珈琲を大量に消費しつつ、やっとこ1案。<br>地形を4分割してみることにしました。<br>地形のモデルをぴったり包める大きさの立方体を作り、地形の中心から4分割してポリゴンを割り当てれば、なんと！衝突計算回数は1/4に！<br>なるわけ無いよね。空前絶後のぬか喜びです、ハイ。<br>それら分割された空間の境界を1つ超えたら2/4=1/2だよね。<br>弾丸が直線的に飛ぶとして、飛翔距離が長かった場合や、中心に近い場所から発射されれば3つの空間の境界をまたぐこともあるんだから、これは根本的に1/4しか高速化されてないのよな。<br>うーむ、しかし、しかしだ、考え方はコレでOKな気はする。<br>近いポリゴン同士を立方体に内包し、最初に立方体と弾丸で衝突判定すれば余計なとこは計算から省けるやね。</p><p>じゃ、とりあえずまとめてみっかぁ。てなわけで今度は空間を10x10x10のグリッドで分割。<br>おぉ！いいじゃない！グンと速くなった！<br>つか、律儀に立方体一個一個調べなくても、もっとまとめて計算すりゃいいじゃんね。<br>立方体を中心から分割し、それを再帰的に3回くらい細分化。<br>で、その末端の一番小さな立方体に接触するポリゴンを格納。<br>ついでに、ポリゴンが内包されない立方体はリストから削除。</p><p>データ構造は↓のような感じ</p><p>全体┬左前上の空間┬左前上の空間┬左前上の空間のポリゴンリスト<br>　　　　　　　　　　　　　　　　　　　　　　　　├左前下の空間のポリゴンリスト<br>　　　　　　　　　　　　　　　　　　　　　　　　├右前上の空間のポリゴンリスト<br>　　　　　　　　　　　　　　　　　　　　　　　　├右前下の空間のポリゴンリスト<br>　　　　　　　　　　　　　　　　　　　　　　　　├左奥上の空間のポリゴンリスト<br>　　　　　　　　　　　　　　　　　　　　　　　　├左奥下の空間のポリゴンリスト<br>　　　　　　　　　　　　　　　　　　　　　　　　├右奥上の空間のポリゴンリスト<br>　　　　　　　　　　　　　　　　　　　　　　　　└右奥下の空間のポリゴンリスト</p><br><p>1立方体を中心から分割すると8個の立方体が出来るのだから、<br>8x8x8･･･<br>ってな感じのツリー構造になるのよな。<br>んで、弾丸の線を全体に近い立方体から衝突判定していけば良いわけだ。<br>で、末端の立方体まで判定してみて尚接触しているようならポリゴンとの精密な判定を行うと。<br>珍しく冴えてますよコレｗｗｗ</p><br><p>そして本日の成果物↓</p><br><p><a target="_blank" href="http://stat.ameba.jp/user_images/f0/4e/10035965810.jpg"><img width="220" height="173" border="0" src="https://stat.ameba.jp/user_images/f0/4e/10035965810_s.jpg" alt="2万ポリゴンの地形：高速化2"></a> <br><br><a target="_blank" href="http://stat.ameba.jp/user_images/04/4d/10035965808.jpg"><img width="220" height="173" border="0" src="https://stat.ameba.jp/user_images/04/4d/10035965808_s.jpg" alt="2万ポリゴンの地形：高速化1"></a> <br><br>青線＝末端の立方体<br>灰線＝立方体が内包しているポリゴン<br>橙線＝赤線と交差したポリゴン</p><br><p>結果から見れば本日は大成功だの。<br>改修前は50回で1FPSをきってたのが、改修後は200回ほど計算させても15FPSくらい出てくれます。<br>1フレームで地形の端から端までぶっ飛ぶようなものが一度に沢山発射されるときついですが、会社のオンボロPCでこれなら十分実用レベルになったのではないでしょうか。<br>さぁさぁ、今日は帰って祝杯でもあげよう。</p>
]]>
</description>
<link>https://ameblo.jp/apple4u/entry-10053797792.html</link>
<pubDate>Sat, 03 Nov 2007 17:43:31 +0900</pubDate>
</item>
<item>
<title>AJAXに触れてみる</title>
<description>
<![CDATA[ <p>AJAXに触れてみました。</p><p>それぞれの機能をフローティングウィンドウを使ってOSっぽく動作させつつ、それぞれのウィンドウが非同期通信でリアルタイムに情報を更新しながらDBにデータも溜めていくような管理画面のデモ作ってました。うむ、わかり辛いねｗ</p><br><p>実際Ajaxを取り入れて開発をしてみたところ、非同期通信とフローティングウィンドウの組み合わせは全体の見通しが良くなるし、紙芝居的な管理画面よりはよほど使い勝手が良いと思いましたとさ。あとは開発効率やMVCとかがしっかりすれば実用できそうだなぁ。</p>
]]>
</description>
<link>https://ameblo.jp/apple4u/entry-10050655068.html</link>
<pubDate>Thu, 11 Oct 2007 19:55:51 +0900</pubDate>
</item>
<item>
<title>モデリングに挑戦</title>
<description>
<![CDATA[ <p>土曜日の朝から今までモデリングに挑戦してました。</p><p>もうね、いままで「センスがねぇｗｗｗ」とか軽口を叩いてきた数々のゲームの開発に携わったモデラーの皆様に深くお詫びいたします。</p><br><p>モデリングとかテクスチャ描きとか、正直なところこれほどまでに忍耐力を必要とするものだとは思いませんでした。不動の構えを見せる頂点。暗殺者の如く身を潜める重なり面。一振りすればたちまち回りを巻き込んで崩壊の序曲を奏でる究極のナイフ。極座標の彼方で悲鳴を上げるテクスチャＵＶ。ぬぅぅぅぅぅぅぅぅぅぅｌだぅありゃぁあぁぁぁぁっぁぁぁあぁあっぁぁ！！！！！！！本当に気が狂うかと思いました。</p><br><p>まぁ、そんなこんなでも何とか形にしたのですが・・・・</p><p>なんつーか。自分で言うのもなんだけど。センス無いねｗｗｗ</p><p>それなりにゲームやってきたはずだし、色々なものを見てきたはず。</p><p>まったく何の糧にもなっておりません。ただ時間を浪費して安易な評論で小さな小さな水溜りの優越に浸っていただけですな。もうね、死んでしまえばいいや。モデラーって人はすげーって思ったよ。心底。</p><br><p><a target="_blank" href="http://stat.ameba.jp/user_images/be/b0/10033317034.jpg"><img width="220" height="208" border="0" src="https://stat.ameba.jp/user_images/be/b0/10033317034_s.jpg"></a></p><p><br><a target="_blank" href="http://stat.ameba.jp/user_images/79/2a/10033317033.jpg"><img width="220" height="208" border="0" src="https://stat.ameba.jp/user_images/79/2a/10033317033_s.jpg"></a></p><br><p><a target="_blank" href="http://stat.ameba.jp/user_images/d5/6a/10033317032.jpg"><img width="220" height="208" border="0" src="https://stat.ameba.jp/user_images/d5/6a/10033317032_s.jpg"></a></p><p><br><a target="_blank" href="http://stat.ameba.jp/user_images/1e/c7/10033317031.jpg"><img width="220" height="208" border="0" src="https://stat.ameba.jp/user_images/1e/c7/10033317031_s.jpg"></a><br><br><a target="_blank" href="http://stat.ameba.jp/user_images/3f/b0/10033317030.jpg"><img width="220" height="208" border="0" src="https://stat.ameba.jp/user_images/3f/b0/10033317030_s.jpg" alt="後"></a><br></p><p>使用ツール：メタセコイア(本来モデリングする人ではないので、シェア版を機能制限付きの未課金状態で使用)</p><p>ポリゴン数：△2266</p>
]]>
</description>
<link>https://ameblo.jp/apple4u/entry-10050112635.html</link>
<pubDate>Sun, 07 Oct 2007 19:17:07 +0900</pubDate>
</item>
<item>
<title>弾丸と地形の衝突判定計算回数</title>
<description>
<![CDATA[ <p>今朝方、ふと弾丸と地形との衝突判定の計算回数を大幅に減らせるお手軽な方法を思いついたので、ランチタイムをつかって実装してみました。</p><p>結果は上々で、10分程度で実装出来る簡単なプログラムでしたが、かなり計算を省略することが出来たようです。以下実装内容。</p><br><p>■弾丸の発生周りの改修</p><p>１．弾丸の発生座標から弾丸が減衰を始める(または消失する)座標までの線分を求める。</p><p>２．１で得た線分を使って衝突判定を行う。</p><p>３．衝突があった場合、１フレームあたりの弾丸の移動ベクトルをもとに、衝突する座標までのフレーム数を求める。また、フレーム数を１だけ減算し、それを衝突カウントとする。(衝突が無い場合は弾丸の終点など使う)</p><p>４．３で得た衝突カウントを弾丸クラスのメンバで保持できるようにする。</p><br><p>■弾丸の移動周り</p><p>５．衝突カウントを０になるまで毎フレームデクリメントする。</p><p>６．今まで衝突判定を行っていた部分に「衝突カウントが０である場合」のみ衝突判定を行うように変更する。</p><br><p>念のため簡単に説明しておきますと、この方法は「発生した時点で消滅が予測できるものは、その消滅の直前まで衝突判定を行わない。」という感じのものです。</p><br><p>従来の方法だと、発生から消滅までを常に監視し続けるため、１０フレームで消滅する弾丸は１０回の衝突判定を必要としました。ですが、今回実装した方法であれば、最初と最後の２回の衝突判定ですみます。また、この方法は移動フレームが１０フレームであろうが１００フレームであろうがその衝突判定の回数は変わりません。もし、重力などによる減衰が無い弾丸であれば、数字をしっかり検証してみたら最後の衝突判定を省いて１回ですむかもしれません。</p><br><p>さてさて、えらそうに講釈たれてみましたが、もしかしたら「そんなん当たり前のことじゃんｗｗｗｗｗ誰でもやってることだしｗｗｗｗｗ」ってなことかもしれません。自分は今朝の通勤電車内でこれを閃き、思わず「おぉっ？！」っとヘンな声だしてすがすがしいほど冷たい視線を集めてみました。</p>
]]>
</description>
<link>https://ameblo.jp/apple4u/entry-10049564732.html</link>
<pubDate>Wed, 03 Oct 2007 15:06:28 +0900</pubDate>
</item>
<item>
<title>XNAをいじってみた</title>
<description>
<![CDATA[ <p>ここ一週間仕事を放ってXNAを色々触ってみました。</p><p>&nbsp;</p><p>とりあえず開発環境が無いとどうにもならんので、いわれるがままにVC#やらXNAやらをインスコ。</p><p>開発環境が無料でそろうってのは凄いことだね。</p><p>&nbsp;</p><p>さてさて、環境も整ったので、いざプログラミング。</p><p>で、その成果物↓</p><p><br><a target="_blank" href="http://stat.ameba.jp/user_images/0c/31/10032856735.jpg"><img width="220" height="130" border="0" src="https://stat.ameba.jp/user_images/0c/31/10032856735_s.jpg" alt="戦闘部分の動作画像"></a> 　<a target="_blank" href="http://stat.ameba.jp/user_images/54/b0/10032853937.jpg"><img width="220" height="130" border="0" src="https://stat.ameba.jp/user_images/54/b0/10032853937_s.jpg" alt="戦闘部分の動作画面"></a> <br></p><p>いやー、ものすごく省略した感は否めないのですが、実のところ、あまりXNAらしいことしてないので書くこともサッパリ無いのですよ。XNAらしいことって何？って聞かれても困ってしまいますがｗ</p><p>&nbsp;</p><p>とにかく、いじってればそのうち何か見えるものもあるだろうと思ったので、このままネットワークゲームに発展させてみようと思います。</p><p>&nbsp;</p><p>当面の課題は、XNAやC#そのものより、弾丸やキャラクターの移動で使う衝突判定をもう少し高速化かなぁ。今は「壁専用」「地面専用」「弾丸とカメラ専用」という3つのXファイルから判定をそれぞれでとって計算回数を減らしてみてるんだけど、いかんせん実用に耐えると思えない・・・。単純にPCのスペックが低いってのもあんのだけんどもねｗまぁ、プログラムなんてかじった程度にしかやったことないし、そのうち何か閃くくともあるでしょう。多分。</p><p>&nbsp;</p><p>ちなみに、当たり判定に使っているのは↓みたいな感じのXファイル。</p><p>みんなどうやってのか気になるなぁ。</p><p>&nbsp;</p><p>■レンダリング用のＸファイル（1716△ポリゴン）</p><p><a target="_blank" href="http://stat.ameba.jp/user_images/28/42/10032861495.jpg"><img width="220" height="188" border="0" src="https://stat.ameba.jp/user_images/28/42/10032861495_s.jpg" alt="レンダリング用"></a> <br> </p><p>■地面用のＸファイル(104△ポリゴン)<br><a target="_blank" href="http://stat.ameba.jp/user_images/9b/f4/10032861530.jpg"><img width="220" height="188" border="0" src="https://stat.ameba.jp/user_images/9b/f4/10032861530_s.jpg" alt="地面用"></a></p><br><p>■壁用のＸファイル(638△ポリゴン)</p><p><a target="_blank" href="http://stat.ameba.jp/user_images/07/b9/10032861569.jpg"><img width="220" height="188" border="0" src="https://stat.ameba.jp/user_images/07/b9/10032861569_s.jpg" alt="壁用"></a> </p><br><p>■弾丸とカメラ用Ｘファイル(1716△ポリゴン)</p><p><a target="_blank" href="http://stat.ameba.jp/user_images/1c/a6/10032861619.jpg"><img width="220" height="188" border="0" src="https://stat.ameba.jp/user_images/1c/a6/10032861619_s.jpg" alt="弾丸とカメラ用"></a> </p><p>めんどかったので描画用のやつそのまま使ってたりする。</p><p>だもんで、弾丸を20発程度とばすとかっくんかっくんですますハイｗ</p><p>いいかげんちゃんと作っておこう。</p><br><br><br><br>
]]>
</description>
<link>https://ameblo.jp/apple4u/entry-10049469150.html</link>
<pubDate>Tue, 02 Oct 2007 21:54:36 +0900</pubDate>
</item>
<item>
<title>バリューコマースのAPIやら機能やらの実験</title>
<description>
<![CDATA[ <a target="_blank" href="http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=2402171&amp;pid=875916084&amp;vc_url=http://bookweb.kinokuniya.co.jp/guest/cgi-bin/wshosea.cgi?W-ISBN=4881356194"><img src="https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fbookweb.kinokuniya.co.jp%2Fimgdata%2F4881356194.jpg" border="0"><img src="https://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=2402171&amp;pid=875916084" height="1" width="1" border="0"><br>これはバリューコマースの機能で作られたリンク</a><br><br>
]]>
</description>
<link>https://ameblo.jp/apple4u/entry-10040998595.html</link>
<pubDate>Wed, 25 Jul 2007 12:04:14 +0900</pubDate>
</item>
</channel>
</rss>
