マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

FPS

敵のAI作成中

AIというほど大げさなものではないが、敵がこっちを発見後、見失ったときの処理を入れてみた。過去にプレイヤーを見つけた場所に向かうだけだけど。

CoD4のステージ開始時のようなカメラを目指す

Call of Duty 4の最初のステージの上から視点が降りてくるようなやつを目指して作成した。 手順はMainCameraとは別のカメラを作成して、MainCameraの上空に設置する。向きはRotationのxを90にしておく。そして以下のスクリプトを作成して、適当にGameObject…

Minimapを表示してみた

画面の右上にミニマップを表示してみた やり方は簡単。Main Cameraとは別にCameraを作成しておく。そして以下の画像の用に設定する。重要なのはNormalized View Port RectとDepth。Normalized View Port Rectで表示領域を設定してDepthに1(Main Cameraより…

視点の直線上にあるオブジェクトの名前を表示する

オブジェクトを追跡するラベルを参考に(とは言ってもそのままだが)視点の直線上にあるオブジェクトの名前を表示するプログラムを作った。以下のプログラムをC#スクリプトとして作成して、First Person Controllerに貼り付ければOK。直線上の物体はPhysics.Li…

敵をプレイヤーの方に向かせる

敵がプレイヤーを発見したときにプレイヤーの方向に向いてもらいたいのだが、Transform#LookAtだと一瞬でどの向きにでも向いてしまうため、かなり不自然な挙動となる。できれば少しずつ向きを変えてもらいたかったのだがLookAtには向き変更にかかる時間の指…

乱数を使ってみる

Random.Rangeを使えば乱数を生成できるようだ。範囲を指定するときにintかfloatかで返り値の型も変化する。試しに敵の出現位置に乱数を加えて変化を与えてみた

敵生産

Instantiateでクローンを作れるので、敵の沸くポイントを作ってみた。同じところから沸くようにしてるため倒しまくってたら何かカオスなことになってた Instantiate(enemy, transform.position, transform.rotation);

テスト

FPSのテストをアップロードしました。Chrome推奨で、他のブラウザだと、最初にUnity Player(Flashのようなもの)のダウンロードとインストールがあります。マニアックなブラウザでは動作しないと思われます。プログラム自体が9M超えてるので、Unity Player起…

クロスヘア表示

全体的に黒い上に、クロスヘアが黒いので分かりづらいが、クロスヘアを表示できた。OnGUIでGUI.DrawTextureでテクスチャと範囲を指定するだけでOK。簡単だった

歩行アニメーションのテスト

自分で作った前に進むアニメーションのテスト。これから改良したり、他のアニメーションの追加を行っていきたい

Asset Storeを利用、そして

Asset Storeを利用してみた。まずFreeのSoldierCharacterPackをimportした。次に$5.00とお買い得な感じのUrban Landscapeを購入した。支払いはPayPalで行った。あと前にダウンロードしていた3Dモデルの銃を使い見た目をフルチェンジした。さらば、自作の3Dモ…

アニメーションを入れてみた

キャラクタにアニメーションを登録して、スクリプトに animation.Play("アニメーションの名前");と書いて、スクリプトをキャラクターに追加したら、アニメーションに成功した。まだぎこちない動きなので、これから修正していきたい

UnityでFPSっぽく

UnityでFPSっぽい画面を作った。階層ビューでFirst Person ControllerのMain Cameraの下に銃のモデルを置いて、角度と位置を調整したらこうなった。あとは撃ったり、敵キャラを表示したりしたい

参考リンク

UnityでFPSを作るための参考リンク 学生のためのUnity勉強会「1時間でFPSを作る」チュートリアル(前編) 学生のためのUnity勉強会「1時間でFPSを作る」チュートリアル(後編) Unity 2ch Wiki チュートリアル/ウォークスルー UNITY: FPS Tutorial

敵キャラ表示 その2?

http://www.geocities.jp/oirahakobito2/より『swatっぽいの+イングラムM11っぽいの』をダウンロードしてきて置いてみた。自分で敵キャラを作れるようになるのはいつのことか…

リロード実装

弾数とリロードを実装した。また、弾の連射速度の限界を設定。前は1フレームごとに発射できたからね。そして、左上にあるのが弾数。左が現在装填されている弾の数。右が現在持ってる予備の弾の数。わりと新しいChromeかWebGLを有効化したFirefoxで見てね! …

移動

今まで移動するときは視点を直線的に動かしていたけど、今回からちょっとブレを入れてみた。移動中に視点と銃が若干ブレるようにした。Chromeの新しい奴かWebGLを有効化したFirefoxでデモ見れますhttp://myfpstest.appspot.com/ 操作方法 W 前に移動 S 後ろ…

他の人のモデルを使わせてもらう

http://sakura.hippy.jp/meta/で公開されている銃を使わせてもらいました。モデルが変わると気分も変わる。やる気アップだ!

段差の移動の仕方を変える

今まで段差のある場所の移動で、上るときや下るときにいきなり座標を上下させていたが、徐々に座標を変化するようにした。16msで上下してたのを90msかけて上下するようにした。あと、だんだんJavaScriptが分かってきた気がする。気がするだけだけど。WebGLに…

FPSもどき公開 その3

段差の乗り越えの実装と、視点の向きを上下方向に変更した。ただ、上に向きすぎるとなぜかバグってしまうので、上下方向はあまり動かないようになっている。Chromeのわりと新しいバージョンか、WebGLを有効化したFirefoxで見れるはず http://myfpstest.appsp…

段差をつけてみた

今までは平面の上の移動のみだったけど、今度は段差をつけてみた。まだ、上ったり下りたりできないので、次は段差の移動を実装したい

FPSもどき公開 その2

弾を撃てるようにしたので、アップロードした。本物の銃じゃないので反動とか無い設定だし、リロード無しで無限に弾を撃てる。途中で弾が消える現象あり。Chromeの新しいバージョンなら動くでしょう。多分。いいのかそれで 操作方法 W 前に移動 S 後ろに移動…

敵の表示をしてみた

かなり適当なモデルを作り、敵として配備。Three.jsでモデルのアニメーションってどうやるんだろう?

Three.jsのDirectionalLightを使ってみた

DirectionalLightを使ってみたら、銃に質感がでてきた。また。何か立体っぽくなった気がする

FPSもどき公開

前日作ったFPSもどきを公開する。地面はあるものの、境界などのチェックは行っていないため、地面以外の部分も移動可能。ChromeやFirefoxの比較的新しいバージョンなら動くはず。ただ、Firefoxの場合、デフォルトでWebGLが無効になってる気がするので、何か…

Three.jsでちょっとFPSっぽく

Three.jsでちょっとFPSっぽく表示してみた。移動できるようになったので、壁とか天井とかも作っていきたい

とりあえず色を付けてみた

とりあえず色を付けた。Three.jsでもBlenderで変換後に表示できたので満足。あとはキャラクターを作りたいなー。そしてゲームへ…

ちょっとは銃っぽくなったか

少なくともドライヤーではなくなったはず。もうちょっとパーツ増やして色を付ければそれっぽく見えるだろうか?