ゲーム制作勉強中!あこがれだったプログラマーに今からなろう!

昔、あこがれていたプログラマー。今からでも勉強してみようと思い立ち、チャレンジ開始! 勉強メモや、悪戦苦闘な日々の記録です。

2023-08-01から1ヶ月間の記事一覧

シューティングゲームを作ろう!(3)

昨日までで音量設定は実装できた。 習作としては、これで完成させても良いのかもしれないけれど、ちょっと欲が出てきて、敵にやられた時に残機があればゲームを継続できる様にしたくなった。 そこで、ふと考えた。 敵にやられた時にプレイヤーをDestroy(gam…

AudioMixerの活用

昨日、Pauseを実装したので、今日は昨日の本命のAudio Mixerのスクリプト作成。 Sliderを使ってAudioMixerのボリュームをコントロールするのは、 Slider.valueを取得して、それをAudio Mixerのボリュームに代入してやるだけで、簡単に実装できた。 ただ、こ…

Pause機能の実装

しまづさんのサロンでオーディオに関する説明があり、Audio Mixerの活用や、Audio設定について学んだので、早速、作成中のシューティングゲームに取り込んでみることにした。 他の人の作品でスライダーでボリューム調整できる仕組みをみて、作り方を知りたい…

Macを一週間使ってみて

Mac mini m2 proを買って、約1週間経ちました。 Unityとブラウジング環境をMacに移植して、Windows PCはこの一週間、1回しか起動していない状態です。 今まで使っていたWindowsPCはなんだかんだで10年くらい使っているので、いきなり最新 PCになれば、それ…

Prefabのアタッチが外れる(2)

昨日に引き続き、ヒエラルキー上でBulletに、オブジェクトプールのあるBullet Managerをアタッチしておいたのに、BulletをPrefabフォルダに入れてPrefab化したタイミングで、このアタッチが外れてしまう問題の対策。 昨日見つけた記事にある、メソッドの引数…

Prefabのアタッチが外れる。

以前の「ObjectPoolの勉強」で実験したオブジェクトプールを実装してみた。 最初は自機に実装してみたが、ボスの弾のプールも作るにあたって、プールをあちこちに作るより、いっそ、弾管理用のBullet Managerを作成して、プールもまとめてみたくなった。 Bul…

Unity LINQの実験とEnumerable型について

配列を調べていて、linqなるものを見つけた。 色々調べていて、すごい分かり易いサイトを見つけたので、早速実験してみることにした。 www.midnightunity.net OfTypeという、「要素を指定した型でフィルター」というのが、どのような結果になるのかDebug.Log…

曲線に沿ってオブジェクトを動かす。

シューティングを作っていると、どうしても敵の動きにバリエーションが欲しくなる。 上から蛇行する方法は学んだので、横から来て斜めに移動したり、曲線を描くように戻っていくなどのような動きを作ってみたくなった。 ベジェ曲線を使った方法もいくつかヒ…

Mac 買いました!

思い切って、Mac買いました(笑) 奮発してMac mini m2 proです。 まだまともなプログラムも作れないうちから何やってんだ?って感じですが、 これは勢いですね。😅 まあ、ボーナスが入ったからって言えば、そうなんですが😆 さあ、セットアップ頑張るぞ〜〜

ListにClassを入れる実験。(敵の出現パターンの作成を考える。)

敵の出現パターンを作成する方法を考えていて、こないだ学んだばかりのタワーディフェンスを作る講座の方法を応用できないか考えてみた。Listからデーターを取り出す方法で、foreachを使うと途中でListの要素を削除するためか、どうしてもエラーが出てしまう…

シューティングゲーム作成中

Unityゲームスタジオ スタジオしまづさんの「縦型2Dシューティングゲームの作り方」でシューティングゲームの作り方を学んだので、それを改造して自作シューティングを作成中。 自分の弾をオブジェクトプール化することはできたので、 新しい種類の敵を作成…

ObjectPoolの勉強

参考サイト様 https://coacoa.net/unity_explain/unity_objectpool2/ https://www.karvan1230.com/entry/2022/06/21/212832 オブジェクトプールでは以下のプロパティが使用できる。 xxx.Get() オブジェクトプールからオブジェクトを借りてくる。 xxx.R…

シューティングゲームを作ろう!(2)

三角関数を思い出そう。 使うのはsinとcos。そしてパイが180°という概念。 角度0°の時、sinも0となる。 そして、90°の時、sinは1となり、パイ(180°)の時、sinは0になり、 3/2パイ(270°)時、sinは-1となる。 cosの場合、角度0°の時、cosは1から始まり、…

シューティングゲームを作ろう!(1)

当たり判定の基礎知識。 UnityでColliderを使って当たり判定を行うためには、 当たった対象A(敵など)と当たったものB(弾など)の 1.両方にColliderがついている。 2.AもしくはBのどちらかにRigidbodyがついている。 の両方の条件を満たす必要があ…

MoveTowards

GameObject Xを、AのポジションからBのポジションに、Cで指定したスピードで移動する。

Mathf.Lerpの使い方

Mathf.Lerp(引数A、引数B、引数C) AからBへ(B×C)だけ増減する。 Mathf.Lerp(0,100,0.5)の場合は50。(0から100へ、(100×0.5=50)だけ増減する。)