スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

これは上手い!!

ちょっと久しぶりに「カリンカ」を聴いてみたいなーと思って
色々と探してたら、とてもバイオリンが上手いユニットのビデオを見つけました。

"Gracia"というユニット名みたいです。
(3人組のユニット)

とりあえず、URLを貼ってみる。(カリンカ以外のも)

【参考URL】 Gracia - Kalinka(カリンカ)
【参考URL】 Gracia - Brahms Fantasy/ Brahms-Hollo-Molnar



あと、関連動画を辿ってみたら、
"Bond"という4人組のユニットも別に居る様子。

こちらも、演奏が物凄く上手いです。
同様にURL貼ってみる。

【参考URL】 Bond Girls- Duel
【参考URL】 bond - Viva! (Live in Japan)
(見たところ、通常のバイオリンではなく、電子バイオリンを使ってる模様。)


バイオリンって、 始めたばかりの人とかだと、
「ギヒィー」みたいな、 変なうめき声 らしき音が出たりするんですけど、
その様な音とは天地の差です。

とにかく音色が綺麗だと思いました。
スポンサーサイト

テーマ : 日記 - ジャンル : 日記

「境界球生成プログラム」を作ってみた

【リンク】 ◆解説系TOP◆

とりあえず、境界球生成プログラムを作りました。
自分は3Dモデルの当たり判定を境界球で行う予定なのですが、

そのためには まず境界球を生成して、可視化するプログラム
作っとかないと駄目かなーと思い、作ってみました。

↓こんな感じで、座標と半径を指定してやれば 後は勝手に頂点や法線を算出後、
描画してくれます。
-------------------------------
Sphere tS;
D3DXVECTOR3 t(0,0,0);
tS.Create(t,1);

//描画部分//
tS.Draw();

-------------------------------
※(0,0,0)が中心の、半径1の球を描画。

【参考画像】
球
球2
※上が半径1、下が半径3の球です。

明日(土曜日)あたりに、
境界球の生成法具体的なプログラムを追記してみようと思います(`・ω・´)+

【追記】
では早速やり方を書きます。
-----------------------------------------------------------------------------------
【1】半径と中心座標の情報を受け取る
【2】頂点の場所を算出する。
【3】頂点同士をD3DPT_TRIANGLESTRIPで結びつける
   順番を調べる。

-----------------------------------------------------------------------------------
大まかにこんな流れになります。

【参考画像】
球の定義



で、頂点の場所の算出する方法について。

まず、 球の真上から半分の地点まで任意の高さの円の円周上の頂点を
調べていきます。

※ハンバーガーみたいに
球を横に割って出来る円の、円周上の点を求める感じです。

【参考画像】
頂点の算出

で、このままだと、
水色の円のY座標 及び 半径が分からないので、90°付近(※)から、0°に向かって
cosθの値を半径sinθをy座標として 計算して行くことにします。

※90°= 球の真上 は、頂点が1つになるので、円にならない。
 よって90°からは始めない。



例えば、原点中心、半径1の球 の場合は、下記の様になります。
--------------------------------------------------------------------
60°の時は、 Y軸座標 = 0+0.86  半径0.5の円
30°の時は、 Y軸座標 = 0+0.5   半径0.86の円

--------------------------------------------------------------------
【参考画像】
頂点の算出2
※球の半径が1ではない場合は、 円の半径も その分拡大させてください。
半径10の球であれば、それぞれ半径5の円、半径8.6の円になります。



で、円のy座標と半径が分かったので、
今度は、円周上の頂点の求め方を解説します。

・・・と言っても、別に変わったことはしません。
円に対しても、同じようにsinθとcosθで座標を求めるだけです。

注:求めるのは第1象限の範囲まででOKです。
第1象限・・・横軸が+の範囲かつ、縦軸も+の範囲の場所。下の図を見れば分かるかも。

【参考画像】
頂点の算出3

※↑半径0.5、y座標が(球の中心から)0.86の円の場合です。
また、"pt"は 球の中心座標です。


それと、法線の求め方についてですが、球(円)の性質上、
中心から円周上の点へのベクトル = 法線
となります。

【参考画像】
法線
※法線・・・光が反射する方向だと思ってください。

なので、次の2つの手順で求められます。
-----------------------------------------------------------------------
【1】(円周上の点の座標 - 中心の座標)で、ベクトルを求める。
【2】正規化する。

-----------------------------------------------------------------------

一応 具体例。
中心座標が(2 0 0)で、半径が4 、 そして(球?)周上の点(2 4 0)の法線は、
-------------------------------------------------------

//円周上の座標 - 中心座標
2 - 2 = 0  (x)
4 - 0 = 4  (y)
0 - 0 = 0  (z)

//ベクトルの大きさを算出
(0*0) + (4*4) + (0*0) = 16
√16 = 4  ←ベクトルの大きさ

//正規化
0÷4 = 0
4÷4 = 1
0÷4 = 0

(0 1 0) ←法線

-------------------------------------------------------
※1:ベクトルの大きさは、xyzそれぞれの2乗を足して、平方根を取る。
※2:"正規化"は、ベクトルの大きさでxyzをそれぞれ割る事。


これで、 円周上の頂点、及び法線の出し方はOKな筈です!(`・ω・´)
で、先ほど第1象限までの頂点を出せば良い、と言ったんですけども、

何故か?というと、第1象限の頂点さえ求めれば、
後は符号を変えるだけで全ての頂点が出る
からです。

【参考画像】
頂点の算出4

何度も掛け算をしたり平方根を取ったりする必要が無いので、
こっちの方が確実に早いです。

あと、球の半分まででOKとも言いましたが、
コレも同じ理由です。

半分まで求めたら、あとはy座標を反転すれば
境界球を定義するための全ての頂点が求まります。

【参考画像】
頂点の算出5




ついでに、今回のソースコードの一部です。
【参考画像】
コード_球


多少、改良したい所もあるので、参考程度にどうぞ。
(法線を求める処理を、関数化したりとか)

改良版は、後日出します。

そして、記事が縦長になりそうなので、
ポリゴンを作る 頂点の順番を決める部分は 「境界球生成 後編」へと続きます。
(今回が前編という位置づけになります)

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

ブログ1周年達成!

今日でブログ一周年です!
就活の事やゲームの事、その他 意味の分からない事を書きながら遂に1周年!


今思えば、就活を色々やっている時期に何故かブログを始めたんですよね。
理由:何だか面白そうだったから。 何か役立つ記録を残そうと思ったから。

まぁ、でも やってて良かったと思います。

記事を書くことによって、
あえて自分へのプレッシャーをかけてやって来れたみたいな所がありますし。
「この部分のプログラムを必ず完成させます!」みたいな宣言をする)

結果的に良かったんじゃないかなーと。

あ、ブログ一周年ですが、特にイベント的なものはありません。
(プレゼント配布、記念画像 添付 などなど)

余裕が出来れば、「●周年記念ゲーム配布!」とか変なイベントもやってみたいものです。


