unity開発日記

UnityとC♯によるゲーム開発状況をつらつらとメモしています。
2018年までは勉強し、作りたいゲーム制作を目指していきます。

「2018年」
1月9日(火)
FPSゲーム作成を開始。skyboxやMaterial、psycalMasterialの使い方を確認。

1月13日(土)
FPSゲームで弾を発射するためのscript(言語はC♯)を勉強し、実装成功。
主にinstantiate関数によるPrefabの読み込み、transform(位置)の書き込み、
GetComponentでRigidbodyを取得してAddForceで力を加えることで出来ました。
又、Time.deltaTimeを入れることで連射間隔の調整を行えることを確認。

1月17日(水)
弾の衝突により敵を破壊する時、SendMessageを使用することで紐づけ可能。
OnTrrigerEnterでもできそうだが、コード短縮できそうなのでこちらの方が良いかも。
ただし、GameObjectのみなのでExcuseEvents.Excuseを使う方が汎用性が高いようだ。
セーブデータの軽量化に使える予感がするので、今後勉強課題として残しておこう。

1月19日(金)
爆発エフェクト実装と敵の自動生成のテストに成功しました。
OnDestroy関数を使う際、instantiate関数を入れるとエラーが出るので注意。
OnApplicationQuitで終了処理を入れることで、エラー解消を確認。

1月21日(日)
弾を当てたらスコアが足されるUIを実装しました。
Script間でデータを受け渡す方法が思ったより手間取り時間がかかってしまった。
SendMessageなどでもデータのやり取りはできるが、後からコードを読むのが大変になる。
データを渡す側はFindで対象となるGameObjectを見つけGetComponetでscriptを参照する。
どうやらこれでscript間でデータの受け渡しができ、なおかつ動作が軽く済むようだ。
(FindObjectOfType()で簡単に受け渡せるが、動作が重くなったのを確認できた)
今回でデータの簡単な受け渡しをできるようになったので、多くのことに活用できそう。

1月23日(水)
近づいてくる敵の実装に成功。
まずはPlayerと敵のベクトルを差し引いて、向きを求めて単位ベクトルに変換(normalized)。
単位ベクトルにスピードとTime.deltatimeをかけ合わせてplayerに近づく動きを実現できた。
これに複雑なアルゴリズムを足せば、敵を倒す難易度を上げられそうだ。

1月29日(火)
FPSゲームの基本(弾を打つ、ダメージを与える、スコアを追加する)ができました。
カメラワークは標準のものをそのまま使ったが、エラーが出ている個所があったので、
次回はカメラワークも自分で自作していこうかなと思っています。
攻撃、ダメージ、スコア、移動などそれぞれの細かく分けてscriptを書いたためを、
量が増えてしまったのもあり、次回はなるべく一つのscriptに集約して書こうと思う。

2月13日(火)
Assetのキャラクターを動かすのが思ったより大変なことに気づく。
CharacterControllerを使ってみたものの、中々うまくいかないのでTransform系で制御。
またはrigidbody系で制御するのが今見えている道筋で、現在悪戦苦闘中です。
専用のscriptを使えば動くことは動くが、今後自分で作る時に応用利かなそうで・・・。
んー敵キャラを動かすのはベクトルの相対距離を求めてすぐできたのだが、
自分が動かすキャラクターをストレスなく動かそうと思うと、いろいろ大変ですねぇ・・・。

2月19日(月)
ProBuilderによりTerrainを用いずとも、自在にステージを作れるようになった。
正直、アプリやWeb用ゲーム作る際の最大の難点に思ってたのですごい進歩かも。
後はどういったゲームを作るか草案して、本格的に一本ゲーム作り目指しますかね。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする