近年、Unity ゲーム開発において非同期処理はますます重要になっています。 従来の MonoBehaviour による処理では、複雑な処理になるとコードが冗長になり、デバッグも難しくなってしまうことがあります。そこで、非同期処理を簡単に記述できるライブラリ UniTask が注目されています。
|
https://twitter.com/imsakasa |
---|
Unity の C# で UniTask を使う方法!導入から使い方の基本を紹介【非同期処理】
近年、Unity ゲーム開発において非同期処理はますます重要になっています。 従来の MonoBehaviour による処理では、複雑な処理になるとコードが冗長になり、デバッグも難しくなってしまうことがあります。そこで、非同期処理を簡単に記述できるライブラリ UniTask が注目されています。
C# の List をランダムにシャッフルして並び替える方法
C# で List をランダムにシャッフルする技術は、ゲーム開発やアプリケーション開発で非常に便利です。特にランダム性が重要なカードゲームやパズルゲームでは、この処理が欠かせません。ここでは、LINQ などを使い、C# のリストをランダムにシャッフルする2つの方法とそのサンプルコードを紹介します。
【2024年版】 Unity 初心者から中上級者まで!最新おすすめの参考書7冊を紹介!
【2024年版】 Unity の学習に最適なおすすめ参考書をレベル別に7冊紹介!Unity を学び始めたばかりの初心者から、さらにスキルを磨きたい中上級者まで、皆さんにとって最適な参考書を各レベル別に紹介します。なるべく出版年の新しい本をピックアップしました!自分にぴったりの参考書の選び方も紹。
【C#】Queue と Stack の基本や使い方、活用方法を解説
Queue は先入れ先出し(First In, First Out)の原則に基づくコレクションです。最初に追加された要素が最初に取り出されることを意味します。Stack は後入れ先出し(Last In, First Out)の原則に基づくコレクションです。最後に追加された要素が最初に取り出されることを意味します。
Unity で Hierarchy 内の順番をスクリプトから変更する方法【SetSibling】
Transform の SetSibling 系メソッドとは、Unityでのゲーム開発において、オブジェクトの階層関係を動的に操作するための強力なツールです。これらのメソッドは、シーン内のオブジェクトの親子関係を構築する際に、子オブジェクトの順序をプログラム上から柔軟に変更することを可能にします。
【 Unity 】スクリプトから子オブジェクトをすべて削除する方法
スクリプトから子オブジェクトを全て削除する方法を紹介します。 親オブジェクトの Transform コンポーネント内のすべての子オブジェクトを foreach で繰り返し処理します。そして、各子オブジェクトを削除するためにGameObject.Destroy()関数を使用します。
【C#】 Dictionary で Value (値) から Key (キー) を取得する方法
本記事では C# の Dictionary について、Value から Key を取得する方法について解説します。 Dictionary は、キーと値のペアを格納するための非常に便利なデータ構造です。通常はキーから値を取 ...
【 Unity 】アセットの GUID を簡単にコピーする方法【エディタ拡張】
Unity エディタでは、プロジェクト内のアセットを管理するために、GUID が使用されています。GUID とは、128ビットの一意な識別子で、アセットを正確に特定するために使用されます。本記事では、Unity 上で選択したアセットの GUID をクリップボードにコピーする拡張をご紹介します。
【2023年最新】C# 初心者におすすめの入門書6選!良い本の選び方も紹介
C# は Microsoft が開発したプログラミング言語で、Web アプリケーションやゲーム開発エンジン Unity の制作にも使われるなど、その用途は多岐にわたります。そのため、C# を学べば様々なプロジェクトに対応できるようになります。 本記事では、C#初心者におすすめの C# に関する参考書を6冊ご紹介します。
【 Unity 】カラーコードを Color 型に変換する方法【 C# 】
カラーコードとは、色を数値的に表現したものです。一般的には、HTML や CSS などのウェブ技術でよく使われます。本記事では Unity のColorUtility.TryParseHtmlStringを使って HTML カラーコードを Color 型に変換する方法について説明します。
【 Unity 】Resources.Load 入門ガイド!アセットの読み込みと開放の方法
Unity の Resources.Load は、特定のパスからアセットを動的にロードするための関数です。この関数を使うと、ゲームが実行中でも特定のアセット(プレハブ、画像、音声など)を読み込むことができます。例えば、特定のタイミングでキャラクターの画像を変更したい場合に、アセットを動的に読み込むことが可能です。
Unity で BGM をループ再生させる方法【Audio Source】
Unity で音楽をループ再生する最も簡単な方法は、Unity の組み込み機能を利用することです。具体的には、AudioSource コンポーネントの「Loop」オプションを有効にするだけです。これにより、指定した音楽ファイルは自動的に繰り返し再生されます。
Unity で画像を反転させる3つの簡単な方法【Image, Sprite Renderer】
Unity でゲームを作っていると、キャラクターやアセットの画像を反転させる必要がしばしばあります。例えば、キャラクターが左向きに走っているときと右向きに走っているときで、キャラクターの画像を反転させる必要があります。この記事では、Unity で画像を反転させる3つの基本的な方法を解説します。
【Unity】Scene ビューの背景色を変更する方法【エディタ環境のカスタマイズ】
Unity はその柔軟性とカスタマイズ性で知られています。 この記事では、Unity の Scene ビューの背景色を変更する方法を説明します。 これは長時間の開発作業で目の疲れを和らげるだけでなく、パーソナライズした作業環境を作るのにも役立ちます。
Unity エディターのダークテーマは、エディター内の背景色、ボタンやパネルなどの各種UI要素のカラースキームを暗い配色に切り替える機能です。ダークモードは長時間の作業による目の疲れを軽減し、ユーザーの作業効率を向上させることを目的としています。
【デザインパターン入門】第2回:Observer パターン – イベント通知を実現する手法
デザインパターンは、プログラムを設計するときによく使われる解決策のパターンです。 本記事では、C# を用いて Observer パターンを紹介します。Observer パターンは、あるオブジェクト(Subject)の状態が変わったときに、他のオブジェクト(Observer)にその変更を知らせる方法です。
C# における do while ループの使い方とベストプラクティス
C# における do while ループは、プログラム制御構造の一つであり、特定の条件が満たされるまでコードブロックを繰り返し実行します。この記事では、do while ループの基本的な使い方や注意点、そしてより効果的なコーディングのためのベストプラクティスについて解説していきます。
【Unity】TextMesh Pro の生成時に Raycast Target をオフにする方法
TextMesh Pro のテキストを生成した際、デフォルト設定ではRaycast Targetがオンになっています。これは、すべてのテキスト要素がレイキャストの対象となります。Enable Raycast Target の設定変更でデフォルトで Raycast Target をオフにすることができます。
【デザインパターン入門】第1回:Strategy パターン – コードの柔軟性を向上させる方法
デザインパターンは、プログラムを設計するときによく使われる解決策のパターンです。Strategy(ストラテジー)パターンは、異なる振る舞いやアルゴリズムを持つオブジェクトを使い分け可能な形にするパターンです。これにより、プログラムが柔軟で拡張しやすくなります。
【C#】Dictionary をソートして出力する3つの方法
C# において、Dictionary はキーと値のペアを格納するデータ構造としてよく使われます。しかし、Dictionary のキーをソートすることは直接できません。 本記事では、LINQ や SortedDictionary などを使って Dictionary をソートするための3つの方法を紹介します。
ITエンジニア必読!2023年のおすすめ技術書が決定!【ITエンジニア本大賞2023】
ITエンジニア本大賞とは、ITエンジニアにとって役立つ書籍を選定し、その優れた書籍を表彰する賞です。 選定された書籍は、技術書、ビジネス書、一般書など多岐にわたります。各部門の大賞だけでなく特別賞などもあり、毎年多くの人が投票に参加しています。エンジニアが新たな知識を得たり、スキルアップの書籍選びの参考になる賞です。
三項演算子は、三項条件演算子とも呼ばれ、if 文を簡潔に表現することができる演算子です。三項演算子は、if-else 文を使って同じ機能を実現する場合よりも、より短く、簡潔に書けるという利点があります。また、コードの可読性を向上させるためにも役立ちます。
Unity で Animation の速度を変更する方法【Animator】
Unity の Animator は、ゲームオブジェクトのアニメーションを制御するためのコンポーネントです。Animator は、アニメーションの再生や停止、パラメータの設定など、アニメーションの制御を容易にする機能を提供します。 本記事ではAnimatorを使いアニメーションの速度を変更する方法について解説します。
Unity のゲーム開発において、オブジェクトを操作することは非常に重要です。オブジェクトの中には子オブジェクトを持っていることがありますが、親オブジェクト以下の子オブジェクトを全て取得したい場合があります。今回は、Unity で子オブジェクトをすべて取得する方法について解説します。
Unity のライフサイクルを学ぼう!【Awake, Start など】
Unity のライフサイクルとは、ゲームオブジェクトの生成から破棄までの一連のプロセスのことを指します。 ライフサイクルの流れに沿って決まった関数が順番に呼び出されるので、どのタイミングでどんな関数が呼び出されるかを覚えておくことでゲームオブジェクトを制御できます。
【2023年最新】Unity 初心者におすすめの入門書 6 選!参考書の選び方も紹介
ゲーム開発に興味がある人なら、誰しもが一度は目にするであろうゲームエンジン「Unity」。しかしその多彩な機能や操作方法の複雑さから、初心者にとっては手を出しにくいものでもあります。 本記事では、初心者にオススメな Unity 関連の入門書を 6 冊ご紹介します。
Unity の Auto Refresh でスクリプトの変更を自動反映する方法
C# スクリプトの変更を Unity で反映させたい場合は、Unity上で Ctrl + Rを押すとコンパイルが行われます。ただ毎度手動で更新するのが面倒な方向けに、本記事では Unity の Auto Refresh という設定を使い、スクリプトの変更を Unity 側で自動反映させる方法を紹介します。
【C#】Dictionary にキーや値が既に存在するかチェックする方法
C# の Dictionary は同じキーの二重登録ができません。同じキーを追加しようとするとコンパイルエラーが出ます。今回は Dictionary でデータを追加する際に既にキーや値が存在するか事前にチェックする方法を紹介します。ContainsKey や ContainsContainsValue を使います。
【 C# 】文字列を分割して配列やリストにする方法【String.Split】
C# の String.Split を使うことで、例えば "あ,い,う,え,お" という文字列をコンマ区切りで分割し、1文字ずつの配列やリストにすることができます。 本記事では String.Split を使った文字列の分割方法を紹介します。
【 C# 】配列やリストを昇順や降順にソートする方法【Array, List】
C# において、配列やリストの順番を昇順や降順に変更するには、Array.Sort メソッドや List.Sort メソッド、または LINQ クラスの OrderByや OrderByDescendingで実現可能です。配列の昇順ソートには Array.Sortを使用します。
【 C# 】配列やリストを昇順や降順にソートする方法【Array, List】
C# において、配列やリストの順番を昇順や降順に変更するには、Array.Sort メソッドや List.Sort メソッド、または LINQ クラスの OrderByや OrderByDescendingで実現可能です。配列の昇順ソートには Array.Sortを使用します。
Unity エディターを日本語化する方法【Unity 入門】
Unity Editor をダウンロードして開いた際、エディターの表記はデフォルトでは英語かと思います。 本記事では Unity Hub を用いて Unity エディターを日本語化する方法を紹介します。 まずはじめに、Unity Hub で日本語のモジュールを追加します。
【 C# 】複数のリスト ( List ) を結合する3つの方法
本記事では2つ以上のリスト (List) を結合し、1つのリストにする方法を紹介します。1つ目はforeachを使ってリストを結合します。2つ目は List.AddRangeを使った結合方法です。3つ目はEnumerable.Concat() を使った結合方法です。
【 Unity 】テキストが点滅するアニメーションをスクリプトで実装する【 DOTween 】
本記事では Unity の UGUI を使い、テキストをループで点滅させるアニメーションの実装方法を紹介します。実装では DOTween アセットを使用しています。実装内容は、CanvasGroup の Alpha 値を DOTween で操作し、点滅するようなフェード処理を実現しています。
【C#】Dictionary で値 ( Value ) の全要素の合計値を計算する方法
C# における Dictionary とは、Key と Value の値をセットで扱う連想配列です。 本記事では、C# の Dictionary で追加した全ての値(Value)に関して、その合計値を計算する方法について紹介します。 値の合計値の計算には LINQ の Sum() を使用しています。
Unity でアニメーションの演出を繰り返しループ再生する方法
Unity で Animation ファイルを生成し、Inspector ビューを確認すると「Loop Time」という項目があります。 デフォルトでは設定がオフになっており、「Loop Time」の項目にチェックをつけ設定をオンにすると、アニメーションがループ再生され演出が繰り返し流れるようになります。
【C#】enum(列挙型)の全要素を List に変換して取得する方法
enum(列挙型)を使うと、曜日や月、年号など特定の値しかとらないデータの表現が可能になります。enum は switch 文の case 値によく使用され、条件の場合分けに活用されます。本記事では enum で定義した全要素を List 型にリスト化して取得する方法を紹介します。
【C#】Dictionary の要素を foreach で順番に取得する方法
C# における Dictionary とは、Key と Value の値をセットで扱う連想配列です。 List や Array の場合はインデックス番号と値をセットで扱いますが、Dictionary ではインデックス番号 ...
【Unity】シリアライズで設定した値を保存したまま変数名を変更する方法
スクリプト側で変数名を変更すると、Unity でシリアライズの参照が外れてしまいます。FormerlySerializedAs 属性を使うことでシリアライズの値を保持したまま変数名が変更可能です。 変数名を変更し、変数の上にFormerlySerializedAs 属性を付与します。引数には変更前の変数名を記載します。
【Visual Studio】コメントアウトの切替え変更が便利になるショートカットの拡張機能「Toggle Comment」を紹介
Toggle Comment とは、Visual Studio 上でのコメントアウトが「Ctrl + /」で切り替え可能になる拡張機能です。Visual Studio を開き、ウィンドウ上部の「拡張機能 > 拡張機能の管理」を開き、ウィンドウ右上の検索バーから「Toggle Comment」と入力します。
【C#】配列, List, Dictionary の初期化方法まとめ
配列では初期化時に要素数を指定しないとエラーになります。 配列の初期化時にあらかじめ要素も入れて作成可能です。この場合、長さの指定は初期化リスト内の要素の数から推論されるため必要ありません。 List の初期化時は要素数の省略が可能で、初期化時にあらかじめ要素を入れて作成できます。
【Unity】Text のデフォルトのフォント(Font Asset)を変更する方法
Unity でテキストを生成すると、デフォルトで設定されている Font Asset は「Arial」まはた「LiberationSans SDF」かと思います。新たに追加した別のフォントをメインで使いたい場合などがあるかと思いますが、本記事ではテキスト生成時のデフォルトフォントを変更する方法を紹介します。
TextMesh Pro で日本語フォントを使う方法【Unity】
TextMesh Pro はデフォルトのフォントだと英語のみ使用可能なため、日本語を打ち込んでも四角(□)の形が表示されてしまいます。 本記事では TextMesh Pro で日本語フォントを使うための導入方法を紹介しま ...
【Unity】エディターのレイアウト(Layout)を変更・保存する方法
Unity をはじめて触る時や簡単なプロダクトを作成する時には Scene ビューが広い方が作業しやすい面もありますが、作成するプロダクトによっては各ビューの大きさや配置を変更してレイアウトをカスタマイズしたい場合があります。 本記事では Unity エディターのレイアウト変更とその保存方法を紹介します。
VSCode の拡張機能「Code Spell Checker」でタイプミスを防ぐ
Code Spell Checker とは、コード内の一般的なスペルミスを検出できる Visual Studio Code の拡張機能です。 この機能を使うと、コード内でのタイプミスの該当箇所に下線が引かれます。修正することで下線が消えます。
【Unity】はじめての NavMesh 入門【AIによる経路移動】
NavMesh(ナビメッシュ)とは、シーン上を AI で自動に移動する 3D モデルを作れる Unity の機能です。 NavMesh を使うことで、3Dモデルをある目的地まで移動させたり、細かい道順を設定したり、障害物を避けて移動させることができます。
【C#】string 型の文字列を連結させる6つの方法【StringBuilder/Joinなど】
C# において、ある文字列と文字列を連結させたい時は + 演算子を使うことで可能となります。上記で使用した+ 演算子以外にも、StringBuilder や string.Join など文字列を連結させる方法は存在します。本記事ではその方法をいくつか紹介します。
C# で使えるプリプロセッサディレクティブの紹介!【region, pragma など】
#から始まるシンボルはプリプロセッサディレクティブと呼ばれ、#region や #pragma、#error など数多くの種類が存在します。本記事ではC#のコーディング時に使えるディレクティブをいくつか紹介します。#region は #endregion で囲むことで範囲を定義できます。
【C#】エイリアスがクラス名や名前空間と同名の場合に区別する方法
C# でのエイリアスとは、クラスや名前空間に別名を付けられる修飾子のことです。 using でエイリアスを定義することで、クラスや名前空間を別名に置き換えることができます。エイリアス修飾子 ::を使用したコードはエイリアスの方を参照します。global エイリアスは、グローバル名前空間から参照することを強制します。
【C#】例外処理クラスの一覧まとめ(サンプルコード付き)【.NET Framework】
例外エラーは想定外の扱われ方をすると発生しますが、そのエラーにもいくつか種類があります。メソッドへ渡す引数が間違っていたり、存在しないデータにアクセスしたり、配列に対して範囲を超えたインデックスを指定したりと様々です。 本記事では様々ある例外処理のクラスをまとめました。
Unity ではエディタ画面上部中央にある「▷」マークの再生ボタンを押すと Unity が実行されます。 デフォルトの設定では Unity エディタ実行前と実行中の色が同じため、現在実行中かどうかの見分けが付けづらい状態です。 本記事では Unity エディタ実行中の画面全体の色を変える方法を紹介します。
【Unity】TextMesh Proではみ出たテキストを「…」で省略する方法
Unity でテキストを表示する際、文字数が多い場合に設定した表示領域から文字がはみ出てしまいます。本記事では、TextMesh Pro で表示領域からはみ出たテキストを「…」で省略する方法を紹介します。TextMesh Pro とは、Unity uGUI でリッチなテキスト表現を実現できるテキストアセットです。
ラジアンとは?角度→ラジアン、ラジアン→角度への変換方法【C#】
角度を表すとき、多くのプログラミング言語では 30 度や 90 度などの「度数法」ではなく、「弧度法」を用いて計算します。弧度法を用いることでコンピュータの計算量を節約できるメリットなどがあります。 本記事では弧度法の尺度であるラジアンについての説明と、度からラジアン、ラジアンから度の変換方法を紹介します。
Unity で使える便利なショートカットキーまとめ【作業効率化】
Unity には数多くのショートカットキーが設定されています。それを使いこなすことで Unity エディター上での作業の効率化に繋がります。 本記事ではデフォルトで Unity に割り当てられている便利なショートカットキーの一覧をまとめました。
【C#】要素に重複のないリストを作成する3つの方法【List】
List クラスを扱う際に要素に重複がないデータを管理したい場合があります。ただ現状の List クラスの仕組みでは、要素を追加する時に重複する要素でも追加可能です。本記事では、要素に重複のないリストを作成するための方法を3つ紹介します。
【C#】ToString() の書式指定子で文字列をカスタマイズする
C# の ToString メソッドを使うと、変数やオブジェクトを文字列に変換できます。ToString メソッドでは引数に「書式指定子」を指定でき、これを活用することで変換時に文字列をカスタマイズできます。本記事では ToString メソッドで使える書式指定子をいくつか紹介します。
Device Simulator で端末での見え方を Unity 上で確認する
Unity でゲーム開発をしている際、実機端末で確認したい時はアプリをビルドする必要があります。ただビルドの処理には時間がかかり手間となります。Device Simulator を使えば、様々な端末でアプリがどのように表示されるかを Unity エディター上で確認できます。
【Unity】Shader Graph でUVスクロールするマテリアル作る【入門】
Shader Graph はシェーダーを GUI で作れる Unity の機能のことです。ノードを繋ぐことで複雑なマテリアルを視覚的に作成できます。本記事では Unity の機能である Shader Graph(シェーダーグラフ)の紹介と、それを使ってテクスチャをUVスクロールさせる簡単なマテリアルを作成します。
【Unity】ボタンの当たり判定が反応しない時に確認すること【uGUI】
Unity での開発では uGUI のボタン(Button)を使う機会が多々ありますが、様々な原因でボタンを押しても何も効かず反応しないことがあります。 本記事ではボタンの当たり判定が反応しない際に確認するトラブルシューティングを紹介します。
オープンワールドのゲームは数多くあり、その中では山々が連なり草木が生い茂る広大なフィールドが散見されます。Terrain とは、Unity に備わっている機能である地形エンジンです。本記事では Unity の機能である Terrain (地形) システムを使って、山や草木の生えた大地の作り方を紹介します。
Unity とは、ユニティ・テクノロジーズが開発しているゲームエンジンです。 無料でインストールが可能で、Unity を使ってゲームを作ることが可能です。本記事では Unity 初心者向けに、ゲームを作って学べる Unity 学習サイトを紹介します。
【Unity】魚眼レンズ風のカメラ演出を Post Processing で実現する
Unity の Post Processing の効果の 1 つにレンズの歪みを制御する「Lens Distortion」があります。Lens Distortion を使うと、ドアスコープや魚眼レンズのように中央が拡大されて周辺部分は縮小し、丸みを帯びた見た目になります。本記事では Lens Distortion の解説と、その効果を使って魚眼レンズ風のカメラ演出を作ってみます。
Unity 公式のコースウェア「Unity Learn」の記事を日本語で読む方法
Unity 公式にはゲーム開発初心者からでも始められるチュートリアルが豊富に揃っています。「Unity Learn」は Unity 公式が出している Unity の使い方を学ぶためのチュートリアル・コースウェアをまとめたウェブサイトです。本記事では Unity Learn の記事を日本語翻訳して読む方法を紹介します。
Unity には Mathf という数学に関する処理を行う便利な定数やメソッドをまとめたクラスがあります。本記事では Mathf の全定数と全関数を紹介していきます。
ドキュメントコメントで C# コード内へのハイパーリンクを作成する
C# for Visual Studio Code(powered by OmniSharp)は、v1.23.8(2020/12/18)から ドキュメントコメントが正式にサポートされました。 これは設定のEditor: ...
TextMeshPro で使えるリッチテキストタグまとめ【Unity】
TextMeshPro とは Unity uGUI の Text ではできないリッチなテキスト表現を実現できるテキストアセットです。本記事では TextMeshPro で使えるリッチテキストタグを紹介します。これは HTML タグのような機能で、テキストの外観とレイアウトを変更できます。
Unity 2020.2 から使える C# 8.0 の機能紹介!
Unity 2020.2 で C# 8.0 の機能がサポートされました。 本記事ではUnity 2020.2 から使える C# 8.0 の機能を紹介します。
【Unity】Auto Size を使ってフォントサイズを自動調整しよう【TextMeshPro】
Unity でテキストを扱う際、文字数が多すぎて勝手に改行されるケースがあります。本記事では文字数に応じて自動でフォントサイズを調整してくれる TextMeshPro の Auto Size 機能を紹介します。
【Unity】オブジェクト名が重複した際の命名規則をカスタマイズする
Unity 2020.1 から、Hierarchy ウィンドウ上で GameObject を複製した場合、オブジェクト名が重複した際の命名規則がカスタマイズ可能になりました。 例えば名前が GameObject であるオ ...
【Unity】Post Processing(ポストプロセス) を使って画面演出をリッチにする
Unity 2020.2.0f1Post Processing 2.3.0 ポストプロセスとは、画面に表示する直前の画像に対して処理を適用することで、画面をより現実感のある見た目にしてくれる機能です。 ポストプロセスは英 ...
【Unity】Fill Amount で場面転換のトランジションをさくっと作る【UI】
Unity には Image に設定できる「Fill Amount」という機能があります。 「Fill Amount」を使うと以下のようなトランジション演出を簡単に作成できます。 この記事では「Fill Amount」を ...
【Unity】DOTween のメソッド紹介&使い方を簡易解説!【GIF付き】
DOTween は移動系のアニメーション(イージング)を簡単に実装できるアセットです。本記事では、DOTween のメソッドを GIF を交えて紹介し、簡易的な使い方を解説します。
例えば PC で音楽を聞くために Unity 実行中のサウンドをミュートにしたい場合があるかと思います。 本記事では Unity のサウンドのミュート方法を紹介します。 Game シーンにて「Mute Audio」を押す ...
【C#】拡張メソッドを活用してコードを簡潔にしよう!【Unity】
拡張メソッドとは、既存の型やクラスに対して元の型の変更を行うことなくメソッドを追加することができる機能です。追加したメソッドも簡単に呼び出しが可能です。 using System.Linq;で定義して使う LINQ も拡 ...
【C#】ゲーム開発における enum を用いたビット演算の活用方法
この記事では、ゲーム開発における enum を用いたビット演算の活用方法を紹介します。そもそもビット演算とは何かといった解説は省略します。 どのような時にビット演算が役立つか事例を交えて説明します。 例えばプレイヤーに複 ...
【Unity】Inspector が使いやすくなる! Odin アセットの紹介【エディター拡張】
Odin とは、Unity の Inspector ビューを100を超える新しい属性を使用して使いやすくするエディター拡張機能アセットです。 Unity 2020.2Odin 3.0.3 Odin を使用する際は名前空間 ...
【Unity】DOTween で PS4 のトロフィー獲得通知みたいな演出を作ってみる
PS4 のゲームプレイ中にトロフィーを獲得すると、画面上部に通知の演出が走ります。今回はその演出を DOTween を使って作ってみます。 演出の完成はこのような感じになります。 Unity 2020.2.0f1DOTw ... はじめに PS4 のゲームプレイ中にトロフィーを獲得すると、画面上部に通知の演出が走ります。今回はその演出を ...
【Unity】Hierarchy でオブジェクトのコンポーネント一覧をアイコン表示【エディター拡張】
Unity の Hierarchy 上で、オブジェクトに付随するコンポーネント一覧をアイコンで表示するエディター拡張の紹介です。 Unity 環境Unity 2020.2.0f1 オブジェクトのコンポーネント一覧がアイコ ...
【Unity】Hierarchy からオブジェクトの ON/OFF を切り替える拡張機能【エディター拡張】
通常 Unity エディター上から Hierarchy にあるオブジェクトのアクティブを切り替える時は Inspector で変更します。 この記事では、Unity の Hierarchy ビューからオブジェクトのアクテ ...
「ブログリーダー」を活用して、さかささんをフォローしませんか?
近年、Unity ゲーム開発において非同期処理はますます重要になっています。 従来の MonoBehaviour による処理では、複雑な処理になるとコードが冗長になり、デバッグも難しくなってしまうことがあります。そこで、非同期処理を簡単に記述できるライブラリ UniTask が注目されています。
C# で List をランダムにシャッフルする技術は、ゲーム開発やアプリケーション開発で非常に便利です。特にランダム性が重要なカードゲームやパズルゲームでは、この処理が欠かせません。ここでは、LINQ などを使い、C# のリストをランダムにシャッフルする2つの方法とそのサンプルコードを紹介します。
【2024年版】 Unity の学習に最適なおすすめ参考書をレベル別に7冊紹介!Unity を学び始めたばかりの初心者から、さらにスキルを磨きたい中上級者まで、皆さんにとって最適な参考書を各レベル別に紹介します。なるべく出版年の新しい本をピックアップしました!自分にぴったりの参考書の選び方も紹。
Queue は先入れ先出し(First In, First Out)の原則に基づくコレクションです。最初に追加された要素が最初に取り出されることを意味します。Stack は後入れ先出し(Last In, First Out)の原則に基づくコレクションです。最後に追加された要素が最初に取り出されることを意味します。
Transform の SetSibling 系メソッドとは、Unityでのゲーム開発において、オブジェクトの階層関係を動的に操作するための強力なツールです。これらのメソッドは、シーン内のオブジェクトの親子関係を構築する際に、子オブジェクトの順序をプログラム上から柔軟に変更することを可能にします。
スクリプトから子オブジェクトを全て削除する方法を紹介します。 親オブジェクトの Transform コンポーネント内のすべての子オブジェクトを foreach で繰り返し処理します。そして、各子オブジェクトを削除するためにGameObject.Destroy()関数を使用します。
本記事では C# の Dictionary について、Value から Key を取得する方法について解説します。 Dictionary は、キーと値のペアを格納するための非常に便利なデータ構造です。通常はキーから値を取 ...
Unity エディタでは、プロジェクト内のアセットを管理するために、GUID が使用されています。GUID とは、128ビットの一意な識別子で、アセットを正確に特定するために使用されます。本記事では、Unity 上で選択したアセットの GUID をクリップボードにコピーする拡張をご紹介します。
C# は Microsoft が開発したプログラミング言語で、Web アプリケーションやゲーム開発エンジン Unity の制作にも使われるなど、その用途は多岐にわたります。そのため、C# を学べば様々なプロジェクトに対応できるようになります。 本記事では、C#初心者におすすめの C# に関する参考書を6冊ご紹介します。
カラーコードとは、色を数値的に表現したものです。一般的には、HTML や CSS などのウェブ技術でよく使われます。本記事では Unity のColorUtility.TryParseHtmlStringを使って HTML カラーコードを Color 型に変換する方法について説明します。
Unity の Resources.Load は、特定のパスからアセットを動的にロードするための関数です。この関数を使うと、ゲームが実行中でも特定のアセット(プレハブ、画像、音声など)を読み込むことができます。例えば、特定のタイミングでキャラクターの画像を変更したい場合に、アセットを動的に読み込むことが可能です。
Unity で音楽をループ再生する最も簡単な方法は、Unity の組み込み機能を利用することです。具体的には、AudioSource コンポーネントの「Loop」オプションを有効にするだけです。これにより、指定した音楽ファイルは自動的に繰り返し再生されます。
Unity でゲームを作っていると、キャラクターやアセットの画像を反転させる必要がしばしばあります。例えば、キャラクターが左向きに走っているときと右向きに走っているときで、キャラクターの画像を反転させる必要があります。この記事では、Unity で画像を反転させる3つの基本的な方法を解説します。
Unity はその柔軟性とカスタマイズ性で知られています。 この記事では、Unity の Scene ビューの背景色を変更する方法を説明します。 これは長時間の開発作業で目の疲れを和らげるだけでなく、パーソナライズした作業環境を作るのにも役立ちます。
Unity エディターのダークテーマは、エディター内の背景色、ボタンやパネルなどの各種UI要素のカラースキームを暗い配色に切り替える機能です。ダークモードは長時間の作業による目の疲れを軽減し、ユーザーの作業効率を向上させることを目的としています。
デザインパターンは、プログラムを設計するときによく使われる解決策のパターンです。 本記事では、C# を用いて Observer パターンを紹介します。Observer パターンは、あるオブジェクト(Subject)の状態が変わったときに、他のオブジェクト(Observer)にその変更を知らせる方法です。
C# における do while ループは、プログラム制御構造の一つであり、特定の条件が満たされるまでコードブロックを繰り返し実行します。この記事では、do while ループの基本的な使い方や注意点、そしてより効果的なコーディングのためのベストプラクティスについて解説していきます。
TextMesh Pro のテキストを生成した際、デフォルト設定ではRaycast Targetがオンになっています。これは、すべてのテキスト要素がレイキャストの対象となります。Enable Raycast Target の設定変更でデフォルトで Raycast Target をオフにすることができます。
デザインパターンは、プログラムを設計するときによく使われる解決策のパターンです。Strategy(ストラテジー)パターンは、異なる振る舞いやアルゴリズムを持つオブジェクトを使い分け可能な形にするパターンです。これにより、プログラムが柔軟で拡張しやすくなります。
C# において、Dictionary はキーと値のペアを格納するデータ構造としてよく使われます。しかし、Dictionary のキーをソートすることは直接できません。 本記事では、LINQ や SortedDictionary などを使って Dictionary をソートするための3つの方法を紹介します。
Unity エディターのダークテーマは、エディター内の背景色、ボタンやパネルなどの各種UI要素のカラースキームを暗い配色に切り替える機能です。ダークモードは長時間の作業による目の疲れを軽減し、ユーザーの作業効率を向上させることを目的としています。
デザインパターンは、プログラムを設計するときによく使われる解決策のパターンです。 本記事では、C# を用いて Observer パターンを紹介します。Observer パターンは、あるオブジェクト(Subject)の状態が変わったときに、他のオブジェクト(Observer)にその変更を知らせる方法です。
C# における do while ループは、プログラム制御構造の一つであり、特定の条件が満たされるまでコードブロックを繰り返し実行します。この記事では、do while ループの基本的な使い方や注意点、そしてより効果的なコーディングのためのベストプラクティスについて解説していきます。
TextMesh Pro のテキストを生成した際、デフォルト設定ではRaycast Targetがオンになっています。これは、すべてのテキスト要素がレイキャストの対象となります。Enable Raycast Target の設定変更でデフォルトで Raycast Target をオフにすることができます。
デザインパターンは、プログラムを設計するときによく使われる解決策のパターンです。Strategy(ストラテジー)パターンは、異なる振る舞いやアルゴリズムを持つオブジェクトを使い分け可能な形にするパターンです。これにより、プログラムが柔軟で拡張しやすくなります。
C# において、Dictionary はキーと値のペアを格納するデータ構造としてよく使われます。しかし、Dictionary のキーをソートすることは直接できません。 本記事では、LINQ や SortedDictionary などを使って Dictionary をソートするための3つの方法を紹介します。
ITエンジニア本大賞とは、ITエンジニアにとって役立つ書籍を選定し、その優れた書籍を表彰する賞です。 選定された書籍は、技術書、ビジネス書、一般書など多岐にわたります。各部門の大賞だけでなく特別賞などもあり、毎年多くの人が投票に参加しています。エンジニアが新たな知識を得たり、スキルアップの書籍選びの参考になる賞です。
三項演算子は、三項条件演算子とも呼ばれ、if 文を簡潔に表現することができる演算子です。三項演算子は、if-else 文を使って同じ機能を実現する場合よりも、より短く、簡潔に書けるという利点があります。また、コードの可読性を向上させるためにも役立ちます。
Unity の Animator は、ゲームオブジェクトのアニメーションを制御するためのコンポーネントです。Animator は、アニメーションの再生や停止、パラメータの設定など、アニメーションの制御を容易にする機能を提供します。 本記事ではAnimatorを使いアニメーションの速度を変更する方法について解説します。
Unity のゲーム開発において、オブジェクトを操作することは非常に重要です。オブジェクトの中には子オブジェクトを持っていることがありますが、親オブジェクト以下の子オブジェクトを全て取得したい場合があります。今回は、Unity で子オブジェクトをすべて取得する方法について解説します。
Unity のライフサイクルとは、ゲームオブジェクトの生成から破棄までの一連のプロセスのことを指します。 ライフサイクルの流れに沿って決まった関数が順番に呼び出されるので、どのタイミングでどんな関数が呼び出されるかを覚えておくことでゲームオブジェクトを制御できます。
ゲーム開発に興味がある人なら、誰しもが一度は目にするであろうゲームエンジン「Unity」。しかしその多彩な機能や操作方法の複雑さから、初心者にとっては手を出しにくいものでもあります。 本記事では、初心者にオススメな Unity 関連の入門書を 6 冊ご紹介します。
C# スクリプトの変更を Unity で反映させたい場合は、Unity上で Ctrl + Rを押すとコンパイルが行われます。ただ毎度手動で更新するのが面倒な方向けに、本記事では Unity の Auto Refresh という設定を使い、スクリプトの変更を Unity 側で自動反映させる方法を紹介します。
C# の Dictionary は同じキーの二重登録ができません。同じキーを追加しようとするとコンパイルエラーが出ます。今回は Dictionary でデータを追加する際に既にキーや値が存在するか事前にチェックする方法を紹介します。ContainsKey や ContainsContainsValue を使います。
C# の String.Split を使うことで、例えば "あ,い,う,え,お" という文字列をコンマ区切りで分割し、1文字ずつの配列やリストにすることができます。 本記事では String.Split を使った文字列の分割方法を紹介します。
C# において、配列やリストの順番を昇順や降順に変更するには、Array.Sort メソッドや List.Sort メソッド、または LINQ クラスの OrderByや OrderByDescendingで実現可能です。配列の昇順ソートには Array.Sortを使用します。
C# において、配列やリストの順番を昇順や降順に変更するには、Array.Sort メソッドや List.Sort メソッド、または LINQ クラスの OrderByや OrderByDescendingで実現可能です。配列の昇順ソートには Array.Sortを使用します。
Unity Editor をダウンロードして開いた際、エディターの表記はデフォルトでは英語かと思います。 本記事では Unity Hub を用いて Unity エディターを日本語化する方法を紹介します。 まずはじめに、Unity Hub で日本語のモジュールを追加します。
本記事では2つ以上のリスト (List) を結合し、1つのリストにする方法を紹介します。1つ目はforeachを使ってリストを結合します。2つ目は List.AddRangeを使った結合方法です。3つ目はEnumerable.Concat() を使った結合方法です。
本記事では Unity の UGUI を使い、テキストをループで点滅させるアニメーションの実装方法を紹介します。実装では DOTween アセットを使用しています。実装内容は、CanvasGroup の Alpha 値を DOTween で操作し、点滅するようなフェード処理を実現しています。