【Unity/C#】精霊が並び替えるノームソートのアルゴリズムを実装!
交換ソートのひとつであるノームソート。名前がファンタジーなのでお気に入りのアルゴリズムです。
あなたのゲームをいち早く完成させるための研究所
交換ソートのひとつであるノームソート。名前がファンタジーなのでお気に入りのアルゴリズムです。
交換ソートのひとつであるコムソートは、実装が単純なのに速度が出る素敵ソート。ポイントは伸縮率の1.3という数字です。
交換ソートのひとつである奇偶転置ソートは、比較・交換を行うペアを独立させられるため、並列処理に向いたソート方法です(重要)
シェーカーソートについての説明とC#による実装を紹介しています。バブルソートの改良型としてこれも有名。
バブルソートについての説明とC#による実装を紹介しています。一度は触れるアルゴリズムよね。
初心者のうちからアルゴリズムを理解し、処理時間を意識していくと、超イケてるプログラミングが可能になります。慣れてる人は多分無意識のうちにやっていることなんですよね。
UnityのEditor拡張を使ってXMLファイルをCSV形式に変換するサンプルコードをご紹介。入れ子になっていないシンプルなXMLを想定。ステップバイステップで手順が載ったチュートリアル形式で書いています。
UnityのEditor拡張を使ってCSVファイルをXML形式に変換するサンプルコードをご紹介。ステップバイステップで手順が載ったチュートリアル形式で書いています。
ScriptableObjectのデータをCSVファイルに出力するEditor拡張のサンプルを紹介しています。ステップごとに画面ダンプを用意し、スクリプトの中身についても詳細に説明しているので、チュートリアル的に使えます。
ScriptableObjectの中身をInspectorウィンドウで確認する際、関連するフィールドごとにまとまっていると、内容を把握しやすくなります。特にデバッグ時のバランス調整でどこをいじったらいいか分かりやすくなるので便利。
Editor拡張を使ってCSVファイルからScriptableObjectのアセットファイルにデータを格納するサンプルを紹介しています。ステップごとに画像も付いているのでチュートリアルのような感覚で使えます。ぜひ。
Unityではpublicなフィールドや[SerializeField]を付けたフィールドはInspectorウィンドウで値を編集することができます。この値ってどこに保存されてるの? という疑問に答えるべく保存場所を調査しました。それはなんと、あのファイルに。
Unityのなかでマスタデータを持つ時にScriptableObjectを使うメリット・デメリットを検討しました。CSV、XML、JSON、YAMLを使う場合についても考え、比較を行なっています。
Application.internetReachabilityを確認することで、端末がインターネットに接続されているかどうかを簡単に確認することができます。そのサンプルと実行イメージを作ってみたので、サクッと導入してみましょ。
コルーチンをおまじない的に使っているけど、そもそもコルーチンってなんなのなの? って思った時にオススメしたい記事。ポイントは中断と再開が可能な点。初心者向けを謳いながら割とマニアックなところに触れたり、マルチスレッドとの目的の違いにも触れています。
The referenced script on this Behaviour (Game Object '<ゲームオブジェクト名>') is missing!のメッセージが表示されるときの対処法について。多くの場合、スクリプトを消したことでそれを参照していたコンポーネントでMissingが発生しているのが原因です。特にPrefabのコンポーネントは忘れやすいので注意。
Inspectorウィンドウへの表示に関係するUnityのAttributeをまとめています。このブログではこれらのAttributeについて詳細記事を作成しているので、使い方を掴むのにも使えます。
HelpURLAttributeを使うことでInspectorウィンドウからヘルプページに飛ばすことができます。1クラスにつき1つのURLを指定できるので、自作クラスのリファレンスページに飛ぶようにすれば、コードを触らない人にもフィールドやメソッドの役割を伝えることができます。
Inspectorウィンドウに表示するフィールドはToolTipAttributeを使ってヒントメッセージを表示すると親切です。カーソルを合わせるだけでメッセージを表示できるので、Inspectorウィンドウ内のスペースも取らなくて便利。チーム内の意思伝達のおともにぜひ。
複数行テキストを扱うなら、[Multiline]もいいけど[TextArea]を使うと便利です。何よりスクロールバーを使えるのがありがたい。テキストエリアの内容確認ならスクロールバーがあった方が何かと扱いやすいです。