ともかく、
(ブログにとって)今年も頑張るぞ~!\(`・ω・´)/☆

テーマ : 日記 - ジャンル : 日記

ちぎれた ミッキー (気をつけましょう)

あれは、自分が小学生の頃。
自転車をこいでいる時のことでした。

自転車

そして、数秒後・・・

自転車2


さて、何が起こったでしょう?

※えらんで下さい
----------------------------------------------
選択肢A: ミッキーがちぎれた
選択肢B: ミッキーがちぎれた
選択肢C: ミッキーがちぎれた
選択肢D: ミッキーがちぎれた

----------------------------------------------


答えは・・・・!?





答え.ABCDの "ミッキーがちぎれた" でした


具体的に原因を解説します。
まず、自分の自転車の後輪には、鍵がついています。

【後ろから見た図】
鍵

鍵を挿すと、リング状の金属が車輪から外れる仕組みになってます。
で、自分はこの時 鍵に大きなミッキーのアクセサリを付けてました。

【参考画像】
ミッキー

自転車をこいでると、そのアクセサリがぶらぶら揺れていた訳ですが
しばらくして、こんな状態になってしまったのです。↓

【参考画像】
ミッキー2

なんと、ミッキーは車輪の中央をくぐり抜け、反対側に。

これにより、 後輪の回転が停止!
後輪が浮き上がる形で、前に放り出されました。

その後、立ち上がって 後ろを見てみると、
ヒモの部分が引きちぎれて、 地面に倒れているミッキーの姿が。
(これはひどい)


いやぁ、ひどい目にあった。
ミッキーのアクセサリが自分を吹き飛ばす事になろうとは。


【結論】
大きなアクセサリは付けない方が良いです。


大きなアクセサリを付けていると、 そのうち・・・

TAKESHI.jpg

テーマ : 日記 - ジャンル : 日記

"Operating System Not Found"!?

怖かった・・・!

さっきまでPCを起動しようとしても、

真っ黒の画面に 白字で
"Operating System Not Found"と表示されるだけで、
何も出来ない状態になっていました。

もう何なんですかコレ。
勘弁してくださいよー・・・。

自分はPC関係のトラブルはさっぱりなので 何か起こるたびに恐怖で手が震えます。
(PCの電源がつかない、等の深刻な障害など)


で、調べてみたのですが、この現象が起こるのは
------------------------------------------------------------------
【1】Windows(OS)のトラブル
【2】BIOSのトラブル。
【3】ハードディスク等の、ハードウェアトラブル
【4】フロッピーディスクなどが挿入されたままになっている。
【5】増設した周辺機器のせい。

------------------------------------------------------------------
これらの原因が考えられるようです。

【4】と【5】は該当しないので、可能性としては【1】~【3】。
んーもしかすると、自分のPCはもうすぐ死んでしまうのかもしれない。

ちょっと、このまま起動しなくなったりしたらシャレにならないので
早急にバックアップを取っておこうと思う。

バックアップが終わるまで、スクリーンセーバー起動状態で放置しておこうかな・・・。

万が一の事もありますからね。
就活のゲーム作品データが取り出せなくなったら、 多分 自分は気絶する。

テーマ : 日記 - ジャンル : 日記

"実例で学べる本"を借りました(例のアレ)

今日、図書館の方へ行って
実例で学ぶ ゲームAIプログラミング
を借りてきました。

例の"オライリーシリーズ"です。

【参考画像】
GameAI.jpg


自分は、以前からこの本を借りたかったんですけど、
ずっと研究室貸し出しになってて、借りられなかったんですよ。
今日 行ってみたら返却されてたので、早速借りてきたというわけです。

----------------------------------------------------------------------------
"研究室"に関する余談。

自分の大学には、ゲーム制作を卒業研究に出来る研究室があります。
なので、ゲーム関連の参考書は 大抵 その研究室へ貸し出されてて、結構困ったりします。
(自分が借りられない)

レンタルビデオとかでも似たような事があります。
「3巻だけ返ってこない!4・5巻があっても意味無い!」みたいな。

あと、実は自分は その研究室へ配属希望を1位にしていたのですが、人気が高すぎて
第5志望くらいの別の研究室へ飛ばされました。
(ちくしょう・・・!)
----------------------------------------------------------------------------

で、中身に関してですが、これが結構面白い。
-----------------------
・探索行動
・回避行動
・介入行動
・徘徊行動
・逃避行動
・追跡行動
・整列行動

-----------------------
↑このような行動をさせるにはどうすればいいのか?
というのが、色々と載ってます。

「上記の様な行動っていつ役に立つの?」と思うかもしれませんが、
スポーツゲームなら大抵 使うんじゃないでしょうか。

サッカーゲームであれば、こんな感じになると思います。
-----------------------------------------------
・ボールを持った相手を追いかける ⇒ 追跡行動
・ボールのパスをカットする ⇒ 介入行動
・相手にぶつかりそうな場合、避ける ⇒ 回避行動
・試合前後の挨拶 ⇒ 整列行動
・相手が居ないルートで、ゴールを目指す ⇒ 探索行動

-----------------------------------------------
スポーツゲームって、チーム全員をプレイヤー1人が一度に動かせない以上、
AIが重要になってくると思うんですよね。
(スポーツゲームの制作って、結構ハードかもしれない

うん、AIって重要ですね。
AIがしっかりしてないと、ザラキを連発する意味不明の仲間が誕生する事になったりします。


最後に、この本の難易度についてですが、 高めだと思います。
いきなり、
StateパターンやSingletonパターン"set"や"map"などのSTLC++のテンプレート機能
が使われてたりします。

なので、
--------------------
・C++
・デザインパターン
・STL

--------------------
この3つを学習してから読むのが良いかと。


・・・そういえば以前、この本を読んだ事があるのですが
その時はC++すらやってなかったので そっと本棚に戻した記憶があります。
(理解できなかった)

幸い、今は上記の3つを学習済みなので
物凄く書いてある事が分かりました。
学習する順番って重要ですね。

分からない事があったら、無理に先へ進まずに
1段階レベルの低いところから知識を固めていった方がいいかもしれない。 (`・ω・´)+

テーマ : 日記 - ジャンル : 日記

ジャンプ08号感想

●ワンピース
ガープさんが、意外とアッサリと倒されてしまいました。
やはり、孫に敵として本気で向かう事は出来なかったようです。

で、一方センゴクさんは 仏になりました。
(なにこれこわい)

いや、何というか、 ひたすら殴る仏ってどうなんでしょうか。
もう全然 仏じゃないですよ。 です。

それと、ついにエース救出です。
やっとの事で、救出に成功しました。 後は、これから海軍にどう対処するかですね!


●ハンターハンター
パームが何か凄い事になってる。

髪の毛が全身に巻きついてモンジャラみたいになってる。

【参考画像】
モンジャラ
↑モンジャラ

更に髪の毛がドレスみたいになっていたのですが、
そのドレス姿を見て、何故かは分かりませんが ラムダデルタ卿が思い浮かびました。

【参考画像】
ramuda.jpg
↑ラムダデルタ卿


で、パームさんは現在
「ゴンの居場所を教えるの?教えないの?死ぬの?
とか、言いながら乱舞してます。

ゴンの居場所が分からない、という事は「千里眼」は持っていないんでしょうね。 多分。

とりあえずパームさんはかなり強いみたいなので、
ここは偽の居場所を教えたほうがいいのではないでしょうか。

キルアが「ゴンは火星へ行ったよ」とか言えば、そのまま火星へ飛んでいってくれそうな気がする。
(教えても殺害されるかも?)


●ブリーチ
日番谷隊長がなんと斬り込みにかかりました。

しかし、彼は かませ犬みたいな扱いを受けたりするので心配です。

目を放して、もう一度 見返したときには
いつの間にか痛手を負って地面へ落下する最中だったみたいな、
そんな日番谷隊長の姿が頭に浮かんでしょうがない。

おまけに卍回してしまいましたし。
(最初に奥の手を出したら、極めて返り討ちに合いやすいです)

・・・というか、以前も『大紅蓮氷輪丸!!』と、叫んだ直後にやられてませんでしたか?
来週、既に日番谷隊長が地面に倒れてたらどうしよう。


●賢い犬 リリエンタール

あぁぁああぁああああーーっ!
ごむぞう があぁあぁぁぁあぁーーッ!
うわぁぁああああーー!(´;ω;`)



 ┏━┓
 ┃ご┃
 ┃む┃  彼は 今まで てつこ達を 守り続けてくれました。
 ┃ぞ┃
 ┃う┃
┏┻━┻┓
┻━━━┻

他の漫画でもよくキャラクターがやられたりしますが、
これほどショッキングな出来事はない・・・!!

あ、思い出した!
この世界が終われば全て元に戻る、という事を!

リリエンタール頑張って。
最後はまた光ってましたが、これはリリエンタール自身の気持ちに対して 発動したのでしょう。

ピッピの指をふるパルプンテインプルス並みに何が起こるか分かりませんが、
とにかく、てつこ達を救う何かが起こって欲しい。


●べるぜバブ
ちょっと待ってください おかしいですよコレ。
作者ヤケクソになってませんか。

"よっしゃあああッッ THE ENDォオオオ!!"事件 を猛烈に思い出すのですが。)

もしかすると、今後の展開に詰まっているのでは?
な、なんか心配です。

テーマ : 週刊少年ジャンプ全般 - ジャンル : アニメ・コミック

定期演奏会終了! そして・・・

昨日、定期演奏会が無事に終了しました!

※昨日は帰って来たら23時過ぎだったので普通に記事を更新できませんでした。
  ___ 
 [・-・]>  ドウモスミマセン
 |[_]  
  _| |_



お客さんの方は1500人~2000人ぐらいいらっしゃってたと思います。
凄かった!

(全体的な)演奏の方は、 何回か小さなミスが発生したりもありましたが、
大惨事は起こらなかったので充分OKです。


あと、本番が終わった後は サークルの卒業式が行われました。
※花束が渡され、その後 差し入れBOXのお菓子を食べたりします。

【差し入れBOX】・・・自分の定期演奏会では、会場にダンボール箱が設置されており
"出演者に差し入れがある方はこの中に入れてください"みたいな感じになっている。

差し入れについてですが、
去年 卒業された先輩から「4年間お疲れ様♪」というメッセージと共に
差し入れが届いてました。  (有り難うございます!)

それとは反対に、「自分あての差し入れが無いよー」嘆いている後輩も居ました。

この差し入れシステムって、知り合いとかがいないと差し入れが来ないので
ある種 残酷なシステムだったりするんですよね。

なので、 来年は自分が差し入れ持ってくるよ!と約束しました。

---------------------------------------------------------------------------
あと関係ないですが、サークルを諸事情で辞めた人あて の差し入れがあったりして
困ることもあったりします。   (もう居ないよ! みたいな)
---------------------------------------------------------------------------


まぁ色々とありましたが、自分はサークルを卒業しました。
そして、早速プログラミング作業を再開!

卒業研究も同時進行でやってますが、サッと卒業研究は終わらせたいと思います。
(先生から、「この予稿は 文章が少ない!説明がちょっとおかしい!あとここの~(略」 
                       と指摘されてなかなかOKがもらえなかったりする)

※自分は、小論文や作文などの 文章の展開や意見を纏めたりするのはニガテなのです。

テーマ : 日記 - ジャンル : 日記

明日は定期演奏会 本番!

明日は 定期演奏会本番です!
目標はノーミスクリア。 頑張るぞ!
(本番は、照明が落とされて楽譜見えない!⇒ミス発生とかあったりするんですよ。
                    まぁ 今回はある程度 暗譜 出来てるから大丈夫かなと・・・!)


あと、関係ないですが、ちょっと練習部屋の隅っこの方に
マジックペンや紙が置いてありました。

こ、これは・・・高確率で サイン色紙に寄せ書きをする為 のもの・・・!
(4年生の先輩が卒業する際に、プレゼントとして渡したりする)

なので、あえて このペン類が何を意味するのかは尋ねたりしませんでした。
※見なかった事にしたよ


そうかー卒業かー。
「もう練習をする事は無いんだなぁ」と 思うと 何だかしみじみとします。

ゲーム制作だけでなく、
「練習の方にも時間を割いてたら更に上手くなってたんだろうなー」とも思ったり。
(練習後はすぐ帰ってプログラミング作業でした。)

まぁ趣味でコントラバス上手くなってやろうかとか思ってたりします。
※今まで楽器をやってきたので、止めるのは勿体ない みたいな気持ちが出来てる。

自分は卒業ですが、
後輩のみんなは頑張れ~!(`・ω・´)+

