2023-08-01から1ヶ月間の記事一覧
昨日までで音量設定は実装できた。 習作としては、これで完成させても良いのかもしれないけれど、ちょっと欲が出てきて、敵にやられた時に残機があればゲームを継続できる様にしたくなった。 そこで、ふと考えた。 敵にやられた時にプレイヤーをDestroy(gam…
昨日、Pauseを実装したので、今日は昨日の本命のAudio Mixerのスクリプト作成。 Sliderを使ってAudioMixerのボリュームをコントロールするのは、 Slider.valueを取得して、それをAudio Mixerのボリュームに代入してやるだけで、簡単に実装できた。 ただ、こ…
しまづさんのサロンでオーディオに関する説明があり、Audio Mixerの活用や、Audio設定について学んだので、早速、作成中のシューティングゲームに取り込んでみることにした。 他の人の作品でスライダーでボリューム調整できる仕組みをみて、作り方を知りたい…
Mac mini m2 proを買って、約1週間経ちました。 Unityとブラウジング環境をMacに移植して、Windows PCはこの一週間、1回しか起動していない状態です。 今まで使っていたWindowsPCはなんだかんだで10年くらい使っているので、いきなり最新 PCになれば、それ…
昨日に引き続き、ヒエラルキー上でBulletに、オブジェクトプールのあるBullet Managerをアタッチしておいたのに、BulletをPrefabフォルダに入れてPrefab化したタイミングで、このアタッチが外れてしまう問題の対策。 昨日見つけた記事にある、メソッドの引数…
以前の「ObjectPoolの勉強」で実験したオブジェクトプールを実装してみた。 最初は自機に実装してみたが、ボスの弾のプールも作るにあたって、プールをあちこちに作るより、いっそ、弾管理用のBullet Managerを作成して、プールもまとめてみたくなった。 Bul…
配列を調べていて、linqなるものを見つけた。 色々調べていて、すごい分かり易いサイトを見つけたので、早速実験してみることにした。 www.midnightunity.net OfTypeという、「要素を指定した型でフィルター」というのが、どのような結果になるのかDebug.Log…
シューティングを作っていると、どうしても敵の動きにバリエーションが欲しくなる。 上から蛇行する方法は学んだので、横から来て斜めに移動したり、曲線を描くように戻っていくなどのような動きを作ってみたくなった。 ベジェ曲線を使った方法もいくつかヒ…
思い切って、Mac買いました(笑) 奮発してMac mini m2 proです。 まだまともなプログラムも作れないうちから何やってんだ?って感じですが、 これは勢いですね。😅 まあ、ボーナスが入ったからって言えば、そうなんですが😆 さあ、セットアップ頑張るぞ〜〜
敵の出現パターンを作成する方法を考えていて、こないだ学んだばかりのタワーディフェンスを作る講座の方法を応用できないか考えてみた。Listからデーターを取り出す方法で、foreachを使うと途中でListの要素を削除するためか、どうしてもエラーが出てしまう…
Unityゲームスタジオ スタジオしまづさんの「縦型2Dシューティングゲームの作り方」でシューティングゲームの作り方を学んだので、それを改造して自作シューティングを作成中。 自分の弾をオブジェクトプール化することはできたので、 新しい種類の敵を作成…
参考サイト様 https://coacoa.net/unity_explain/unity_objectpool2/ https://www.karvan1230.com/entry/2022/06/21/212832 オブジェクトプールでは以下のプロパティが使用できる。 xxx.Get() オブジェクトプールからオブジェクトを借りてくる。 xxx.R…
三角関数を思い出そう。 使うのはsinとcos。そしてパイが180°という概念。 角度0°の時、sinも0となる。 そして、90°の時、sinは1となり、パイ(180°)の時、sinは0になり、 3/2パイ(270°)時、sinは-1となる。 cosの場合、角度0°の時、cosは1から始まり、…
当たり判定の基礎知識。 UnityでColliderを使って当たり判定を行うためには、 当たった対象A(敵など)と当たったものB(弾など)の 1.両方にColliderがついている。 2.AもしくはBのどちらかにRigidbodyがついている。 の両方の条件を満たす必要があ…
GameObject Xを、AのポジションからBのポジションに、Cで指定したスピードで移動する。
Mathf.Lerp(引数A、引数B、引数C) AからBへ(B×C)だけ増減する。 Mathf.Lerp(0,100,0.5)の場合は50。(0から100へ、(100×0.5=50)だけ増減する。)