はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】Vector3をオプション引数として使う

はじめに 今回はVector3をオプション引数として使うことについての記事になります!私がこれを実装してみようと思ったところ、いくつかつまずきポイントがあったので、軽く紹介してみたいと思います。 定数でなければならない private void Hoge(Vector3 pos…

【Unity】RectTransformのWidth・Heightをスクリプトから変更する

はじめに 今回はRectTransformのWidth・Heightをスクリプトから変更の仕方についての記事になります!これをスクリプトから変更しようと思った際、rectTransform.width = 10;のようなコードをまず考えるのではないでしょうか。しかし、この方法ではエラーと…

【Unity】状態の管理をStateパターンを用いてよりスマートに

はじめに 今回はStateパターンを用いて状態管理するという記事になります!例えばプレイヤーが今どんな状態なのか。攻撃をしているのか、歩いているのか。このような状態遷移を実装と思ったとき、まずはif文やswitch文で分岐させる方法が思いつくのではない…

【Unity】魚眼レンズをPostProcessingStack V2で実現する

はじめに 今回はPostProcessingStack Version2を用いて魚眼レンズを実現する記事になります!まず魚眼レンズと聞いて、なんだそれ?と思うかもしれません。魚眼レンズというのは、画面の四隅をねじったような画面のことを表します。ただここまで偉そうに言っ…

【Unity】UniRxを使って現在時刻をText(TextMeshProUGUI)に表示させる

はじめに 今回はUniRxを使って現在時刻をテキストに表示させる記事になります!現在時刻をテキストに表示せよと言われたら、Update()内で色々と処理をしていく方法がまず思いつくのではないでしょうか。ただUniRxのUpdateAsObservableを用いることで、Start(…

最近起きた3つの嬉しいこと

最近はありがたいことに嬉しかったことがいくつもありました。 かなり個人的な出来事なのですが、一応全部ゲーム関連のことなので、紹介をしたいと思います! 初めてブログの記事のpvが伸びた この記事を書いた2日前にある記事を書かせていただきました。そ…

C#の勉強をしだすとアプリが永遠に完成しないような気がする話

3月あたりからもっとUnityを上手く使いたい!と思い、ぼちぼちC#の勉強を始めました。最近はクラス設計を見直そうと思い、デザインパターンやオブジェクト指向の勉強をしています。そしてだんだん勉強するうちにあることに気づいてしまったのです。「クラス…

【Unity】UnityでMVPパターンを用いる

はじめに UnityでMVPパターンを用いてクラス設計をすることもあるそうです。 一応備忘録として。 記事 developers.cyberagent.co.jp UniRxでMV(R)Pパターン をやってみた from torisoup www.slideshare.netqiita.comlight11.hatenadiary.com yutakaseda3216.…

【Unity】初心者が最低限覚えておきたいマテリアルの5つのパラメーター

はじめに 今回はマテリアルの最低限覚えておきたい5つのパラメーターについての記事になります!マテリアルはキャラクターや建物などのオブジェクトをどのように表示するかを担っています。この画像を見てみてください。左がデフォルトのマテリアルを適応し…

【Unity】色んな型の既定値を調べてみた

はじめに 今回は色んな型の既定値についての記事になります!その前に「既定値ってなんや?」といった疑問が生まれるかもしれません。 かくいう私も少し前まで曖昧でした。簡潔に書くと、既定値は明示的な初期化を怠った時に既定で代入される値のことを指し…

【Unity】ジェネリックについてかるくまとめてみた

はじめに 今回はジェネリックについての記事になります!みなさんジェネリックと聞いて「医薬品」を思いついた人がいるのではないでしょうか?私は最初にそれにか思いつきませんでした。調べてみるとジェネリックには「一般的な」という意味があるようです。…

【Unity】インデクサーについてかるくまとめてみた

はじめに 今回はインデクサーの使い方についての記事になります!インデクサーはオブジェクトを配列のように扱うことができるようになるものです。まずは書き方を見てみましょう。 インデクサーの書き方 要素型 this[int index] { // getアクセサー get { //…

【Unity】LINQと匿名クラスを組み合わせて使う

はじめに 今回は匿名クラスとLINQを組み合わせて使うことについての記事になります! 匿名クラス using UnityEngine; public class Hoge : MonoBehaviour { private void Start() { var enemy = new { Name = "Slime", Exp = 10 }; Debug.Log(enemy.Name); }…

【Unity】Unityのクラス設計について

はじめに ネットでいくつか参考にすべきクラス設計を見つけました。 備忘録としてここに残しておきたいと思います。 記事 Unity開発で使える設計の話+Zenjectの紹介 from torisoup www.slideshare.net qiita.comqiita.comblog.d-yama7.com

【Unity】抽象クラス・抽象メソッドについてかるくまとめてみた

はじめに 今回は抽象クラス・抽象メソッドの使い方と、アップキャスト・ダウンキャストについての記事になります。抽象クラスはポリモーフィズムと呼ばれるオブジェクト指向にとって重要な考え方に深い関係があるようです。是非マスターをしちゃいましょう!…

【Unity】変数やメソッドのネーミングについてかるくまとめてみた

はじめに 今回は変数やメソッドのネーミングについての記事になります!きっとネーミングで悩んでしまったことがある人が大多数ではないでしょうか?かくいう私もいつも悩んでしまいます。そこでネーミングについて調べてみたので、そちらを紹介したいと思い…

【Unity】リストをディクショナリに変換する方法

はじめに 今回はList<T>をDictionary<TKey,TValue>に変換することについての記事になります!変換するにはLINQを使うので、もし「LINQってなんだっけ?」という方はこちらを見てみてから続きをみるとスムーズに理解が進むと思います。hanaachiru.hatenablog.com 変換方法 usi</tkey,tvalue></t>…

【Unity】Dictionary<TKey,TValue>(ディクショナリ)クラスについてかるくまとめてみた

はじめに 今回は「ハッシュテーブル」とよく呼ばれるDictionary<TKey,TValue>ジェネリッククラスについての記事になります!「配列やリストと何が違うんだっけ?」という疑問を抱く人もいるかもしれませんが、一言で言うならキーとそれに対応する値を複数保持できることが</tkey,tvalue>…

【Unity】LINQについてかるくまとめてみた

この記事でのバージョン Unity2018.3.9f1 はじめに 今回はLINQのかるい説明から実際に様々なメソッドを使ってみるという記事になります!LINQと聞いて「ゼルダの伝説」を思い出す人がいるのではないでしょうか?私は最初それしか思いつかなかったのですが、…

【Unity】文字列をいろんな条件で比較してみた

はじめに 今回はstring型のオブジェクトをいろんな条件で比較してみる記事になります。文字列と聞くと嫌になるほど扱ってきた経験がある人が多いのではないでしょうか? そんな文字列には大文字であったりカタカナであったりといったいろんな種類があります…

【Unity】オプション引数をかるくまとめてみた

はじめに 今回はオプション引数を使ったメソッドの使い方についての記事になります。オプション引数はメソッドを呼び出すときにその引数の一部を省略できる機能のことです。オーバーロードでも同様なものを作れるのですが、コード量をかなり抑えられるので、…

【Unity】可変長引数についてかるくまとめてみた

はじめに 今回は可変長引数をつかったメソッドについての記事になります。可変長引数と聞いてもやや分かりづらいかもしれないですが、単に複数の引数を受け取るがその数を限定しないものを表します。なぜか好き勝手に引数を指定できると思うとワクワクしませ…

【Unity】 IReadOnlyCollection<T>を使って読み取り専用のコレクションを作る

はじめに 今回は読み取り専用のコレクションをIReadOnlyCollection<T>インターフェイスを用いて実現する方法に関する記事になります。これはメソッドの引数にて用いて、このメソッドは要素を変更しないという意思表示に適していると思います。 その前に ・・・</t>…

【Unity】null合体演算子とnull条件演算子についてかるくまとめてみた

この記事でのバージョン Unity2018.3.9f1 はじめに 今回はnull合体演算子とnull条件演算子の使い方についての記事になります!前回null許容型についての記事を書いたのですが、そちらと合わせて用いられることも多いようです。hanaachiru.hatenablog.com nul…

【Unity】メソッドやプロパティをラムダ式で記述する

はじめに 今回はメソッドとプロパティをラムダ式で記述することについての記事になります。こちらはC#6での機能なので、Edit > Project Settings > Playerから、.NET 4.xを選択しましょう。 メソッドやプロパティをラムダ式で記述するための条件 メソッドを…

【Unity】インスペクターではゲームオブジェクトの参照だけじゃなくいろいろ参照できるってお話

はじめに たまたまUnityを始めたての方のコードをみせていただいた際、RectTransformコンポーネントをいじるためにインスペクター上でゲームオブジェクトの参照をしてGetComponent<RectTransform>()をしていました。 実はどっちも参照できる ただ突き詰めてしまえばGameObje</recttransform>…

【Unity】早期リターンをしてコードを見やすくする

はじめに 今回は最初にふるいにかけて残ったものだけ処理をさせるようにする記事になります。これをするとかなりコードが見やすくなるはずです。 実際の例 例えばこのようなコードがあったとします。 private void Hoge(string str,int a,int b) { if (str !…

【Unity】三項演算子(条件演算子)をかるくまとめてみた

はじめに 三項演算子(条件演算子)は?:を使い、条件を判定して、真と偽でそれぞれ異なる値を変数に代入します。この演算子についてかるくまとめてみました。 構文 using UnityEngine; public class Hoge : MonoBehaviour { void Start() { int a = 2; int b…

【Unity】List<T>クラスの持つデリゲートを使うメソッド達

この記事でのバージョン Unity2018.3.9f1 はじめに 今回はあまり使う機会が少ない?ようなList<T>クラスが持つデリゲートを引数にするメソッドに関する記事です!これらはリストの各要素に対していろいろな処理ができるようなメソッドがほとんどになっています</t>…

【Unity】インターフェイスについてかるくまとめてみた

はじめに インターフェイスの持つ重要な性質をまとめてみました。 細かい説明は他の記事を参照してみてください。ufcpp.net 最重要事項 インターフェイスにはこの3つの性質を持ちます。 ・AクラスがIXインターフェイスを実装していると、AオブジェクトはIX…