トーフメモ

主にゲーム制作

Unity-UnityEditor

ファイル読み込みを自分で呼び出して認識させる【Unity】

起こった問題 Unity実行中に、System.IO.Fileクラスで作成したファイル、フォルダや、その他方法で作成したデータをAssetフォルダ上に置いて使用するとします。ですが、Unityエディタ上ではすぐ認識されず、Unity側の認識を待たなければResources.Loadなどで…

エディタ拡張で偽ブラクラを作る【Unity】

無限にウィンドウが開いたり、ホラー画像がでかでかと出たり、明らかにいたずらで作ったwebページ。 うっかりリンクを踏んだら最後。 このwebページをブラクラ(ブラウザクラッシャー)といい、1990年代から、2000年代あたりに多くありました。(今もどこかにあ…

【Unity】エディタ拡張で音楽をながす方法 

EditorWindowを作成してその中で音を出したい! コンポーネントを作るんじゃなく、直接呼び出したい! 調べました! AudioUtility 既につよいスクリプトを作っている人がいたので、これを利用して実装します。 このAudioUtility内のメソッドを使ってAulidcli…

【Unity】エディタ拡張でゲームを作る

エディタ上で動くゲームをつくりました。かんたんなシューティングです。 ゲーム制作に疲れたときに遊べるのでおすすめです(?) youtu.be 制作のポイント Event.current OnGUIがどのイベントで呼ばれているか取得できる&キー入力などを検知できる EditorGUI.D…

【Unity】ArgumentException: Getting control 1's position in a group with only 1 controls when doing repaint が出たときの対処法

Unityでエディタ拡張を作っていた時の話。 以下のようなエラーが出ました。ArgumentException: Getting control 1's position in a group with only 1 controls when doing repaint Abortingこのエラーは「OnGUI()の仕組み」が大きくかかわっていそうです。 …

【UnityEditor】EditorGUILayout.LabelFieldの文字をスクリーン中心に置きたい

少し苦労したのでメモ書き。 GUILayout.Spaceを使って位置を中心にずらします。 さらにGUIStyleを設定してalignmentを中心にずらします。 void OnGUI(){ GUILayout.Space(position.size.y / 2); GUIStyle myStyle = new GUIStyle(); myStyle.alignment = Tex…

【UnityEditor】オリジナルのエディタ画面(EditorWindow)の作りかた

HierarcyビューやInspectorビューなどのことを、EditorWindowと言います。 EditorWindowは自分で作ることができ、その中にいろんな機能を作ることができます。 つくりかた EditorWIndowクラスを継承したクラスを作成します。 EditorWIndowクラスを使うために…