UnityのEditor拡張メモ

Editor拡張の話です。

EditorApplication.playModeStateChanged

EditorApplication.playModeStateChangedという関数があります。こちらは、PlayモードとEditorモードの2つのモードの切り替え時に呼び出されます。 PlayModeStateChangeという型の引数が渡され、この引数を参照してそれぞれの処理を実装します。

実装例

static TestScriptEditor()
{
    EditorApplication.playModeStateChanged += OnChanged;
}

private static void OnChanged(PlayModeStateChange state)
{
    switch (state)
    {
        case PlayModeStateChange.EnteredEditMode:
            Debug.Log("Entered Edit Mode");
            break;
        case PlayModeStateChange.ExitingEditMode:
            Debug.Log("Exiting Edit Mode");
            break;
        case PlayModeStateChange.EnteredPlayMode:
            Debug.Log("Entered Play Mode");
            break;
        case PlayModeStateChange.ExitingPlayMode:
            Debug.Log("Exiting Play Mode");
            break;
    }
}

Selection.selectionChanged

Selection.selectionChangedは、エディタ内で選択が変更されたときに発生します。 エディタ内でゲームオブジェクトやアセットなどの選択が変わると、このイベントが発生します。

実装例

static TestScriptEditor()
{
     Selection.selectionChanged += OnSelectionChanged;
}

private static void OnSelectionChanged()
{
    Debug.Log("Selection Changed");
}

UnityEditor.Callbacks.DidReloadScripts

UnityEditor.Callbacks.DidReloadScripts属性が付けられている関数は、スクリプトがリロードされたときに呼び出されます。 スクリプトがリロードされるのは、主に新しいスクリプトが作成されたとき、既存のスクリプトが変更されたとき、またはUnityエディタが再起動されたときです。

実装例

[UnityEditor.Callbacks.DidReloadScripts]
private static void OnScriptsReloaded()
{
}

天橋立を見に行ってきました

天橋立傘松公園からの景色がとても綺麗ということで行ってきました。 駐車場に車を止めて、ケーブルカー(リフト)の駅に向かいます。

料金は同じなので、どちらでも良いと思いますが、ケーブルカーは時間が決まっているのでリフトで登ってみました。 背が高い(足が長い)と所々地面に接触するおそれがありそうですので、乗るときには注意が必要です。

天候は良くないですが、雨は降っていなかったので景色がきれいでした。

帰りはケーブルカーに乗りました。 ケーブルカーに乗ること自体本当に久しぶりでした。

その他

個人的に気になったのが、成相寺のイメージキャラクターがいることでした。

www.nariaiji.jp

何かグッズがあれば買おうか思いましたが、香水しかなかったので諦めました。

【C104】コミックマーケットに参加してきました。

本日、東京ビッグサイトで開催されたコミックマーケット104にて、サークル「西-さ02a albatrus」として参加させていただきました。 非常に暑い日ではありましたが、スペースにお越しいただき、誠にありがとうございました。

西館

前回は久しぶりの東館だったのですが、今回は西館でした。 サークルスペースにはいつものポスターと、今回から「お品書き」を立てかけられるアクリル立てを持っていきました。

サークルスペース

同人誌

「UnityEffectGuild」を持っていきました。 UGUIとParitcleSystemの描画順を主に書いた本です。

表紙

配布結果

前回に引き続き20部を印刷しました。 開場は10:30で、15:30に配布を終りました。

感想

今回はかなり心に響くサークル参加になりました。 会場時間が10:30だったのですが、11:20頃まで1冊も配布できませんでした(そもそもサークルに立ち寄る方が全くいませんでした)。いつもなら12時から13時の一番人が多い時間帯も本当に疎らな状況でした。 帰りのことを考えて15:30に撤収をしましたが、非常に辛い経験となりました。

原因

これはコロナ明けから感じていたことですが、サークルに訪れる人が極端に減ったことで、ついにその波が来たかと思いました。Unityへの興味や注目度が少なくなっているのだと感じます。 自分のサークルだけでなく、ほかのUnity関係のサークルも同じような状況が見受けられました。