よし、今日は早めに寝ます!

テーマ : 日記 - ジャンル : 日記

こんな本を 購入しました

アルバイトの給料で、いっぱい本を買いました。
ホントにいっぱいです。

------------------------------------------------------------------------------------
関係無いのですが、
自分はアルバイト以外に「ホニャララダンジョン」「ニフニフタウン」といった
お小遣いサイトでも ちょろちょろ換金してます。

で、最近これらのお小遣いサイトは
着うたをダウンロードしてくれたら175ポイントあげるよ!」みたいな形式が増えてるなーと思う。
うん、まぁ それだけなんですけども。
------------------------------------------------------------------------------------


とりあえず、その給料などを奮発して買った本がこちら。


【1】ゲームプログラミングのためのリアルタイム衝突判定
Book1.jpg
3Dモデルの衝突判定など本当に詳しく載ってます。
「衝突判定の事なら任せろ!」と言わんばかりの素晴らしい内容です。



【2】C++テンプレートテクニック
Book2.jpg
C++のテンプレート機能に絞った参考書です。
自分は、テンプレートをそれほど使えていないので、
「テンプレートを使いこなし、より良いコードを書ける様になろう」と思い、購入しました。


【3】アクションゲーム アルゴリズムマニアックス
Book3.jpg
アクションゲームのジャンプ、ダッシュなど、
さまざまな動きを実装するための考え方やコードが載ってます。
自分はアクションゲームを作ろうとしているので、「色々と役立つかな?」と思い、買いました。


【4】C++ プライマー 第4版
Book4.jpg
約1000ページという驚愕の分厚さを誇る1冊。
厚さもさることながら、中身も素晴らしいです。
基本的な事項の確認から、オブジェクト指向、テンプレート機能といった、
基礎から一歩進んだ内容も記述されてます。


【5】ローポリ スーパーテクニック
Book5.jpg
プログラム関連の本ではありません。
メタセコイアを使ったモデリングに関する本です。
自分が適当に作った、 変な棒人間とは天と地ほどの差の素晴らしいモデルが、
この本の中に存在していました。



・・・一杯買ったと思っていましたが、まとめてみると全部で5冊ですね。
まぁ、それほど多くはなかったですが、とりあえず上記の本を買いました。

他にも良さげな本があったら、購入&紹介したいと思います(`・ω・´)+

テーマ : 日記 - ジャンル : 日記

TRICK映画化!

どうやら"TRICK"(トリック)が3度目の映画化になるようです。

"TRICK"シリーズは結構好きなので、
内容に期待しています。

"ライアーゲーム"みたいに、「おおー!」と納得というか、
予想外の展開!みたいな驚きがあるといいなーと思ってます。

-----------------------------------------------------------------------------
話がそれますが、先日 ライアーゲームの最終回を見ました。

"ゴールドラッシュゲーム"というゲームが行われていたのですが、ルール自体がちょっと複雑なのと、
裏であれこれ取引だの裏切りだのをやっていたので、理解するのに時間がかかりました。
(多分、何回か見直さないと完全に把握できない)
でも、面白かったですよ。

で、こちらの方も映画があり、2010年 3月6日に公開との事。
ナオさんと秋山さんと、某キノコさんの活躍が楽しみです。
-----------------------------------------------------------------------------


で、話を"TRICK"に戻しますが、

こちらは2010年 5月8日に公開らしいです。
【参考URL】祝!十周年 トリック大感謝祭 ※音が出ます


今の所、個人的な劇場版ランキングは
------------------------------------
1位:トリック劇場版
2位:トリック劇場版2

------------------------------------
です。

2作目は、何というかギャグに走ってしまったような気がしました。
それと、TRICK要素を もうちょっと欲しかったかも。
(手品、仕掛け 等)

3作目は、更に面白くなる事を期待してます!

あと、テーマソング(?)の "Mystic Antique"という曲、良い曲ですね。
不思議な雰囲気が漂ってます。
【参考URL】Mystic Antique (J研)

テーマ : 日記 - ジャンル : 日記

ネイティブアメリカン VS 自分 ⇒ 玉砕

卒業研究とサークル活動が、最後の追い込みの時期になってきたので、
プログラミング作業が進みません。

よって日記です。
(プログラム関連の記事が書けない)


で、以前ちょろっと述べたように サークル活動(吹奏楽団)で、
アメリカから素晴らしい演奏家 (プロ)の方が来日され、
現在 一緒に演奏したり指導して下さったりしてます。

もちろん英語で喋ってらっしゃるので、
「よし、英語で喋って英会話してみるぞ!(`・ω・´)」
と思ったんですよ。

※自分は、 英検2級、準1級の問題が大体 解ける、ぐらいの英語力。



【結果】
見事に失敗。

うん、まず英語が聞き取れない。
もうホントに何を言っているのかよく分からない。 勘弁して下さい。
ネイティブは別次元でした。


英検の準2級あたりの問題などは、
「あえて聞き取りやすいように、わざわざ ゆっくり、ハッキリ喋っているんだな」
と感じられるくらい、 ネイティブは聞き取り不能。
(かろうじて、一部の単語は聞こえる)

しかし、先生は普通に聞き取って通訳している。
何という能力・・・! 信じられん!

※先生は数年間 留学して英語を体得したようです。留学は 能力向上にいいのかもしれない。


とりあえず、
「S,Sorry, Please speak more slowly・・・!」とか 懇願しながら会話しました。

でも!
以前よりは 話す・聞く が出来るようになってます!確実に。

このまま修行を続ければ、英会話において光が見えてくるような気がする。

継続は力なり、という奴です。
結構、継続せずに 学習⇒忘却⇒学習⇒忘却 を繰り返している人は多いんじゃないかと思う。
(英語のスキルが停滞して伸びない)

テーマ : 日記 - ジャンル : 日記

「僕」、「俺」、「私」・・・?  否!!

一人称のお話。

自分は、中学1年生ぐらいまで「僕」という一人称を使っておりました。

------------------------------------------------
「僕のランドセルの中にあるかも」
「僕が通信ケーブル持ってくるよ」

------------------------------------------------
まぁこんな感じで。


しかし、中学1年生の頃だったでしょうか。
クラスの女子がこんな事を言っておりました。↓
--------------------------------------------
「一人称が『僕』の男の人って ちょっと・・・」
--------------------------------------------

こういう会話が聞こえました。

うん、
その日から "僕"という単語は封印しました。
(何とも 分かりやすい対応)

そして、今でも使ってないです。


他人に良い印象を与えないという可能性があるのならば、
余程 理不尽な要求で無い限り 行動を改めますよ自分は。


で、その後は困りましたね。
新しい一人称はどうしようかと。

とりあえず最初の頃は一人称抜きをやってました。
やり方は単純、 一人称を省略する方法。
-----------------------------------------------------------------
「僕の鉛筆知らない?」 ⇒ 「あれっ鉛筆知らない?」
「僕が代わりにやっておくよ」 ⇒ 「あっ、じゃあ代わりにやっておくよ」
「僕は持って無いよ」 ⇒ 「いや、持って無いよ」

-----------------------------------------------------------------

で、その後 色々と一人称を考えてみました。

---------------------------------------------------------------------------------
俺・・・カッコ付けているように感じる。以前 一人称が「僕」だった人間なら尚更・・・!
私・・・女の子っぽい。 違和感無く使えるのはビジネスの時ぐらいかも。
拙者・・・これは正直無い。
わし・・・まるで おじいちゃんのようだ。
<名前>・・・この方法を使うのは主に女性が多いかも。

※●●ゆう子 という名前であれば 「ゆう子、トイレに行って来る!」みたいな。
おら・・・野原しんのすけ が頭に浮かんでしょうがない。
---------------------------------------------------------------------------------

で、最終的に決まったのが、
『自分』。


「自分」・・・! これは素晴らしい!
特にクセのある印象も無く、実に良い!

「自分」という便利な単語があってよかった。


そういうわけで、現在 自分は、「自分」という一人称を使うに至るのでした。



~おまけ~
挨拶について。

挨拶は通常、下記の様になります。
-------------------------------
朝:おはよう
昼:こんにちは
夜:こんばんは

-------------------------------

で、友達と会う際、「おはよう」は「おはよう」のままでいいんですよ。
(「あっ、おはよ~!」みたいな。)

昼と夜が問題。
何故かと言うと、「こんにちは」「こんばんは」だと
余所余所しい感じが出るんですよね。

なので、自分は代わりに「やっほ~!」を使うようにしてます。
「こんにちは」と「こんばんは」は存在しません。「やっほー!」で充分です。
-------------------------------
朝:おはよう
昼:やっほー!
夜:やっほー!

-------------------------------

テーマ : 日記 - ジャンル : 日記

ジャンプ07号感想

●ワンピース
「大量のクマさんが居たら、白ひげ側は もう太刀打ち出来ないのでは?
と思っていたのですが、 ハンコックさんが片っ端から粉々にしてくれてるようです。

もうパシフィスタ全部 壊れてしまえばいい。
(ハンコックさん頑張って)


そして、その後ついにバルタン星人みたいな
チョキチョキの実のイナズマさんが復活します。

