2025-01-01から1年間の記事一覧
Editorクラスを継承したC#クラスを書き、[CustomEditor]属性を付けることで、UI Toolkitを使ってカスタム・エディターを作ることが出来ます。 CreateInspectorGUIメソッドを追加し、その中でUI構造を定義してRegisterCallbackメソッドを使ってインタラクショ…
ListViewとはUI Toolkitにおいて、itemsSourceとして設定したコレクション(ListやArrayなど)の各アイテムを列挙するVisualElementです。 各アイテムを表示する際に、そのUI構造や挙動を決定づけるmakeItemとbindItemについて書きます。なお、本記事はMulti…
FMODを更新した後(2.03.06>>2.03.08)で既存プロジェクトが開けなくなる、という現象に遭遇しました。『バージョン移行のために.unsavedフォルダを変更したいが出来ない、書き込み権限はありますか?』というような内容のダイアログが表示されてプロジェクト…
VFX Graphでのシード値の設定について簡単にまとめます。 コンピュータによる乱数生成において、シード値は重要です。疑似乱数ではシード値が同じだと出力される乱数が同じになります。これは乱数としては弱点であると同時に、決定論的に不特定の数値を出力…
Unity 6.1.11でInput Systemパッケージを1.14.1に更新した所、操作が効かなくなりました。(かなりビビりました)私の環境のせいかもしれませんが、とりあえず対応策を書いておきたいと思います。 ※正確には1.14ではなく1.14.1なので修正しました Unity 6か…
ゲームコンセプト、コンセプトという言葉は、ゲーム制作において色々な意味で議論される用語になっています。特にカタカナ英語にありがちな問題ですが、日本においてはその定義が曖昧なまま濫用されている場合もあるようです。 そういう時は、そもそもの英語…
生成したパーティクルをSkinned Mesh上に設置することが出来ます。上画像ではVFX Graphでパーティクルとして生成した羽をキャラクターの頭に飾り付けています。 今回やっていることはVFX Graphのサンプル"Learning Templates"にある、SampleSkinnedMeshとい…
Unityの従来のパーティクル・システムには二種類のパーティクル放出方法があります。Emissionモジュールで設定しますが、 Rate over Time : 毎秒ごとに一定数放出する Rate over Distance : ゲームオブジェクトの移動に応じて放出する というものです。 VFX …
流石にAddressablesの使い方を覚えないと!ということで、ひとまずパッケージを導入して使っていくことにしました。しかし、ゲーム制作がある程度の段階まで進まないと学習のための実践すら難しい機能なので歯がゆい部分もあります。最初から導入してアセッ…
Dictionaryとは、KeyとValueの組み合わせによる、効率的で索引に強いデータ構造であり、ゲーム制作に役立つデータ・タイプです。しかし、UnityにおいてはシリアライザがDictionaryに対応していないため、C#スクリプトでは当然使えますが、エディタ上で直接的…
今回はすごく大事だけど、ついつい忘れてしまいがちな、World TransformとLocal Transformについて書いておきます。 Transformは空のゲーム・オブジェクトであっても、少なくともこのコンポーネントは持たなければならない、という意味でUnityにおいて最も重…
Unityにおけるカメラのための公式パッケージ、Cinemachine。3.xにヴァージョンアップされたことで、更に使い勝手が良くなりました。 しかし、2.xではシーン上に作成したCinemachine Cameraに自動でSceneビューのカメラ位置とアングル(つまりはTransform)を…
UI Toolkitの新しいデータ・バインディングについて書きます。これはつまり、ゲーム内のパラメータ変化において、それに結びつけられたUIが自動的に表示を変えてくれるという機能です。C#コード内でUI要素の値を直接操作する必要がなくなります。Binding(バ…