【Unity】ScriptableObjectにマスタデータを持たせるメリットについて
- 2019.02.01
- ScriptableObject, Unity, スクリプト
Unityのなかでマスタデータを持つ時にScriptableObjectを使うメリット・デメリットを検討しました。CSV、XML、JSON、YAMLを使う場合についても考え、比較を行なっています。
あなたのゲームをいち早く完成させるための研究所
Unityのなかでマスタデータを持つ時にScriptableObjectを使うメリット・デメリットを検討しました。CSV、XML、JSON、YAMLを使う場合についても考え、比較を行なっています。
便利だという話は聞くけどいまいちよく分からないScriptableObject。その概要の説明と、実際に作ってみるチュートリアルを作ったのでぜひ。触っていると色々な使い方が思い浮かぶ……かも。
今作っているアプリ『空とにゃんこと風船と』で使用したUnityのテクニックの観点で紹介しています。割と基本的なテクニックがあればゲームって作れちゃうんだなーと感じてもらえる……はず!
Unityでゲームをビルドした際レポートに表示されるFile headers。容量が大きいのにいまいち何のファイルが含まれているのか分かりにくいこのカテゴリについて、削減の方法を記載しています。ポイントはリアルタイムGIでした。
ビルド時に発生したcatalogの権限エラーについて扱っています。2018年12月現在ではPreview版のAddressables System。開発中だけあってなかなかナレッジがないため、エラーメッセージを見つけたらすかさず記録していくスタイルでこの記事を書きました。
Visual Effects Graph (VFX Graph)の操作方法とノードの説明を触ってみた範囲でまとめています。サンプル作品なども一緒に載せているので、どんな感じにエフェクトを作れるのかイメージを持ってもらえるかと思います。
ノードで編集可能なGPUベースのエフェクト作成機能であるVisual Effect Graph (VFX Graph)の導入方法をまとめています。クローンするブランチによってエラーが発生したりするので、私が出会った範囲でエラーの対処方法も記載しています。
Preview版のVFX GraphがUnity2018.3.0bxで使えるらしいので、まずはベータ版のインストールから。Unity Hubからインストールすると最短4クリックでインストールが終わって楽ちんです。
Unity Hubの1.2.0版をベースにインストール手順、使用方法、メリットデメリットをまとめました。Unity Hubに興味がある人、これからUnityを始めるし、便利機能を使いたい! って人におすすめ。
ゲームの見た目に関わる部分として、カメラワークが挙げられます。この記事ではカメラワークの種類を紹介するとともに、Unityで実装する場合はどうなるのか、実例付きでまとめています。
Application.internetReachabilityを確認することで、端末がインターネットに接続されているかどうかを簡単に確認することができます。そのサンプルと実行イメージを作ってみたので、サクッと導入してみましょ。
コルーチンをおまじない的に使っているけど、そもそもコルーチンってなんなのなの? って思った時にオススメしたい記事。ポイントは中断と再開が可能な点。初心者向けを謳いながら割とマニアックなところに触れたり、マルチスレッドとの目的の違いにも触れています。
The referenced script on this Behaviour (Game Object '<ゲームオブジェクト名>') is missing!のメッセージが表示されるときの対処法について。多くの場合、スクリプトを消したことでそれを参照していたコンポーネントでMissingが発生しているのが原因です。特にPrefabのコンポーネントは忘れやすいので注意。
AddressableAssetを使った場合に、fbxファイルをインポートした時に設定するAnimationタブにてエラーが発生します。外部からインポートしたアニメーションクリップの設定ができなくなるので、AddressableAssetを使っていても、fbxのインポート時は外しておくべし。
SliderのValueをInspectorから変更するとSendMessage cannot be called during Awake, CheckConsistency, or OnValidateの警告が出て来ますが、これはUnity2018.2でも変わらずでした。実害は無い(と思う)けど、コンソールが警告で埋め尽くされるので、できれば直して欲しいなーUnityさん(チラッ)
5.6で作ったプロジェクトをUnity2018.2で開いたところ、PackageManagerに関する権限エラーが約200件ほどコンソールに出力されました。sudoを使った権限変更で対応できるので、ビビらず対処するとよろし。
プログラミングをしていると無意識のうちに車輪の再発明をしてしまう場合。自分のアイディアが既に考えられたものだと知るのは辛いけど、先駆者がいないか確認するのは大事。UnityではAsset Storeをうまく使うと車輪の再発明を避けられるので、そのメリットをお伝えしたい。
Inspectorウィンドウへの表示に関係するUnityのAttributeをまとめています。このブログではこれらのAttributeについて詳細記事を作成しているので、使い方を掴むのにも使えます。
HelpURLAttributeを使うことでInspectorウィンドウからヘルプページに飛ばすことができます。1クラスにつき1つのURLを指定できるので、自作クラスのリファレンスページに飛ぶようにすれば、コードを触らない人にもフィールドやメソッドの役割を伝えることができます。
Inspectorウィンドウに表示するフィールドはToolTipAttributeを使ってヒントメッセージを表示すると親切です。カーソルを合わせるだけでメッセージを表示できるので、Inspectorウィンドウ内のスペースも取らなくて便利。チーム内の意思伝達のおともにぜひ。