夏の予定
東京ゲームダンジョン外伝に申し込み損ねたウッカリ者の皆さんこんにちは。申し込み開始日は日中いろいろ予定があり、帰宅後の深夜にXを確認したら締め切られた後でした。おかげで直近の出展予定がゼロになったばかりでなく、金欠でBitsummitも見に行けないので夏の予定は真っ白です。
リスペクトが過ぎたゲーム
その昔「ドリームキャスト」(以下DC)というSEGA製のゲーム機があったのですが、競合したPS,PS2の影に隠れてあまり一般に浸透することなく消え去ったので、DC専用で発売されたゲームソフトの数々も一部ファンの間でしか知られていない存在でした。
そんなDC専用ゲームの中でも熱狂的なファンが存在するゲームが幾つかあり、特に「ジェットセットラジオ」というゲームに対しては現在でも続編を待ちわびている熱心なファンがいるようで、ついにはそのファンメイド的なゲームが発売されました。
スケート、スケボー、BMXを乗りこなしながらグラインド、マニュアル、ブーストなどのテクニックを使って街を滑り、その過程でマップの至る所に設置されているポイントにグラフィティ(落書き)を描いていく、というゲームとなっています。
トゥーン系のアートスタイルにストリートカルチャーを題材にしたゲーム内容、ゲーム内で流れる楽曲にジェットセットラジオでも楽曲を担当した長沼英樹氏の楽曲が含まれている等、「ジェットセットラジオ」のクローンと言っても差支えないような内容で、ローポリゴンで粗目のテクスチャのキャラクターや、リアクション動作がワンテンポ遅いイベントシーンなど、元ネタのゲームを現代版にアレンジしたというより、DC版をそのまま引き継いで現代に蘇らせたような造り。
ゲームプレイ中にマップや設定等の確認を行うオプション画面には(スマホではなく)ガラケーの画面が採用されていたりするほど、制作側のこだわりを感じたのですが、その分どうしてもゲームプレイの古臭さ、不親切さ、単調さは拭いきれず、プレイ中はずっとレトロゲームを遊んでいるような感覚になりました。
左のガラケーがオプション画面となっている
元ネタの「ジェットセットラジオ」同様にストリートを駆け巡り、グラインド等のテクニックを駆使した時の「クールさ」、「ファンキーさ」を感じて気持ちよくなるゲームですが、20年前のゲームの「ノリ」を受け入れて最後まで楽しめるかは人によって異なるゲームだと思います。
検索機能
UnityエディタでProject内やHierarchy内を検索する機能は以前からありましたが、Unity2021からその機能が強化されているようです。
Unity Searchという機能名がわざわざ付けられてマニュアルにも記載されている程に多機能となっており、様々な検索条件が指定できたり、検索結果として表示されたオブジェクトに対して検索結果画面から直接編集出来たりします。(SearchウィンドウにInspectorが付属している)
このUnity Searchを使うにはCtl+K(Command+K)を押下するか、Unityエディタの右上にある拡大鏡のアイコンをクリックします。
Searchウィンドウが開くのでウィンドウ上部のテキストボックスに検索したいキーワードを入力するだけです。また、Unity Searchではキーワードだけでなくクエリを使っても検索する事ができます。
ただし、このクエリを使った検索は事前にIndexを作成する必要があるため、デフォルトの場合、最初にSearchウィンドウを開いたタイミングでIndexの作成が行われます。
Unityエディタの右下に「Building assets search index」の文言とプログレスバーが表示されるので、これが完了するまで待ちます。
これが結構時間が掛かる
クエリにより複雑な検索条件を指定することができます。
例えばProject内のテクスチャ(Texture)でファイルサイズが大きい物を探したい場合は、テキストボックスに「sort{t:texture, @size, desc}」と入力すると、Project内のテクスチャがファイルサイズの大きい順に並べて表示されます。
簡単に使いたい
クエリを使えば様々な検索が行えますが、もっと簡潔に検索したい場合の機能もUnity Searchでは用意されています。
Searchウィンドウのテキストボックス横のカプセルアイコンを押し、「+」ボタンを押すと検索対象の種別(GameObject,Type)を指定した検索が行えます。
例えばProject内でAnimationファイルを探したい場合は
上の動画のような操作を行うことで検索が出来ます。
上記の操作で検索を行うとテキストボックスには検索内容を示すアイコンが表示されます。下の図はHierarchy内で「UnderPlayerJudgementComponent」というスクリプトがアタッチされたオブジェクトを検索した例です。
この状態でカプセルアイコンをクリックすると、検索内容がクエリで表示されます。
さらに便利な検索
長期間ゲーム制作を続けていると、シーン内のオブジェクトについてプロパティの参照設定が外れていたり、参照していたオブジェクトを削除してしまい未設定となっている物があったりします。
例えば以下のスクリプトでは「EffectDiscObj」プロパティの参照先が未設定となっていますが、
EffectDiscObjの参照先がNoneとなっている
これをSearchウィンドウで「Hierarchy内→"ShapesSnowLine**"の名前が付いたコンポーネント→プロパティ"EffectDiscObj"がNoneとなっているもの」という意味で
「h: t:ShapesSnowLine #EffectDiscObj=<$object:none$>」
とクエリを書くことで検索する事が出来ます。
他にもいろいろな検索が行うことができますが、クエリに関してはマニュアルを見ても分かりづらいため、LIGHT11さんがまとめた様々な使用例を参考にして学ぶ方が簡単だと思います。