以下をmanifest.jsonの"dependencies" : {の次の行から入力する。 "com.annulusgames.lucid-audio": "https://github.com/AnnulusGames/LucidAudio.git?path=/Assets/LucidAudio", "com.annulusgames.lucid-editor": "https://github.com/AnnulusGames/Lucid…
※『Unityゲーム開発者ギルド Advent Calendar 2023』3日目の記事です。 ※可能な限り配慮してますが、曲を紹介している以上ネタバレを含む可能性があります:『OMORI』,『アンリアルライフ』, 『A Space For The Unbound』 私はいわゆるインディーゲームが大…
対象のオブジェクトにColliderをつけているか(2敗) 座標系が正しいかを確認する 普通のオブジェクト(sprite等)にはScreenPointToRay() uGUIはeventData.positionのままでいい LayerMaskが正しいか確認する 動かなかったらとりあえずレイヤーの引数は書か…
positionの扱いに注意。uGUIでないオブジェクト(Sprite等)はworld座標に直す必要があるが、RectTransformの場合は必要ない。 var dropPosition = eventData.position; if (Camera.main == null) return; // _layerはなくてもいい var hit = Physics2D.Raycas…
例 以下のようなコード。 private async UniTask Load() { var handle = Addressables.LoadAssetsAsync<HogeComponent>("AssetsPath", null); await handle.Task; if (handle.Status == AsyncOperationStatus.Succeeded) { // 何らかの処理 } Addressables.Release(handle);</hogecomponent>…
About 各ステージの解答例です。各ボタンの意味・クリアの法則だけを知りたい場合は以下の記事をご覧ください。 qemelly.hatenablog.com 目次 About 目次 Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Stage 6 Stage 7 Stage 8 ~ Stage 11 Stage 12 Green End R…
Here is ONE Buttonと言うゲームをunityroomにて投稿しましたが、ゲーム内ヒントが少なすぎるので詰まったとき用のメモを残します。 unityroom.com 要約:ゲーム内で誘導する気力がもうないので許して クリア条件 ボタンが1つしか見えない状態でボタンを押す…
タイトルが全て。 補足すると、Hierarchyの最上階のオブジェクトにしか適用されないという意味。子オブジェクトになっているオブジェクトやそのComponentには適用されない。
'0'+numはintであることに注意する! var num = 3; var c = (char)('0' + num);
IEndDragHandlerを実装する。 private Vector2 _startPosition; public void OnEndDrag(PointerEventData eventData) { transform.position = _startPosition; var rayResult = new List<RaycastResult>(); eventData.position = Input.mousePosition; EventSystem.current.</raycastresult>…
はじめに 本記事は、けめる2作目のゲーム作品となるCirclaの開発全般を振り返り、その反省点をまとめることで、自身の制作をより効率的にしようと試みる記事です。 unityroom.com ※読み手のことは考えてません。ほぼ自分用です。 はじめに クラス設計 時間か…
この度unityroomにて2レーン高難易度リズムゲームCirclaを公開しました! unityroom.com ゲーム画面1 ゲーム画面2 ゲーム画面3 かなり視覚的に難しい音ゲーに仕上がっております。 新曲もすこーしずつ増やしていこうと思いますので是非プレイしてみてくだ…
Alphaが0になってないか new Color(255, 255, 255)みたいなことしちゃってる Colorの各値の上限は1なので絶対に白が出力されちゃう System.Drawing.Colorとかの間違ったColorを参照してないか
結論 Paddingを上げる!!!! 以上。 具体的には、Point Sizeの1/10程度を目安にするとよいみたい。 参考 forum.unity.com
UniRxの後処理についてザックリまとめて整理。ようやく少し分かってきたレベルの人間が書いているので、ミスが含まれている可能性がありますことを先に忠告しておきます。 参考: qiita.com light11.hatenadiary.com そもそもなんで後処理するの? メモリリー…
基本的にOnDestroyで止める方法は危険っぽいです。何回か以下のようなエラーが発生し、その次のPlayMode実行時に音が鳴らなくなりました。 Error: Some objects were not cleaned up when closing the scene. (Did you spawn new GameObjects from OnDestroy…
※追記(同日):以下の記事の通り、恐らくOnDestroyでStopを使うこと自体が誤りのようです。 qemelly.hatenablog.com 以下本文。 LucidAudioのStop()メソッドでは引数を取ってフェードアウトを演出することが出来ます。 しかし、次のような使い方は出来ませ…
エラーが出ない & イベント関数(Update,Awake,Start,OnDestroy等)が呼ばれないときは、 MonoBehaviour継承しているか見る メソッド名が合っているか確認 対象オブジェクトがアクティブになっているかどうかを見る
About OCPについて再整理 OCPに違反してるコードってどんなの? switch文 なんちゃらCalculatorとかなんちゃらProcessorとか 関数的対応をするモノ 実際の違反例 もうちょっと踏み込んで考える 改善例 About 個人開発のゲームにてswitch文が増え、コードがヤ…
しょうもないミス Imageが見えない!!!→30分経過...→「あっColorのAlphaが0だった...」 もう、こういうミスで時間をかけたくない。 uGUIが見えない系のバグは、考えられる原因1つ1つ自体は全部しょうもないのですが、その量自体は多いので、1つ1つ白みつぶ…
今回はUnityの便利なライブラリ(パッケージ)を列挙していきます。 全部GitHubに公開されています。 ⚠️注意 非常に情報の確度が低い内容になっています。間違い等があればコメントにて指摘ください。 個人の感情が多分に含まれます。ご注意ください。 目次 …
About PostProcessingを2DURP環境で利用します。 その後、uGUIにもエフェクトを反映させる方法も説明します。 バージョン: 2021.3.15f1 三行で CameraのPost Processingを有効にする Volume → Global Volumeを使う uGUIはScreen Spaceにする 手順 Window → P…
はじめに どうも、Qemelly(けめる)です。今回はARC164にて緑レートに到達したので、入緑記事を書いていこうと思います! ギリギリなので次のABCで落ちるかもしれませんが、1度でも緑に到達したということでご愛敬。 ギリギリ スペック 落ちこぼれ大学生 20…
A - Similar String 問題概要 S,Tが同じ文字列か判定せよ。ただし、1とl、0とoは同じものとする。 解説 愚直に同じかどうか判定する関数を作って、1つでもfalseを返したらNoを出力するようにします。 こういうときは、forループの前にbool ok = trueみたいな…
A - Attack 問題概要 からを引いて以下にするための最小の回数を求めよ。 解説 いわゆる割り算切り上げ問題。例えばのときは回、のときは回になります。これを実現する最も簡単な方法は! #include <atcoder/all> using namespace std; using namespace atcoder; using li</atcoder/all>…
A - Overall Winner 問題概要 T,Aからなる文字列が与えられるので、どちらが多いかを出力せよ。 ただし、同数だったとき、先に最後のが出現した方を出力する。 解説 基本的にはやるだけ。T,Aの数をカウントして多い方を出力。 nが偶数で、n/2までカウントさ…
初期化処理ってとにかく順番が命で、ちょっとでもミスるとエラーまみれになってしまいがちです。特にロードしきれてないのに呼び出しちゃってnull参照エラーになることはよくあります(あるな)。 最近Awake()やStart()がテキトーに呼ばれているという事実を…
実際に開発中にハマった罠について(例は変えています)。例えばジャンプした瞬間にイベントを発行したくなったとしましょう。以下のうちどちらが正しいでしょうか?DistinctUntilChangedとWhereの順序が変わっています。 private readonly ReactiveProperty<bool></bool>…
SOLIDを1から勉強するコーナー、前回はSingle Responsibility(単一責任の原則)について勉強しました。 今回はOpen/Closed Principle(開放・閉鎖原則、OCP)を見ていきましょう。 開放・閉鎖原則 「クラスは拡張に対して開かれており、修正や変更に対して…
最近の開発中に実際に起こったこと。Unity2Dにて。Box Collider2Dを付けたImageオブジェクトをRaycast2Dで判定しようとしていたのですが、どうやっても判定できずに何時間もかかっていました。Canvasだから悪いのか、Rayが上手く通ってないのか、色々な部分…