思ったのですが、彼(彼女?)はいつもワイングラスを持ってますね。
なんで?
(ワインが無いと生きていけないのかもしれない)

それはともかく、イナズマさんは
ルフィの為に エースまでの道を作ってくれました。

ですが、問題はここからですね。
エースを迎えに行く途中で、 何処からともなくルフィのおじいちゃんが発射されてきました。
ええ それはもう物凄いスピードで。

普通なら頭を打って即死するところですが、
ダメージを受けないどころか、エースまでの道を粉砕してます。

強すぎです。どんな石頭なのでしょうか。
さぁ、ルフィはどうする・・・!?


●バクマン
※今まで ご声援有り難うございました
 中井先生の 農作業に ご期待ください。


●ぬらりひょんの孫
ん・・・?
どうやら様子がおかしい。
淡島さんは変な空間に迷い込んでしまったようです。

とりあえず、
なんか最後に 千手観音みたいなの が出てきたんですけど、
一体 何なんでしょうかアレは。

おまけにギチギチいってて、動きづらそうです。
腕の関節に油をさした方がいいですよ。

あと、柱から覗き見(?)しているというシチュエーションから、
この怖い画像を思い出しました。↓
怖い画像

このままだと何が怖いのか分からないと思いますので、
怖いのが平気な方 は
下記のURLをクリックし、その後トリプルクリックしてみて下さい。
(もしくはctrl + A)

【参考URL】 かりんのひとりごと 補足ページ
※上記の画像の、元のサイズVerが表示されます。
そしてクリックを素早く3回ほど繰り返すと・・・。


●賢い犬リリエンタール
あんこくまじんが消えてくれません。

何故か?

考えられる理由を3つ書いてみる。
---------------------------------------------------------------------------
【1】気絶させるのは無効。 本人の気持ちを解消させなければならない。
【2】あんこくまじんを呼んだのは てつこ。
【3】あんこくまじんを消滅させるには、まだ別の条件が必要。

---------------------------------------------------------------------------
このどれかでしょう。
自分は、【2】の可能性が高いかなーと思ってます。

何故かと言うと、確かに うさみさんが「てつこ さえ居なければ・・・!」
と思った時にあんこくまじんが出現したのですが、

この出現した時というのは、てつこが「さいあく・・・来るんじゃなかった」
心の悩みを抱えた時でもあるんですよね。

このてつこの心の悩みが原因なんじゃないかと。
うさみさんだけでなく、てつこの心の悩みにも触れられていたので この可能性はあると思います。

※例の幼虫 捕食事件です。


恐らく てつこは幼虫 捕食事件によって、
---------------------------------------------------------------------------
【1】クラスメイト及び、 仲の良かった うさみさんにまで引かれる
【2】当然、孤立。
【3】周囲から"変"だと思われ、拒絶されて孤立することに耐えられなくなる。
【4】ついに登校不可能に。

---------------------------------------------------------------------------
このような、経過を辿ったのだと思われます。

今まで親しくしてきた友達がみんないなくなってしまった という事が
てつこの中で最凶のトラウマになっているのでしょう。
"変"と言われるだけで 深く傷ついてしまうほどに。

※てつこの回想(?)シーンを見る限り、
かつて てつこ と うさみ は とても仲の良い関係だった事が伺えます。
(うさみさん を殴る事を拒んだ時に出てたコマ)


あ・あれ、何か重たい話になってきた。
いつもの ほのぼの展開(ハッピーエンド)にする為には、下記の様にするしかないかと・・・!
----------------------------------------
  てつこのトラウマ解消
⇒ うさみさん と仲直り
⇒ てつこの千秋化も元に戻る

----------------------------------------
※ 千秋化 ・・・目が南 千秋みたいになること。

【参考画像】
BecomeTiaki.jpg


●いぬまるだしっ
ファッションネタの所なんですが、
ズボンではなくパンツというのですか?

もう、何というか自分は全面的に たまこ先生と同じでした。
インナー、アウターとは言わない・・・!

ベスト?も チョッキと言います。
防弾チョッキ とか言うじゃないですか。

あとレギンスだかサハギンだか知りませんが、そのカタカナ4文字の単語も使ったと無いです
ファッションは難しい・・・!


●ねこわっぱ!
「快適でおじゃる~」

いやいやいや!
慈英呂無の股間にもぐりこんで快適も何もあったものじゃないでしょう。
もう何ですかそれ 新しいギャクか何かですか。

何というか、この作品はホントに面白いキャラクターが居るなぁと思います。
(結構みんなキャラが立ってる)

テーマ : 週刊少年ジャンプ全般 - ジャンル : アニメ・コミック

帰って来ました(・・)+

帰って来ました(`・ω・´)+

サークルの合宿へ行き、
そして 演奏をしてきたんですけども、 本番でちょくちょくミスってしまいました。 (´・ω・`)

目がそれほど良くないのに、メガネ等を使わないもんだから
楽譜がよく見えなかったのです。

その為、うろ覚えの記憶で弾いてる状態になり、ボーイングなどを間違いました
※ボーイング・・・ 簡単に言うと、弦楽器における 弓の動かし方。


涙目法により、「なんとかなるかなー」と思ってましたが、何とかなりませんでした。
(演奏が始まったら、譜面台をガタガタ動かしたりするのはアレですし、
      身を乗り出して楽譜を凝視してたら それはそれで見苦しいですし。)


ついでに解説。
-----------------------------------------------------------------------------
【涙目法】
涙によって光の屈折率を変え、無理矢理 ピントを合わせる技術。
まばたきをしたり、涙が蒸発すると 元の視力に戻る。
自分が独自に編み出した、一時的な視力回復法なのである。

-----------------------------------------------------------------------------
※他の人がコレを使っているのかは知らない。 とりあえず自分は時々使っている。


1週間後には 定期演奏会があるので、
今度は暗譜して望もうと思います。

これなら、楽譜をめくる時に 誤って楽譜を地面に落下させることもない。
全てにおいて 安心かつ唯一の方法。

うん、頑張ろう。


----------------------------
----------------------------
そして、これからの事。

卒業研究の資料などを作らないといけないので、
ちょっと卒業研究を優先的に終わらせたいと思います。
(説明資料を作る際の 文章の形式見たいなのがあるので、
          過去の卒業制作の資料を見ながら それをマネしなければならない。)

全体的な卒業までの流れは
----------------------------------------------
1.卒業研究 & ゲーム制作
2.ゲーム制作終了 企業に提出
3.内定
4.卒業

----------------------------------------------
大体 こんな感じを予定。
うん、物凄く2.と3.が厳しいと思うんだ。

まぁ、懸念ばかりしてもダメなので、開発作業に戻りたいと思います!

テーマ : 日記 - ジャンル : 日記

お知らせ

明日からサークルの合宿に行ってきます。

