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

x86エミュレータやFPGA、WebGLにお熱なd-kamiがマイペースに書くブログ

Unity

ゼンリンのJapanese Otaku CityをUnityのアセットストアからインポートしたら...

Japanese Otaku Cityをインポートしたら、モデルの一部がピンク色になる問題が発生。何かと思ったらシェーダでエラーが発生してた。 'vert': output parameter 'o' not completely initializedとりあえず、su_Double_and_Clip.shaderとsu_VertexCol_1UV_Sing…

Unityちゃんシェーダを弄ってみた

Unityのシェーダを弄る練習として、Unityちゃんシェーダを弄ってみた。何か面白いことができないものか?

明日のゆるふわゲームジャムに向けて

Unityの操作などを思い出すという行動を取っている

やだー影が出るじゃないですかー

やだーUnityの無料版でも影がでるようになってるじゃないですかー(遅)。私の出番がどんどん減っていく

殴り倒す

敵を殴り倒したところ!...いや違うけど...ラグドール使ったら、面白いように倒れたりしてくれて嬉しい

Detonatorのスクリプトがアセットストアに移ってた

Unityで簡単に爆発を起こせるDetonatorのスクリプトがあるが、Detonatorのスクリプトのページに行けないと思ってたら、アセットストアにあった。

さて...サイトで狙うか...

サイトで狙う!ってサイトなのか?これは

ライトを付けてみた

何の役に立つかは謎だが、ライトを付けてみた。スポットライトを視点から視点の方向に向けているだけである

他の人が作ったFPSを見てみる

たまたま、ニコニコ動画に上がってるUnityで作られたFPSを見つけた。何回かに分けてアップロードされてる。これは参考になるかも

Clone

CloneのCloneのCloneの...

武器交換完了!

持っていたIngramを捨てて落ちていたM4カービンを入手したところ。動画追加しました 2012/11/18

武器を入れ替える

落ちている武器を拾うと持ってる武器を捨てるという処理を行おうとしている。持ってる武器のparentをnullにして、RigidbodyとBoxColliderを追加した。そしたら、捨てた武器が床貫通!。isTriggerはfalseになってるし、なんで?と思いながらBoxColliderのサイ…

今日はあまり進まず

とりあえずXキーで武器の取替えを行う準備をしているところ。X押したら落ちている武器が消えるようにはした。これを自分の武器に変えて、今もっている武器を地面に置けばOK

落ちている武器を拾う処理に入る前

落ちている武器に近づいたら武器名を表示するようにした

進んでいく

今まで止まっていたのが嘘のように進んでるかもしれない。とりあえず、今は2つの武器の切り替えをできるようにしたところ。弾発射スクリプトがサブマシンガンとスナイパーライフルで共通にしてるため、現在スナイパーライフルがサブマシンガンのレートでフ…

武器を2つ持つ

一度に使える武器は1つだけど、ボタンで切り替えられるようにした。切り替えが一瞬で終わってしまうので、アニメーションかなんかいれておきたい

シーン切り替え

シーンをまたいで状態の保存をするやりかたらしい http://d.hatena.ne.jp/tiri_tomato/20120920/1348119252

フルオートにも対応

今まではセミオートでしか撃てなかったが、イングラムを見て作った自作の3Dモデルの登場により、フルオートでも撃ちたくなったので対応した。GetButtonDownがボタンを押した瞬間だけを取得したい場合使うやつで今までこれだけを使ってきたが、今回から押しっ…

残りのライフによって画面を赤くしてみた

Unityには画面の塗りつぶしが無いっぽいので、馬鹿でかいテキストを用意して、それのアルファ値を変えて画面全体に薄ら赤を加えている

通路を広げてみた

ランダムマップを作るアルゴリズムを少しいじって通路を広げてみた

道が狭すぎる

1×1ずつ区画を取ったら道が狭くなりすぎた。3×3単位で区画をとらないと駄目な感じがする。でも今のアルゴリズムで3×3に対応するにはちょっと工夫が必要かもしれない。それより主人公を小さくしてみるという考えはどうだろうか?

とりあえず銃表示

まだ、自分のパソコンは戻ってきてないが、作業を進める。仮にもFPSなので銃を表示させることにした。だが、まだFirst Person Sanpoだ。まぁ、そのうち銃弾がでるだろう

ゲームを作り直す

ゲーム開発が進まなくなったため、最初から作り直すことにした。マップはランダムマップにした。100*100の領域(x-z平面)を分割して、小さい領域を何個も作り、その中に部屋を作って、部屋同士を繋げてマップ作製。乱数大活躍。とある学内イベントに向けて先…

周りをチェック

敵のAIを追加した。周囲の一定距離のキャラクターの状態を見て、死亡してたり、プレイヤー発見状態のキャラクターがいる場合の処理を入れてみた。プレイヤーを発見した敵の周りで何も気づかずに通り過ぎるだけの敵がいると悲しいと思ったから追加。異変に気…

突っ込みどころが!

死体が転がっていても気にせず歩き続けるパトロール達

見えない壁を作る

プレイヤー以外のキャラの移動方法でいいのが思いつかないため、見えない壁を作り、キャラがそこに接触したら右に曲がれとか一時停止とかの命令をだすようにした。今のところ味方のキャラがいないので作りたいところ

プレイヤーのライフと自然回復を導入

今まで敵の攻撃をいくら受けても死ななかったのでプレイヤーキャラのライフポイントを設定し、攻撃を受けたらライフを減らすようにした。回復に関しては時間と共に回復するようにするため、以下のようにスクリプトを組んだ void Update(){ if(life == LIFE_M…

敵の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より…