また、今回自分が書いた内容にも原因があると思っています(おそらくこちらのほうが正しいでしょう)。 しっかりと記事を練り上げて書いたかどうか、読者がそれを知りたいかどうか、そして視覚的に理解しやすいサンプルを用意したかどうか。また、ブログなどで正しくアピールできていたか、Unityに関する内容も含めて、もう少し突き詰めていく必要があると感じています。 一旦、次のコミケには申し込まない予定です。 しっかりと内容がまとまり次第、年に一度良質な作品を出せるように努めたいと思います。

EditorPrefsについて調べてみた

EditorPrefsはUnityのクラスで、Unityのエディタ設定の保存や取得などをするメソッドを提供します。 Unityエディタで保存されるため、プロジェクトを変更してもその設定が継続されます。

次の設定を保存できます。

  • String (文字列)
  • Int (整数)
  • Float (浮動小数点)
  • Bool (ブール値)

Bool値を保存、取得する例

まずは保存をするためのKeyを定義します。

string key = "BoolKey";

実際に値を保存するためにコートは次のようになります。

EditorPrefs.SetBool(key, true);

保存された値を使う場合は次のようになります。

var value = EditorPrefs.GetBool(key);

keyを削除する場合には次のようなコードになります。

EditorPrefs.DeleteKey(key);

keyが登録されているかどうかを判定する場合は次のようなコードになります。

 EditorPrefs.HasKey(key)

docs.unity3d.com

兵庫県の出石で楽しむ伝統料理

兵庫県の出石にそばを食べに行ってきました。

そば

出石そばは、兵庫県豊岡市出石町で古くから食されている伝統的なそば料理です。 出石そばの特徴は、細くて短い麺と、薄味のつゆで食べる点にあります。そば粉をふんだんに使用した麺は風味豊かで、つゆは鰹節や昆布でとった出汁でさっぱりとしています。

また、出石そばは小さな皿に少量ずつ盛り付けられ、「皿そば」として知られています。通常、5枚から15枚の皿が一組とされており、食べる人が好みの枚数を選んで楽しみます。

www.izushi-katsura.com

町並み

出石(いずし)は、兵庫県豊岡市にある歴史的な町です。江戸時代に城下町として栄え、その趣のある町並みが今も多く残っています

時計台が有名です。

城趾もあります。

最後に

出石は昔一回いったこと合ったのですが、久しぶりでした。 おそばも特徴があって美味しかったです。

城崎温泉の名物外湯

城崎温泉に行く機会があり、名物の外湯巡りをしました。 天候は雨でしたが、傘をさしながら巡りました。

kinosaki-spa.gr.jp

まんだらの湯

6つの外湯の中で一番小さかったです。 露天風呂を体に2つの瓶型のお風呂があるのが特徴でした。

まんだらの湯

御所の湯

外流れる滝を見ることができる露天風呂です。 立ち湯があるのが個人的にとても良かったです。建物自体も新しいのかとても綺麗でした。

御所の湯

地蔵湯

宿のあるエリアから一番遠い(駅からは一番近い) 大きさは6つの中では中位。

地蔵湯

柳の湯

杉(もしくはひのき)で作られたお風呂で、サイズは小さいですが、木の香りが心地よいです。

柳の湯

一の湯

洞窟の中に露天風呂がある。 ここだけではないですが、露天風呂はぬるいので長く入ることができる。

一の湯

鴻の湯

こちらも露天風呂があります。 シンプルなお風呂。

鴻の湯

最後に

城崎温泉のお湯は基本的に熱めですので、長時間浸かるのが難しいです。ただし、露天風呂は水温が若干低めで、長く楽しむことができます。水の色は透明に近いです。熱いため、一度に多くの湯を巡るのではなく、1~2箇所ずつゆっくりと楽しむのがおすすめです。また、定休日があるため、事前に休みの日を確認することも大切です。