招待演奏と、ニューイヤーコンサートを行う予定。
(本番が一気に2つやってきます。 大変です。

おまけに来週は 自分達の定期演奏会

日程 詰まり過ぎ。
まぁ、これらの本番を成功させれば サークルは卒業です。

で、どうでもいいのですが、気がかりな事がひとつ。

定期演奏会が終わった後は、サークルの卒業式的な宴会があるのですが、
そこで 「4年生からの後輩へのメッセージを!」みたいなイベントがあるんですよ。

うん、上手く言える自信が無い(´・ω・`)
特に自分の前の人が、 素晴らしきスピーチをしてたらプレッシャーがかかります。
(一人ずつ順番が回ってくる)

止めて下さい 素晴らしいスピーチをするのは・・・!

まぁ、こんな事を言ってても仕方が無いので、大まかな文章だけでも考えておこう。

そして、次回の更新は1月17日(日)です。

テーマ : 日記 - ジャンル : 日記

スキンメッシュアニメーションを進化させる・・・!

さて、プログラミングのお話です。

現在スキンメッシュアニメーションを実行させる段階まで出来ました。

しかし、ゲームを作るとなると アニメーションをしただけではダメです。
ひとつ決定的に欠けているものがあります。

それは・・・衝突判定。


格闘ゲームであれば「パンチが当たった」などを判定できなければ、
いくらキャラクターが動いても無意味なのです。

そう、衝突判定を実装せねばならない・・・!


さて、どうしよう。

とりあえず、境界球が一番やりやすそうなので、コレで行こうと思います。

※当たり判定には、境界球、AABB(軸並行境界ボックス)、OBB(有向境界ボックス)など、
いくつかの種類がある。

境界球は、モデルを回転させたりしても特に問題ないので、便利です。
(ただ、細長い3Dモデルだとデッドゾーンが多くなるのが欠点)


そして、当たり判定のやり方は こんな感じです。↓
------------------------------------------------------------------------------
【1】3Dモデルをすっぽりと包む球を定義する
【2】モデルAとBを用意する
【3】AB間の距離 <= (Aの境界球の半径 + Bの境界球の半径) なら接触

------------------------------------------------------------------------------
CheckHit.jpg

で、人型のモデルなどは大抵 綺麗に球に収まらないので
-----------------------------------------------
【1】大まかな球で接触する
【2】細かい球で更に衝突判定をする

-----------------------------------------------
という、2段階方式を取ろうと思います。
CheckHit2.jpg
(絵は適当ですので、若干のすき間などは無視してください)


とりあえず球を生成する処理を作らないとどうしようもないので、
まずは それからつくろうと思います。
(DirectXのヘルパー関数群にあったような気がしますが、自分で実装します)

--------------------------------------------------------------
頂点(球の中心)、半径球のポリゴン数(滑らかさ)
--------------------------------------------------------------
大体、この3つの情報を渡せば勝手に作ってくれる感じにしようかと。


あと、当たり判定のほかに、
もうひとつ追加させようと思ってる新機能があります。

今はなんとなく秘密です。
(上手く完成したときに発表しようと思ってる)

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

"ICO" (ゲ-ム)

"ICO"っていいですよね。
ゲーム全体から出る何ともいえない雰囲気が。

ゲームの内容は、
少年と少女が手を繋いでなんか凄いお城を駆け回って脱出するというもの。
※ちゃんと逃げないと 死んでしまいます。


ついでに、販売されたのは2001年。
自分が中学1年生の頃です。

で、現在は、GPL違反とか なんか複雑な問題が発生したあと
生産停止、廃盤になっているとの事。
(入手困難らしい)


当時は、ゲーム自体 以外に曲の方も気に入っていて、
よくBGMを聞く為にICOのホームページを閲覧してました。

【参考URL】ICO この人の手を離さない。僕の魂ごと離してしまう気がするから。
(音楽が流れます。)

ただ、流れる音楽は途中まで。
しかも、壁紙スクリーンセーバーはダウンロードできるのに、
音楽はダウンロードするページが用意されてなかったんですよね。


「どうして音楽が無いんだ!」勝手に憤慨していたのですが、
海外版のホームページで普通にダウンロード出来る事を知り、感動した覚えがあります。

【参考URL】ICO -Video- (海外版HP)
※日本版のホームページで流れてるのは3番目のMP3ファイルです。


まぁ、ともかく自分はICOが好きです。

テーマ : 日記 - ジャンル : 日記

DXライブラリ方式にしようと思う

シングルトンパターンで、
リソースマネージャークラス(テクスチャ等を一括管理する)を構築していたのですが、

ちょっとコレをDXライブラリ方式にしようと思います。


DXライブラリ方式とは、DXライブラリみたいなやり方という意味です。
(まんまですね)


具体的に言うと、
今はリソース管理クラスからリソースへのポインタを貰う形式になってます。
【参考画像】
ManagerClass.jpg


しかし、コレは不便でした。

何でかと言うと、画像を表示しようと思ったら
利用するクラスは"LPDIRECT3DTEXTURE9"という型を知っていないといけないですし、
SetTexture関数を呼び出す際には、"LPDIRECT3DDEVICE9"型の変数で
Device->SetTexture(0,mTexture); みたいにしないといけません。

自分は、わざわざ各クラスに デバイスを取得する関数を作って
いちいちデバイスを取得してました。
(画像を描画する処理などがある クラス全部。)

今思えば、何でこんな面倒くさい仕様にしたのか意味不明。

よって、int型のハンドルを受け取って、
描画する時は、ハンドルを渡して描画させる という方式に変更予定です。
-------------------------------------------------------------------------
handle = LoadGraph( "Tiger.bmp" ) ;
DrawGraph( 0 , 0 , handle , FALSE ) ;

-------------------------------------------------------------------------
こうすれば、各リソースの変な型を知る必要は無いので便利です!
(ポインタとかも隠蔽できますし)


あと、関係ないですが、DXライブラリは
いつまにか3D関連の事も出来るようになってますね。
2Dぐらいしか出来ないと思ってましたが、何か進化してました。

※ただ、いくつか不具合などは あるっぽいです

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

いや、それは自分でやって下さい

最近は、 緊急性の低い110番 通報があったりしているそうですね。


例えば、
-----------------------------------------------------
運転免許の更新の仕方が分かりません。教えてください。
-----------------------------------------------------

・・・!?

・・・・

ググレ=カス
ググレカス [ Gugurecus ]
( 生没年未詳 )          ※ニコニコ大百科より。


---------------------------------------
新しく買った携帯電話の電源が入らない
---------------------------------------
これは110番ではなく、購入した店や カスタマーセンターに聞くべきではないかと。


-------------------------------------------
ゴキブリが家の中に出てきて、気持ちが悪い
-------------------------------------------
警察が現場に言ってみると、若いカップルがブルブル震えてたとの事。

いや、男は一体何をしている。
そこは、怯えるのではなく 駆除するのが適切ではないかと。

ゴキブリが何十匹もいたら精神的に来るのも分かるのですが、
1匹に怯えちゃダメだ。

自分が子供の頃は、ゴキブリが出たら「ヨッシャァー!」とか言いながら
新聞紙で こん棒 作ってましたよ。

あと、風呂場に出現した場合は 熱湯をかけてやれば倒せます。
奴等は、打撃には強いが熱には弱いのです。


んー
自分で出来そうな事は、自分でやる習慣を付けておかないと、
問題を自分で解決出来なくなるのかも。


――あなたは、自分で出来ることは自分で解決させようとしてますか?

  面倒な事は、全て他人に任せてしまってはいませんか?

  そのまま放っておくと・・・


TAKESHI.jpg

テーマ : 日記 - ジャンル : 日記

"縮退三角形"を使ってみた

【リンク】 ◆解説系TOP◆

現在 3Dモデルを作ってボーンを入れたりとか、
本来ならばプログラマーの仕事じゃない事をやっている訳ですが、

そればっかりやるのもアレなので、
今日は ちょっと縮退三角形を使ったプログラムを書いてみました。


で、「縮退三角形って何?」と感じると思うのですが、
それを説明するには、まずDirectXでの描画方法を確認する必要があります。


まず、DirectXでポリゴンを描画する場合
自分は9割方D3DPT_TRIANGLESTRIPというプリミティブタイプを用いてます。

これは、頂点をジグザグに定義したら、
その頂点を帯状に結んで出来る部分がポリゴンになるという方式です。


【参考画像】
Strip.jpg

で、ジグザグに定義していかないといけないので、
ポリゴンの頂点は一筆書きみたいになります。

これはどういうことかと言うと、
離れた場所にあるポリゴンは同時に描画できない
という事になります。

【参考画像】
ThreePolygon.jpg
普通に描画しようとしたら、3回に分けて描画しないといけません。

↓プログラムだとこんな感じ。
pD3Ddevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,2,BluePolygon,sizeof(TEST));
pD3Ddevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,2,RedPolygon,sizeof(TEST));
pD3Ddevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,2,GreenPolygon,sizeof(TEST));

※Blue、Red、GreenPolygonというのは、それぞれTEST型の構造体の配列(要素4)です。

しかし、実は上記のような離れたポリゴンでも
1度に描画出来る方法があるのです。

それを可能にするのが"縮退三角形"という訳です。


で、ここからは縮退三角形の説明。
頂点を3つ定義すると、普通は三角形が出来ますよね。

しかし、三角形にならない場合があります。
それは、3つの頂点が任意の直線状に並ぶ時です。

【参考画像】
縮退三角形

で、DirectXの方に嫌がらせ
「一直線上に並ぶ3点を描画するように指定するとどうなるか?」というと・・・


描画してくれなくなります。

そう、描画されない。
描画しようが無いのですから。


そして、
上記では3つの頂点が異なる位置にありましたが、
2つの頂点が全く同じ場所に重なる三角形縮退三角形と言います。


で、この描画されない部分でポリゴンを上手くつないでしまえば
見かけ上は離れた場所にあるポリゴンが、
1回で描画出来る様になります。


【参考画像】
縮退三角形2

で、縮退三角形の作り方ですが、これは簡単。
2つのポリゴンを合体させたい場合は、
前者の最後の頂点と、後者の最初の頂点を重複させるだけです。

上記の水色の三角形の場合は、
------------------------------------------------------------------------
ポリゴンA (左側)
左上の頂点
右上の頂点
左下の頂点


ポリゴンB (右側)

左上の頂点
右上の頂点
左下の頂点



合体ポリゴンAB
左上の頂点
右上の頂点
左下の頂点
左下の頂点
左上の頂点
左上の頂点
右上の頂点
左下の頂点

------------------------------------------------------------------------
このようにすればOKです。


プログラムだと、こうなります。 (定義と、描画の部分のみ抜粋)
TEST tP[8] = { {-8, 8,0,0,0,-1,0xffff0000},
{ 8, 8,0,0,0,-1,0xff00ff00},
{-8,-8,0,0,0,-1,0xff0000ff},
{-8,-8,0,0,0,-1,0xff0000ff},
{ 24,8,0,0,0,-1,0xffff0000},
{ 24,8,0,0,0,-1,0xffff0000},
{ 40, 8,0,0,0,-1,0xff00ff00},
{ 24, -8,0,0,0,-1,0xff0000ff},
};

pD3Ddevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,6,tP,sizeof(TEST));

※縮退三角形も三角形の数に含みます。
 その為、三角形の数は2ではなく6と指定しています。

で、「何で4つも増えるの?」と思う方は
下記の画像を見てもらえば分かると思います。
縮退三角形



それと、何で縮退三角形のプログラムを試してみたかと言うと、
何か処理速度が速くなるらしいんですよ。

(確かに三角形を何百回、何千回と表示する作業を繰り返すより、
一回でポンと全部表示した方が速そうな気がする)


どのくらい速くなるのかは分かりませんが、
とりあえず複雑な3Dモデルで試してみて、速くなるようなら

縮退三角形を使う描画方法に切り替えてみようかなー とか思ってます(`・ω・´)

テーマ : ゲーム - ジャンル : ゲーム

朝の 悲劇

今日の朝食での出来事。


TKG.jpg

※とても水分の無い
         卵かけ御飯になりました。



何ということだ・・・!

3秒ルールとかいうのもありますが、
生卵理科の実験で作ったスライムなんかは落ちた時点でアウトです。


これは、金銭的というより 精神的なダメージの方が大きい。

くそっ・・・!
自分が 「卵をかけるときは、中央付近をへこませておくんだよ」という
おばぁちゃんの言いつけを守っていればこんな事には・・・!

勿体ない事をしてしまった(´・ω・`)

大体、 白身は一部がこぼれると全部こぼれようとするからいけないのですよ。

※卵をかける際には気をつけましょう。

テーマ : 日記 - ジャンル : 日記

就職支援サイトから・・・!

就活支援サイトからメールが届きました。

※大体 こんな感じ↓
-----------------------------------------------------------
もう少しで社会人になる○○さんへ

↓メッセージが届いています
//URLが記載//

春からは新社会人! みんな~//以下略

-----------------------------------------------------------
いやいや ちょっと待ってください。
自分はまだ決まってないのですよ(´・ω・`;)

春から働き出すことが前提となっているメールは、
該当する人にのみ送って欲しいのです。

(お、おのれ・・ 就活サイトがプレッシャーをかけてきおったぞ・・・!



あ・あと、ついでに近況今後の事を書こうかなと思う。

まず、現在 卒業研究をしているのですが
卒業研究のメンバーの一人が
「家族会議で、留年する方針が決定した」とか言い出して、
あえて卒業単位を取らない作戦に出ようとしてます。
(最終的にどうするのかは今のところ不明)

もしそうなると、卒業研究発表会の計画を少々修正しないといけなくなるかも。


その次に、就職率。
どの学科も就職率が60% ~ 70%ぐらいになってました。
他の大学はどうなのか不明ですが、案外 就職率が高くなったな、という印象。


それとサークル活動について。
1月中は9割方 休みナシです。 今回の1月の定期演奏会は、海外の
とんでもなく素晴らしいトランペット奏者の方をお招きする
事になっているので、顧問の先生もなんか気合が入っています。

「そんな伴奏じゃ駄目だ!
 ここはTpのソロが雄大にメロディを吹く! この曲の中でも一番お(略」
 みたいな感じ。

※自分は定期演奏会が終われば引退になります。
ついでに、来年の定期演奏会では 客として見に行くついでに
後輩に自作したゲーム作品でも贈ってみようかなとか計画中。

(マトモに見せられるような作品が出来ればの話である。)


で、今後の事。
提出作品に関しては、この前 基本的な物理の処理を実装したので、
キャラクターをモデリングしようと思う。
(メタセコイアの出番です)

プログラマーは、第一にプログラムの能力を見られるので、この際
変な棒人間でもいいでしょう。 とりあえず作ってみよう。


そして最後に就活。
とりあえず、
2月28日まで作品を受け付ける企業があるので
その締め切りに間に合うように提出してみようと思う。

んーどうなる事やら。

まぁでも頑張るしかないですね。
「少しずつでもいいから 前へ進むことが大事」だって、
チビミミナガバンディクートが言ってた。

テーマ : 日記 - ジャンル : 日記

谷口さんと変なアニメ

なんだか 変なアニメを見つけました。
谷口さん という方が、自主的に制作されている 不思議なアニメです。
(俗に"シュール"と呼ばれているジャンルである)

【参考画像】
Anime.jpg


で、個人的になのですが、
独特の絵柄をしているので、多分見る人を選ぶと思います。
とりあえず自分は、意味不明な展開で笑ったりしました。


多分 見ても問題なさそうだ!」と思われる方は、以下から視聴できます。


※ついでに面白かった順です。

【1】「むきだしの光子」 (Youtube)
【2】「荒くれ純一の涙」 (Youtube)
【3】「茂雄はハンサム」 (Youtube)  ※←全体的に音量が大きいので注意!  特に3:25。
【4】「悪いのを倒せ!!サラリーマンマン」 (Youtube)

テーマ : 日記 - ジャンル : 日記

アクションゲームのジャンプ 実装方法

以前、現在製作中のアクションゲームにおいて、
------------------
・重力で落下する
・ジャンプする

------------------
という物理的な動きを実装したので、 その事を書いてみます。
何かの役に立つかな、と思う。)


マリオとかは実際どう計算しているのか分からないのですが、
とりあえず 自分は下記の基本的な公式を使いました。

-------------------------------------------------
v = v0 + at
y = v0 * t + 0.5 * a * t^2

(v0 = 初速、  a = 加速度、  t = 時間、  t^2 = tの二乗)
-------------------------------------------------

で、まず重力加速度が約9.8なので a = -9.8とし、 単位をドット、という事にしました。
(つまり、 約-10ドット = 加速度と定義)


それで 位置を算出してみたんですけども、
マップチップが16×16ドットしか無かったので、物凄くカクカクにしか動かず、
使い物になりませんでした。
(落下するのが速すぎる。)


で、しばらく悩んでいたところ
---------------------------------------------
【1】時間を指定する
【2】時間内にどれくらい移動するかを指定する
【3】時間と、移動量をもとに計算

---------------------------------------------
↑こうしたらいいんじゃない?と思いました。

時間と移動距離を指定し、任意のジャンプをさせる方式であれば、
「アイテムを取った時に、ジャンプが高くなる」という処理も簡単に出来そうですし。


で、実際にやった方法。
-----------------------------------------------------------------
200ミリ秒に 32ドット移動(ジャンプ)させたい場合 を考えます。
-----------------------------------------------------------------

まず、上記の1番目の式を使って 初速を求めます。

0 = v0 + (-9.8 * 200)
0 = v0 - 1960
1960 = v0


はい、初速が1960という事が分かりました。
※速度が0になっているのは、ジャンプした時の最高点(落下し始める寸前)は
速度が0になるからです。



次に2番目の公式を使って割合を求めます。

割合というのは、
例えば 1秒間で10m落下するとします。 高さが10mの場合は、1秒で丁度地面に衝突します。
しかし、ゲームの世界では1mしかないとします。
この場合「相対的に同じ落下運動をさせるにはどうすればいいか?」(1秒で地面衝突)というと、
実際の計算世界とゲームの世界の差の割合を求めて、割合をかければOKなのです。

今回の例では
-------------------------------
実際の計算する世界 = 10m
ゲーム内の世界 = 1m
-------------------------------
なので、1 ÷ 10 = 0.1、つまり0.1をかければ良い事になります。
10m × 0.1 = 1m すなわち、1秒間でちょうど地面に衝突してくれます。

※要するに、距離が10分の1なんだから、落ちるスピードも10分の1にする、という事。


では、割合を求める一部始終をば。

32 = 1960 * 200 + 0.5 * (-9.8) * 200 * 200
32 = 392000 + 20000 * (-9.8)
32 = 392000 - 196000
32 = 196000  //何をかけたら32になるか? を考える
割合 = 32 / 196000
割合 = 0.0001632653061 //大体の値です



これで下準備 終了です。

-<求めた値など まとめ>---------------------------------
初速: 1960
加速度: -9.8
時間: 200(ミリ秒)
高さ: 32ドット
割合: 0.0001632653061

--------------------------------------------------------

これらの値を使って、
0ミリ秒の時   0ドット上昇
200ミリ秒の時  32ドット上昇

となるかやってみましょう!

y = (1960 * 0 + 0.5 * (-9.8) * 0 * 0) * 0.0001632653
y = 0 * 0.0001632653061
y = 0    //OK!

y = (1960 * 200 + 0.5 * (-9.8) * 200 * 200) * 0.0001632653
y = 196000 * 0.0001632653061
y = 31.9999999956    // !


・・・。

うん、誤差があるんだすまない(´・ω・`)

でもfloat型に変換(キャスト)すれば32になります!
(座標の型はfloatなのである。)



で、無事 計算できたからOKなのかというと、実は駄目です。
何故か?

-----------------------------------------
・最高点に達した状態で止まるから。
・基準 + 変化量 という考え方だから。

-----------------------------------------
式を見れば分かるように、最高点に達するまでの軌跡を計算しているに過ぎません。
落下してもとの場所に戻るまでの部分は含まれてない のです。

【参考画像】
Jump2.jpg


「じゃあ2倍した時間まで処理を続ければ いいじゃない」と思うかもしれません。

確かに、2倍した時間、つまり400ミリ秒を代入して計算すれば

y = (1960 * 400 + 0.5 * (-9.8) * 400 * 400) * 0.0001632653
y = (784000 - 784000) * 0.0001632653
y = 0 * 0.0001632653
y = 0


上記の様に 0ドット上昇となり、もとの場所に戻る事が分かります。
でも駄目なのです。
何故か?

まず当たり判定の問題。
------------------------------------------------
上昇中は上にブロックなどが無いか?
下降中は下にブロックなどが無いか?

------------------------------------------------
と処理を分岐しなければならなくなります。面倒ですし、コードが見にくくなります。

もう1つはそもそもの座標の算出方法。
地面をy = 0とすると、
---------------------------------------
現在のy座標 = 0 + 0ドット上昇
現在のy座標 = 0 + 14ドット上昇
現在のy座標 = 0 + 26ドット上昇
現在のy座標 = 0 + 32ドット上昇

---------------------------------------

このように基準の座標 + 差分という算出方法をしているのです。 

例えば、下からの風によって主人公の体が2ドットずつ浮き上がるとします。
--------------------------------------
現在のy座標 += 2ドット
現在のy座標 = 0 + 0ドット上昇

現在のy座標 += 2ドット
現在のy座標 = 0 + 14ドット上昇

現在のy座標 += 2ドット
現在のy座標 = 0 + 26ドット上昇

--------------------------------------
こういう風にした場合どうなるか? というと普通にジャンプしたときと変わりません。
基準の座標 + 差分 を 代入して 上書きしているからです。

更に、地面からジャンプ ⇒地面に着地なら問題ないですが、地面からジャンプ ⇒ 空中の場合は、
空中で止まってしまいます。

突然、舞空術を習得してしまうのです。

【参考画像】
Jump3.jpg


と言うわけで、問題がありすぎという事が分かります。
そこで 自分が出した解決策とは・・・!


<↓以下、昨日の続きです>

解決策です。
まず、 座標を代入するやり方を止めました。

良く考えたら、普通は、現在位置に移動スピードを加算・減算しますね。
その様に変更しました。
----------------------------------
現在の座標 = 基準の座標 + 差分  ×
現在の座標 += 移動スピード     ○

----------------------------------

つまり、前述した物理式の1番目(v = v0 + at)を用いるようにしました。


それともう1つ。
-------------------------------
・重力の計算をする関数
・ジャンプの計算をする関数

-------------------------------
処理を このように2つの関数に分けました。

で、重力は宇宙にでも飛び出したりしない限り常時働きますよね。
なので、下記の様な関数を作り、毎回呼び出すようにしました。

void Gravity(void){
if(地面に接触していなければ){
  落下量 = 滞空している時間 × 加速度(-9.8)
if(落下量によって、主人公が地面にめり込まなければ){
主人公の座標 += 落下量
}else{
地面にめり込むので、地面にめり込まない位置へ修正
}
}
}



で、この関数を作った時に素晴らしい事に気付きました。
ジャンプの処理が簡易化される んです。

ジャンプは物理の公式1番目を用いるのですが、
加速度×時間の部分はGravity関数がやってくれるのでいらないんです。
Needless.jpg

つまりジャンプする処理は特定の時間中、ひたすら初速を足せばいいだけになるんです。

void Jump(void){
if(指定した時間×2 以下であれば){
if(移動場所に障害物がなければ){
主人公の座標 += 初速
}else{
ぶつかったので、障害物にめり込まない場所へ修正。
そして落下速度を0にし、Jump関数も終了する。
}
}
}

※指定した時間 = 最高点に達するまでの時間。
再び地面まで降りるところまで処理させるので、2倍した時間を終了条件にしてます。



つまり、物理の公式を2つの関数に分割すればよかったのです。
公式をそのまま まるごと使おうとしてたから訳の分からん事になってました。   (頭がカタい)
柔軟に考えることが大事ですね(`・ω・´)

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

ジャンプ05・06号感想

●ハンターハンター
わーい連載再開だ! \(`・ω・´)/

ネテロはとても強いのですが、王様は相変わらず無傷ですね。
(少しはダメージを受けているのだろうか?)

ネテロが今のところ圧倒しているというのも気がかりです。

何かほら、あるじゃないですか。
最初に圧倒してると、後から反撃を食らって劣勢になるというパターンが。

--------------------------------------------------------------------
ナルトだと、 「これは・・・幻術!?」 ⇒ 相手の反撃
リボーンだと、 「これは・・・幻覚!?」 ⇒ 主人公達の反撃
ブリーチだと、 「これぐらいで勝った気でいるのか」 ⇒ 相手の反撃
--------------------------------------------------------------------
みたいな。


●リボーン
にゅーにゅー言ってた人がミイラになりました。
それはもう、クロコダイルに敗北した時のルフィみたいに、悲惨な状態。

で、あの訳の分からないゴーストですが、 とりあえず力を吸うみたいですね。
それ以外の正体等は一切不明。

そして、白蘭の方ですが。
なんか背中にキズがありますね。 まるで翼の付け根みたいなキズが。
(前からあったかどうかは覚えてません。 今回 気付きました。)

もしかすると、空から飛んでくるかも。


●トリコ
あぁやっぱり余計な事をしてきましたね。美食會が。

恐らくコレで、あのペンギンの子供は小松について行くことになると思います。
そして、トリコはついに本物のフォークを出す事に成功しました。


●あねどきっ
これは、終わってしまいそうな展開ですね。
そして、やはり桜井さんではなく姉さんを選択するのですね。

やっぱりタイトルが「あねどきっ」なので、姉さんに帰結する、と言う事でしょうか。
某いちご10割の方は、いちごに帰結しなかったというのに!

期待と違う方向に行ってしまうのは何故だ・・・!

そういえば姉さんは、作者が
意図的に意味の分からないキャラクターにしたらしいですね。
(そうすれば、「ふつう」の洸太や桜井さんに感情移入出来るとか何とか。)

しかし、物語の根幹を成すキャラクター意味の分からないものにしてしまっては、
それ即ち漫画全体に共感出来ないことになるのではないか。

許容外の行動は 脇役にやらせるべきだったのではないかと・・・!
(Toらぶるの変態校長みたいに)


●ねこわっぱ!
えぇー!
なんか天下一武道会みたいなのが始まったんですけど。

バトル方向に持って行く気なのか・・・?
主催者も『「身」を鍛えよ!』とか言ってますし。

というかタマは元々人間じゃないですか。
いつの間に神様になってしまったのか。 夜神 月もビックリです。


●スケットダンス
ジュバンニは一晩で壊れました。

テーマ : 週刊少年ジャンプ全般 - ジャンル : アニメ・コミック

変な法律を思い出した

ふと思い出したんですが、アメリカには変な法律があるんですよね。

いくつか書いてみる。
------------------------------------------------------------
いかなる時であっても、
車の後部座席にゴリラを乗せてはいけない

------------------------------------------------------------
(アメリカ・マサチューセッツ州  州法)

まず、後部座席にゴリラが乗っている状況が意味不明・・・!
一体 何が起こったらそんな状況になるのだろうか?

ゴリラが後ろの方でウホウホしてたら、運転に集中できないですよ。
どういう理由で作られたのかが気になります。


----------------------------------------------------
ドーナツの穴を売ってはいけない
----------------------------------------------------
(アメリカ・ネブラスカ州 州法)

ドーナツの穴って、中央の何も無い空間ですよね。
それを一体 どうやって販売できるというのか。

販売しちゃ駄目、と言われても もともと出来ないような気がする。


-------------------------------------
車をバックさせることは違法
-------------------------------------
(アメリカ・アリゾナ州 州法)

なんと、アリゾナ州では バックで引き返せないようです。
道幅が無い行き止まり とかに遭遇したら、車を手で持ち上げて引き返すしかないような。

実に理不尽な法律です。


---------------------------------------------------
プールの中で自転車を漕ぐ事を禁止
---------------------------------------------------
(アメリカ・カリフォルニア州 州法)

プールで自転車を漕いでる人なんて見たことが無いんですけども。
何が楽しくてプールで自転車を漕がなければならないのか。

もう訳が分からない。


世の中には、不可解なルールや規則が存在しているもんだなぁ、と思いました。
他にも色々あるようなので、調べてみると面白いかも。

テーマ : 日記 - ジャンル : 日記

スキンメッシュアニメーションの解説その5 (最終回)

【リンク】 ◆解説系TOP◆

やっと書きます。
スキンメッシュアニメーションの解説 最終回です。

で、今回はスキンメッシュアニメーションが
どういう流れで実装されているかを順番通りに見て行く感じでいきます。

注意:個人的な実装方法なので、定石みたいなものと やり方が違うかもしれません。
     頂点ブレンディングとか使ってないですし。



まず、復習を兼ねて今回使用するXファイルの大まかな説明をします。

【今回使用するXファイル】 ⇒ SkinSample.txt
("RokDeBone2"で制作後、インデントを付ける等 分かりやすいように改変を加えました。)

※適宜 拡張子を.txtから.xに変更してください。


----【Xファイルの簡易説明】----------------------------------------------------------
始めの xof 0303txt 0032 はヘッダと呼ばれるものです。 無視してください。


次の AnimTicksPerSecond というのは、
1秒間に何コマのアニメーションをするか?の指定です。
(今回は1秒間に、60コマと指定。 1秒間に60回 画像が切り替わります。)

ついでに、このAnimTicksPerSecondを削除し、Xファイルビューアで見ると
物凄い高速のアニメーションをします。


その次は、Frameの階層構造が定義されてます。

~ Xファイルの全体像 簡易Ver ~

Frame TheSource {
FrameTransformMatrix { 行列 }
Frame Child {
FrameTransformMatrix { 行列 }
Mesh {
頂点情報
法線情報 (MeshNormals)
テクスチャ座標情報 (MeshTextureCoords)
マテリアル情報 (MeshMaterialList)
頂点重複情報 (VertexDuplicationIndices)
スキニング情報 (XSkinMeshHeader)
SkinWeights { "TheSource" }
SkinWeights { "JointA" }
SkinWeights { "JointB" }
}
}
Frame Root {
FrameTransformMatrix { 行列 }
Frame JointA {
FrameTransformMatrix { 行列 }
Frame JointB {
FrameTransformMatrix { 行列 }
}
}
}
}

Frame TheSource というのが、一番の親の階層になります。

この親の持つ行列を変更すれば、
3Dモデル全体が 回転・平行移動・拡大縮小などをする ことになります。
(親子関係が定義されている場合、親が変更されると子の階層も影響を受けるのです。)

注意!:Xファイルビューアで見る場合親の行列を 平行移動しても変化はありません。
    これは変化していないのではなく、
    Xファイルビューアが自動的に3Dモデルの全体像が見える様にカメラを設定する為
    です。

    (3Dモデルの座標自体はちゃんと変わってます。 同じように表示されたからといって、
    「あれ、平行移動(オフセット)してない?」と誤解しないように注意しましょう。)


で、Frameの "Root""JointA""JointB"がそれぞれボーンになります。
見て分かるように、ボーンもFrameの一種なのです。


で、このXファイルを図にすると、 下記の様になります。

【参考画像】
SkinSample.jpg
-----【補足説明】-------------------------------------------------------------------------
・頂点0~5の、合計6つの頂点で 横長い長方形が定義されている
・頂点1と頂点2は、影響度が設定されている。 (それ以外は、どちらかに100%影響する。)
・ボーンはJointA と JointBの2つ。

Rootが親、JointAが子、JointBが孫の関係。
               図にRootが載っていませんが、Rootの役割は後述します。)
----------------------------------------------------------------------------------------

最後に、Mesh情報の中にある頂点重複情報スキニング情報について。

頂点重複情報(VertexDuplicationIndices)は、どの頂点が重複しているかを示します。
3Dモデルの頂点数を減らして単純化する時などに使われる情報との事。

スキンメッシュアニメーションとは直接関係無いので 無視して結構です。
一応、参考URL ⇒ VertexDuplicationIndices について


スキニング情報(XSkinMeshHeader)は、頂点に影響を与えるボーンがいくつあるか?などを指定します。
「1つの頂点にボーンが10個も20個も影響すると座標の計算が面倒だから、最大4つまでね。
みたいな。

自分は、影響するボーン数は最大で4つと個人的に決めたので、
実は この情報も要りません。無視して結構です。
(注:Xファイルビューアで見る場合は必要です。 削除してはいけません。)
これも一応、参考URL ⇒ XSkinMeshHeader について

--【Xファイルの簡易説明 終】---------------------------------------------------------------


Xファイルの復習が終わったので、次は処理する順番を書きます。

======================================================
【1】"Frame"が出てくる度に、階層構造を作っていく。
【2】Mesh情報があれば、 Mesh情報を読む。
【3】Mesh情報の中のSkinWeightsの情報で、ボーンコンビネーションテーブルを生成。

======================================================

まず、階層構造の作り方は、個人個人にお任せします。

自分は、構造体のvector配列で実装しました。
ChildとBrotherという変数を作って、それぞれ親子関係・兄弟関係のFrameがあれば
そのFrameの添え字を代入する、という方式です。
(無ければ-1を入れておく。)

【参考画像】
Frame階層



次に、Mesh情報の読み込みについてですが、
始めは、とにかくデータをvector配列に入れていきます。
一時的な情報を保持(バッファ)しておくのです。

一時的に保持(バッファ)しておくもの
--------------------------------------------------------
・頂点バッファ
・頂点インデックスバッファ
・法線バッファ
・頂点色バッファ
・UV座標バッファ
・マテリアル番号バッファ

--------------------------------------------------------

で、全ての法線や頂点情報などを読み込み終わったら、
----------------------------------------------------------------------------
頂点インデックスバッファに従って、 頂点・頂点色・UV座標 の情報をセット
法線インデックスバッファに従って、 法線 の情報をセット
マテリアル番号バッファに従って、 インデックスを分類

----------------------------------------------------------------------------
します。

※マテリアル番号バッファによるインデックスの分類 について補足。
これは、効率のよい描画をする為に利用します。

例えば、半透明不透明とか、赤色のテクスチャ青色のテクスチャがあった場合、

半透明 ⇒ 不透明 ⇒ 不透明 ⇒ 半透明 ⇒ 不透明
 ⇒  ⇒  ⇒  ⇒  ⇒ 
↑このように何度もマテリアル情報を切り替えて表示するよりも、


不透明 ⇒ 不透明 ⇒ 不透明 ⇒ 半透明 ⇒ 半透明
 ⇒  ⇒  ⇒  ⇒  ⇒ 
↑このようにマテリアルごとに纏めて表示して行った方が処理が早かったりします。

これは、マテリアルの頻繁な切り替えは、時間を食うためです。
その為、予め何番のマテリアルを使うかによって分類しておいた方が良いのです。


<おまけ> ヤケクソ状態で作った、インデックスを生成する部分のコード。
CreateIndex.jpg

変数の名前も適当になってしまってますし、
もし法線やUV座標を持たないXファイルを読み込んだら一発で壊れるコードです。
(vectorの要素数が0の状態になり、範囲外アクセスする為)


※真似しないで下さい。 そして、近々 修正しておこうと思う。

で、Meshの情報の最後にSkinweights(ボーンの影響度などの定義)があります。
コレをもとにボーンコンビネーションテーブルを生成します。

ボーンコンビネーションテーブルの作り方
-----------------------------------------------------------------------
【1】あらかじめ、ボーン・影響度の変数を持つ構造体を定義
【2】頂点の数だけ、vector配列を作る。 (今回は、配列の要素数は6。)
【3】一番の親の行列で初期化。 それ以外にはUINT_MAXを入れておく
【4】Skinweightsの情報によって、適宜 ボーンコンビネーションテーブルを修正。

-----------------------------------------------------------------------

図で見たほうが分かりやすいので、図も描きます。

~初期状態~

BoneTable2.jpg

「ボーン0番って何?」と思うかもしれませんが、これはFrame TheSourceの事です。
自分は階層構造をvectorの配列で実装したので、
階層構造の配列の添え字 = ボーン番号としてます。
(詳細は前述の、Xファイルの簡易説明の後にある図をご覧下さい)

最初は全ての頂点がFrame TheSourceに 100%影響されるようになってます。
つまり、3Dモデルが普通に動く状態です。
(90度回転させたら、モデルが変形せず そのまま まるごと90度回転します。)


で、初期化後は、JointAに●%の影響を受けるという風に適宜 修正すればいいだけなのですが、
これが 案外 厄介(´д`)

かなり上の方に記述した、Xファイル全体像の図を見て下さい。
"TheSource"のSkinWeightsの後は"JointA"、"JointB"のSkinWeightsがありますね。

"TheSource"は一番の親なので、階層構造配列の添え字が0だと分かってます。

しかし、SkinWeightsを読み込んでいる時点では、
"JointA"、"JointB"の階層構造は不明です。
Frame JointAFrame JointBは、SkinWeightsの後に記述されているため。)


なので、他のMesh情報 同様に一時的な情報の保存(バッファ)をしておく必要があります。
階層構造を全て読み終わった時に、「"JointA"って添え字番号 何番ですか?」と言う風に、
階層構造のvector配列を 線形探索しなければなりません。

・ボーンの名前を覚えておく
・名前で線形探索

こんな感じ。

あと、ボーン名・影響度の他に、
もう1つボーンオフセット行列も適当な変数や配列に覚えさせておいてください。
※ボーンオフセット行列については、解説2を参照してください。
 頂点を変換する際に絶対に必要なのです。

で、ボーンの名前で線形探索し、添え字番号を取得した後の
完成したコンビネーションテーブルは下記の様になります。

【参考画像】
BoneTable3.jpg

で、あとはコレを同じボーンの組み合わせから影響を受ける頂点ごとにソートします。
(つまり、 頂点0と3頂点1と2頂点4と5でそれぞれ纏めます。)

そして、その後
頂点座標をこのボーンコンビネーションテーブルに従って変換するだけです!
※変換の仕方は、解説4を参照してください。
※補間の仕方は、キーフレームアニメーションの解説を参照してください。

以上です。


あ・あと最後にボーンの1つである"Root"の解説を。
実はこれ、無くても大丈夫です。 Frame Rootを削除しても動きます。

「何で存在するか?」というと、階層構造を作るためです。

例えば赤い箱青い箱の3Dモデルがあったとします。
バラバラに定義されている場合、いっぺんに動かす事は出来ません。
Frame RedBox {

}
Frame BlueBox {

}


しかし、親を定義すれば いっぺんに動かせるようになります。

Frame Parent {
Frame RedBox {

}
Frame BlueBox {

}
}

(親の座標変換行列は、子にも影響を与えるため。)

要するに、今回のRootというのは ボーンがどんなに複雑に枝分かれしていても、
Rootを通じて、子ボーン全てをいっぺんにまとめて移動させられるという
ボーンにとっての一番の親という役割を果たしているのです。

(まぁ、形式上あるだけで 前述したように削除しても動きます

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

明けましておめでとうございます!

明けましておめでとうございます!
だいぶ明けてしまったような気がしますが、気にしない)

そして、これからは自作ゲームを公開したり、解説ページを作ったりなど
色々と便利なブログにして行こうと思っていますので、


今年もよろしくお願いします。 (`・ω・´)+

【追記】---------------------------------------------
とりあえず、 友達に送った年賀状の画像を添付してみる。
Miku
年賀状自体は送ってしまったので、下書きVerです。
これは、その、友達が主に3次元以外の世界で暮している方なので、 そういうアレです。

キャラクターは 初音ミクというキャラクターです。
もはや虎と何の関係もありませんね。

まぁ、いいんですよ。
そういう時は 被り物とかを かぶせて 無理矢理 関連付ければOKです。 多分。
------------------------------------------------------------------ 【追記 終】

で、とりあえず今やろうと思っていること。
-----------------------------------------------------
・とある質問掲示板への挨拶
・この記事に、「虎」に関する画像を描いて添付する 添付終了!
・今日来た年賀状の 返事を書く
・親戚の方への挨拶

-----------------------------------------------------

色々とやることはありますが、まず年賀状を書こうと思います。


あとどうでもいいですが、個人的な
元旦の定番的な扱いなのにあまり見かけないものTOP3
を書いてみます。

---------------------------
1: 羽根突き
2: すごろく
3: たこ揚げ

---------------------------

特に 羽根突きで 顔に 墨で○×を描いたりしてる人は見たことが無いのです。

テーマ : 日記 - ジャンル : 日記



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。