20200624のUnityに関する記事は5件です。

unityでも使える、3Dモデルが無料配布してるぞいって話

あのインディーゲーム Everythingで有名な デベロッパーさんが 

そのゲームで使われている 

3Dモデルを公開しているぞい。 

こちらのサイトから ダウンロードできます。 

無料ですけど、寄付もできるようになってますね。

https://davidoreilly.itch.io/everything-library-animals

今回は 動物のモデルを公開しているが 

今後も新しいモデルを配布するみたいですね。

これだけのモデルを無料配布するなんて

太っ腹です。

unityに入れてみると こんな感じ 

デフォルトだと目が怖いので、 そこは手直しが必要ですかね。 

こんだけ動物がいたら 動物の森 作れますね。

                                                                                                                   

PS 

unity3Dゲームstandard講座も 好評発売中です。

NOTEとココナラとboothにて 販売してます。

bandicam 2020-06-24 19-55-43-528.jpg

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【メモ】Unity 2019.4 で XR Plug-in Manager から Oculus を選んだら import 無限ループにハマったけど無事脱出できた話。

TL;DRはこちら:LINK TO THE SECTION

環境情報

  • Windows 10 Home
  • Unity 2019.4.0f1, 2019.4.1f1
  • Oculus Rift

流れ

Unity 2019.4 (LTS) が来たので、早速インストールした。

ついでなので、「ゼロからはじめるHDRP 第2回 デジタルヒューマンをプレイヤーキャラにする(6月16日号) - Unityステーション」も試してみた。
ゼロからはじめるHDRP 第2回 デジタルヒューマンをプレイヤーキャラにする(6月16日号) - Unityステーション

なかなか良いモデルなので VR で見たくなり1Project Settings > Player を覗いてみたら、
built-in xr is deprecated
と書かれていた。(「いままでのXRプラグインは非推奨。新しいのを試してね!」)

そういえば、「Unity XR プラットフォームの最新情報 - Unity Technologies Blog」で XR Plug-in などというのが入ってくると言ってたなあと思い出し、「Configuring your Unity Project for XR - Unity マニュアル」の指示に従って、テキトウに Oculus 対応することにした。

  1. Edit > Project Settings > XR Plug-in ManagementXR Plug-in Management をインストール(自分の環境ではいつの間にか入っていた。)
  2. XR Rig を配置し、MainCamera を変更。(詳細は「Configuring your Unity Project for XR - Unity マニュアル」参照)
  3. Oculus を選択→インストールされる
  4. 問題発生: oculusなんちゃらのインポートが終わらない(というか、ループしてた。)& 重くて動かない → 詰む

image.png
image.png

ループ中のスクショは忘れた。 色々いじってたらまた出てきたのでスクショ。「~.oculus.xr.~」みたいな名前のもの(com.unity.xr.oculus.standalone でした。あとopenvrなんとかも出てた。)をインポートしようとしてるらしいダイアログが定期的に表示されるも何もできないので、エディタごと Kill した。

とりあえず、Unity Editor のマイナーアップデートが降ってきていたので、エディタを最新版にして再起動。
しかし、再度ループにハマる。

冷静に考えてみたら、ダイアログに Cancel ボタンがあったのでクリック。
無事ループから脱出。
XR Plug-in Managementを見ると、Oculus のチェックボックスが入ってなかったので、これもクリック。前にやったときはきちんとチェックが入らなかったのが、今回は一発でマークが付いた。

これで、Play モードに入り直したらちゃんと見れた。
ただ、HDRP + VRなので、どうしても描画が重い。

というか前のプラグインでやったときのほうが動作軽いぞ???
これから改善されることを祈る。

まとめ(仮)

  • とりあえずエディタをアップデート
  • とりあえずダイアログをキャンセル
  • とりあえずプラグインを再設定
  • なんか動くようになった

以上! しかし、これでは終わらなかった。

追記①(XR周りのプラグインを全削除)

なんと再発したので、ここから追記していく。

コンソールには

Package Metadata store error. Check if there are any other errors in the console and make sure they are corrected before trying again.
Failure reason: Timeout trying to get package list after 30s.
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

と出ていた。
メタデータの修正ってことはプラグインをRemoveしてまたinstallすれば良いってことだろうか?

現状でも、エディタを Kill か、ダイアログを Cancel すれば、ループから出ることはできる。
ただ、再発防止にはならないので、試しに色々やってみる。

ちなみに、こんな話もあったけど保留。
XR Plugin Management infinite import loop - Unity Answers

Had this problem too. First I stopped it from looping by editing a .cs file and introducing a compiler error. Just delete a semi colon somewhere.
Then go to the Steam_VR_Settings asset and uncheck the "Auto Enable VR" box. For me this was in "Assets/SteamVR_Resources/Resources/SteamVR_Settings.asset".
Now you can fix your c# again.

まず、なんとなく Package ManagerXR Plugin Managementを Remove したら怒られた。

Could not install or assign any package with id . Check if there are any other errors in the console and make sure they are corrected before trying again.
Failure reason: Error installing package . Error Code: Failure Error Message:
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

よく分らんがとりあえず、Project Settings > XR Plug-in ManagementOculus を uncheck しておく。

XR Plugin Management を再インストール。

再度ループ → ダイアログをCancel ×2で脱出

途中で止めたので、前のバージョンのままになっている:
image.png

Remove 押したら忠告が出た。そういうのは最初から出してほしかった:
image.png

そして Remove。
image.png

今回はループに入らず、そのまま終了。ただし、コンソール曰く

Error converting build target group names .
Must specify valid information for parsing in the string.
UnityEngine.SubsystemManager:Internal_ReloadSubsystemsCompleted()

無視。

Assets フォルダを見たら、Steam VR Pluginも入ってたので、アンインストールしようとするも、Package Manager > inProject に出てこない。Package Manager > My Assetsでインストールし直してみるも、やはり検索結果に出てこないので、Removeできず。

unity3d - How to remove SteamVR from Project - Stack Overflow曰く Project Settings > PlayerVirtual Reality Supported を外せとのことなので実行。(XR Plugin Managemnet がインストールされたままだとグレーアウトして外せないので注意)

実行したはいいが、何度やっても uncheck できないので一旦保留。
なんとなく Package ManagerOpenVR Desktop を検索したらこちらも Deprecated(非推奨)と出たので Remove。しかしこっちも Remove されないので一旦保留。

やはり SteamVR Plugin を消せないのが気持ち悪いので、Ctrl + S してから Unity Editor を終了し(Kill ではない)、SteamVR フォルダと SteamVR_Resources フォルダを削除(念のため別フォルダに退避)。再度プロジェクトを開く。

ダメモトで Package Manager から OpenVR Desktopを検索& Remove → 成功。(なぜ)

とりあえず、これで初期状態に戻せたっぽいので、XR Plugin Managementを入れ直す。

追記②(XR Plugin を入れ直す)

環境を整理したところで、XR Plugin Management を入れ直すと、次のエラーが出た:

Package Metadata store error. Check if there are any other errors in the console and make sure they are corrected before trying again.
Failure reason: Timeout trying to get package list after 30s.
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

最初に見たエラーは、XR Plugin Management のインストールが原因だったのか…
問題の切り分けに時間がかかってしまった。

エラーコードで検索をかけてみる:
Bug - Package Metadata store error.Check if there are any other errors in the console and make sure they a - Unity Forum
…昨日付けでバグとして共有されてるとか、タイムリー過ぎでは。

private static float k_TimeOutDelta = 30f; // -> 300f

という修正方法は、こっちの環境でも解決策にはならなかった。

頼みの綱は、公式ドキュメント:トラブルシューティング - Unity マニュアル

いや、ちょっと待て、と思い Ctrl + P(再生)してみると、
ちゃんと動くし、ループにはハマらない、ということに気付いた。

それならと、コンソールウィンドウの Clear on Play を有効にして Ctrl + P する…
image.png

エラーが出ていない…。
OpenVR Desktop はわざと取っ払ったものだし、もうひとつはただのコメントだ。

なるほど、古いプラグインが Unity 2020 から廃止になるとは聞いていたが、同時に使用するのも駄目だったらしい。

TL;DR

  • import のループにハマったら、ダイアログのCancelボタンを何度かクリックすれば、ループから抜けられる。
  • 新しい XR Plugin は既存のプラグインと相性が悪い(かも 2)。
  • OpenVR Desktop, Steam VR Plugin, Oculus Integrationなどをすべてアンインストールしてから XR Plugin を入れると安全。
  • そもそも、新しい XR Plugin は、外部プラグインを基本的に必要としなかった気がする。(SteamVR もそのうち対応するはず 3
  • コンソールに何か表示されるが、Clear on Play を有効にすれば、再生モードをオン/オフすることで、エラーが今も続いているのかが分かる。
  • TimeOut はそこまで気にしなくて良いのかもしれない
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【メモ】Unity 2019.4 で XR Plug-in Manager から Oculus を選んだら無限ループにハマったけど無事脱出できた話。

環境情報

  • Windows 10 Home
  • Unity 2019.4.0f1, 2019.4.1f1
  • Oculus Rift

流れ

Unity 2019.4 (LTS) が来たので、早速インストールした。

ついでなので、「ゼロからはじめるHDRP 第2回 デジタルヒューマンをプレイヤーキャラにする(6月16日号) - Unityステーション」も試してみた。
ゼロからはじめるHDRP 第2回 デジタルヒューマンをプレイヤーキャラにする(6月16日号) - Unityステーション

なかなか良いモデルなので VR で見たくなり1Project Settings > Player を覗いてみたら、
built-in xr is deprecated
と書かれていた。(「いままでのXRプラグインは非推奨。新しいのを試して」)

そういえば、「Unity XR プラットフォームの最新情報 - Unity Technologies Blog」で XR Plug-in とかいうのが入ってくるって言ってたなあと思い出し、「Configuring your Unity Project for XR - Unity マニュアル」の指示に従って、テキトウに Oculus 対応することにした。

  1. Edit > Project Settings > XR Plug-in ManagementXR Plug-in Management をインストール(自分の環境ではいつの間にか入っていた。)
  2. XR Rig を配置し、MainCamera を変更。(詳細は「Configuring your Unity Project for XR - Unity マニュアル」参照)
  3. Oculus を選択→インストールされる
  4. 問題発生: oculusなんちゃらのインポートが終わらない(というか、ループしてた。)& 重くて動かない → 詰む

image.png
image.png

ループ中のスクショは忘れた。 色々いじってたらまた出てきたのでスクショ。「~.oculus.xr.~」みたいな名前のもの(com.unity.xr.oculus.standalone でした。あとopenvrなんとかも出てた。)をインポートしようとしてるらしいダイアログが定期的に表示されるも何もできないので、エディタごと Kill した。

とりあえず、Unity Editor のマイナーアップデートが降ってきていたので、エディタを最新版にして再起動。
しかし、再度ループにハマる。

冷静に考えてみたら、ダイアログに Cancel ボタンがあったのでクリック。
無事ループから脱出。
XR Plug-in Managementを見ると、Oculus のチェックボックスが入ってなかったので、これもクリック。前にやったときはきちんとチェックが入らなかったのが、今回は一発でマークが付いた。

これで、Play モードに入り直したらちゃんと見れた。
ただ、HDRP + VRなので、どうしても描画が重い。

というか前のプラグインでやったときのほうが動作軽いぞ???
これから改善されることを祈る。

まとめ

  • とりあえずエディタをアップデート
  • とりあえずダイアログをキャンセル
  • とりあえずプラグインを再設定
  • なんか動くようになった

以上!

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【メモ】Unity 2019.4 で XR Plug-in Manager から Oculus を選んだら無限ループにハマったけど無事脱出できた話(できてない)。

環境情報

  • Windows 10 Home
  • Unity 2019.4.0f1, 2019.4.1f1
  • Oculus Rift

流れ

Unity 2019.4 (LTS) が来たので、早速インストールした。

ついでなので、「ゼロからはじめるHDRP 第2回 デジタルヒューマンをプレイヤーキャラにする(6月16日号) - Unityステーション」も試してみた。
ゼロからはじめるHDRP 第2回 デジタルヒューマンをプレイヤーキャラにする(6月16日号) - Unityステーション

なかなか良いモデルなので VR で見たくなり1Project Settings > Player を覗いてみたら、
built-in xr is deprecated
と書かれていた。(「いままでのXRプラグインは非推奨。新しいのを試して」)

そういえば、「Unity XR プラットフォームの最新情報 - Unity Technologies Blog」で XR Plug-in とかいうのが入ってくるって言ってたなあと思い出し、「Configuring your Unity Project for XR - Unity マニュアル」の指示に従って、テキトウに Oculus 対応することにした。

  1. Edit > Project Settings > XR Plug-in ManagementXR Plug-in Management をインストール(自分の環境ではいつの間にか入っていた。)
  2. XR Rig を配置し、MainCamera を変更。(詳細は「Configuring your Unity Project for XR - Unity マニュアル」参照)
  3. Oculus を選択→インストールされる
  4. 問題発生: oculusなんちゃらのインポートが終わらない(というか、ループしてた。)& 重くて動かない → 詰む

image.png
image.png

ループ中のスクショは忘れた。 色々いじってたらまた出てきたのでスクショ。「~.oculus.xr.~」みたいな名前のもの(com.unity.xr.oculus.standalone でした。あとopenvrなんとかも出てた。)をインポートしようとしてるらしいダイアログが定期的に表示されるも何もできないので、エディタごと Kill した。

とりあえず、Unity Editor のマイナーアップデートが降ってきていたので、エディタを最新版にして再起動。
しかし、再度ループにハマる。

冷静に考えてみたら、ダイアログに Cancel ボタンがあったのでクリック。
無事ループから脱出。
XR Plug-in Managementを見ると、Oculus のチェックボックスが入ってなかったので、これもクリック。前にやったときはきちんとチェックが入らなかったのが、今回は一発でマークが付いた。

これで、Play モードに入り直したらちゃんと見れた。
ただ、HDRP + VRなので、どうしても描画が重い。

というか前のプラグインでやったときのほうが動作軽いぞ???
これから改善されることを祈る。

まとめ(仮)

  • とりあえずエディタをアップデート
  • とりあえずダイアログをキャンセル
  • とりあえずプラグインを再設定
  • なんか動くようになった

以上!

追記(XR周りのプラグインをアンインストール)

なんか再発したので、さらに書く。
コンソールには

Package Metadata store error. Check if there are any other errors in the console and make sure they are corrected before trying again.
Failure reason: Timeout trying to get package list after 30s.
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

と出てた。
メタデータの修正ってことはプラグインをRemoveしてまたinstallすれば良いってことだろうか?

現状でも、エディタを Kill か、ダイアログを Cancel すれば、ループから出ることはできる。
ただ、再発防止にはならないので、試しに色々やってみる。

ちなみに、こんな話もあったけど保留。
XR Plugin Management infinite import loop - Unity Answers

Had this problem too. First I stopped it from looping by editing a .cs file and introducing a compiler error. Just delete a semi colon somewhere.
Then go to the Steam_VR_Settings asset and uncheck the "Auto Enable VR" box. For me this was in "Assets/SteamVR_Resources/Resources/SteamVR_Settings.asset".
Now you can fix your c# again.

まず、なんとなく Package ManagerXR Plugin Managementを Remove したら怒られた。

Could not install or assign any package with id . Check if there are any other errors in the console and make sure they are corrected before trying again.
Failure reason: Error installing package . Error Code: Failure Error Message:
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

よく分らんがとりあえず、Project Settings > XR Plug-in ManagementOculus を uncheck しておく。

XR Plugin Management を再インストール。

再度ループ → ダイアログをCancel ×2で脱出

途中で止めたので、前のバージョンのままになっている:
image.png

Remove 押したら忠告が出た。最初からそれ出してほしかった:
image.png

Remove
image.png

今回はループに入らず、そのまま終了。ただし、コンソール曰く

Error converting build target group names .
Must specify valid information for parsing in the string.
UnityEngine.SubsystemManager:Internal_ReloadSubsystemsCompleted()
無視。

Assets フォルダを見たら、Steam VR Pluginも入ってたので、アンインストールしようとするも、Package Manager > inProject に出てこない。Package Manager > My Assetsでインストールし直してみるも、やはり検索結果に出てこないので、Removeできず。

unity3d - How to remove SteamVR from Project - Stack Overflow曰く Project Settings > PlayerVirtual Reality Supported を外せとのことなので実行。(XR Plugin Managemnet がインストールされたままだとグレーアウトして外せないので注意)

実行したはいいが、何度やっても uncheck できないので一旦保留。
なんとなく Package ManagerOpenVR Desktop を検索したらこちらも Deprecated(非推奨)と出たので Remove。しかし Remove されないので一旦保留。

やはり SteamVR Plugin を消せないのが気持ち悪いので、Ctrl + S してから Unity Editor を終了し(Kill ではない)、SteamVRSteamVR_Resourcesを削除(念のため別フォルダに退避)。再度プロジェクトを開く。

ダメモトで Package Manager から OpenVR Desktopを検索& Remove → 成功。(なぜ)

とりあえず、これで初期状態に戻せたっぽいので、XR Plugin Managementを入れ直す。

追記(最初からやり直す)

環境を整理したところで、XR Plugin Management を入れ直すと、次のエラーが出た:

Package Metadata store error. Check if there are any other errors in the console and make sure they are corrected before trying again.
Failure reason: Timeout trying to get package list after 30s.
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

最初に見たやつは、XR Plugin Management のインストールが原因だったのか…
問題の切り分けに時間がかかってしまった。

エラーコードで検索をかけてみる:
Bug - Package Metadata store error.Check if there are any other errors in the console and make sure they a - Unity Forum
…昨日付けでバグとして共有されてるとか、タイムリー過ぎでは。

private static float k_TimeOutDelta = 30f; // -> 300f

の修正は、こっちの環境でも解決策にはならなかった。

頼みの綱は、公式ドキュメント:トラブルシューティング - Unity マニュアル

(あとで続きを書く)

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Unity】マップエディタを作ってみました【エディタ拡張】

1.エディタ拡張とは

Unityのエディタはカスタマイズできます。
自作でウィンドウを作成したり、インスペクターを拡張したりなど。

CustomEditorWindow.jpg

Unity公式マニュアルからの画像
https://docs.unity3d.com/2020.2/Documentation/Manual/editor-EditorWindows.html

2.マップエディタとは

ゲームのマップを作成する際のツールです。

Unityでは2D用にタイルマップが用意されているので、確認してみると良いと思います。
六角形やクォータービュー(IsometricView)のものなど汎用性高いです。

AmbientImage.png AmbientImage.png
Unity公式マニュアルからの画像
https://docs.unity3d.com/ja/2020.1/Manual/class-Tilemap.html

3.目的・ターゲット

・自分の備忘録として残す
 エディタ拡張の基本的知識の定着のため

・情報の公開
 エディタ拡張に興味のある方向けに、「何ができるか」 「何の知識が必要か」といった情報を公開

4.概要・前提

現在制作中のTemple Runのようなエンドレスランタイプのゲームの障害物になるマップデータの開発効率向上のためにマップエディタの開発を目指しました。

必要な知識
・基礎的なエディタ拡張などの知識があれば大丈夫です。(カスタムウィンドウ作成知識やOnGUI関数)
エンジンの概念GUI制作の知識があれば、なおよしです。

開発環境は
・MacOS Catalina 10.15.5
・Unity 2019.3.0f6
・Visual Studio for Mac 8.6.3

5.実装

実装内容についてざっくり、以下で説明します。

エディタ拡張特有のモノやGUIに関係することについて解説します。

CSV読み書きなどについては、今回は解説致しません。

AnyConv.com__画面収録 2020-06-24 10.06.01.gif

5.1 全体説明

スクリーンショット 2020-06-23 22.15.21.png
上の画像は現時点での完成図です。

MapEditorウィンドウ

CSV形式のファイルの読み書きを行います。

ファイルの読み込みは、「FileName」に既存のファイル名を入力し、「OpenFile」ボタンをクリックすることで、ファイルを読み込み、上部分のグリッドにオブジェクト名が表示されます。

ファイルの書き出しは、「FileName」にファイル名を入力した状態で、「SaveFile」ボタンをクリックすることで、書き出すことができます。

ファイルの新規作成は、既存でないファイル名を、「FileName」に入力した状態で、「SaveFile」ボタンをクリックすることでできます。(ファイルの更新と新規作成の挙動が同じでよろしくないです。)

実際のデータ入力は、オブジェクトボタン(上図ではCarやDownなど)をクリックで選択肢した状態で、上部のグリッド内をクリックすることで、データを入力することができます。

Sceneウィンドウ

実際にオブジェクトを生成して、ビュワーとして見ることができます。本来なら、ここでグリッドを表示して、データ入力や更新できるのが最良でした。

5.2 各ウィンドウの説明

MapEditorウィンドウ

スクリーンショット 2020-06-23 22.15.16.png

Gridの描画

MapEditor.cs
// グリッド1マスのサイズ
private const float c_GridSize = 50f;
// グリッドの行列数
private readonly Vector2 c_GridCount = new Vector2(3,10);

/// <summary>
/// エディタ上にグリッドを描画する
/// </summary>
private void GridDraw()
{
    // 始点の初期化
    var GridPosX = new Vector2(0, 0);
    var GridPosY = new Vector2(c_GridSize * c_GridCount.x, 0);

    // 横ラインのGrid
    for (int i = 0;i <= c_GridCount.y; i++)
    {
        // Handles:3D GUI の制御と描画のカスタマイズを行うクラス 
        Handles.DrawLine(GridPosX, GridPosY);
        GridPosX.y += c_GridSize;
        GridPosY.y += c_GridSize;
    }

    // 始点の初期化
    GridPosX = new Vector2(0, 0);
    GridPosY = new Vector2(0, c_GridSize * c_GridCount.y);
    // 縦ラインのGrid描画
    for (int j = 0; j <= c_GridCount.x; j++)
    {
        Handles.DrawLine(GridPosX, GridPosY);
        GridPosX.x += c_GridSize;
        GridPosY.x += c_GridSize;
    }
}

ここの部分の肝はDrawLine関数だと思いますが、関数名通りに2点間で線を引いてくれます。
与えられたグリッドの行列数とサイズを用いいて線を引いているだけです。

Handles.DrawLine(Vector2 p1,Vector2 p2);

Unity公式マニュアル
https://docs.unity3d.com/2020.2/Documentation/ScriptReference/Handles.DrawLine.html

オブジェクト名の表示

MapEditor.cs
// グリッド1マスのサイズ
private const float c_GridSize = 50f;

// String表示用の座標を格納しとくRect配列(2Dのposと縦横サイズ)
private Rect[,] m_RectList;

// 生成するオブジェクト名が入るString配列
private string[,] m_ObjectNameList;

/// <summary>
/// Rectの配列を生成する(String型のオブジェクト名を表示する時に座標として使う)
/// </summary>
private void CreateRect()
{
    for (int _y = 0; _y < c_GridCount.y; _y++)
    {
        for (int _x = 0; _x < c_GridCount.x; _x++)
        {
            var rect = new Rect(new Vector2(_x * c_GridSize, _y * c_GridSize), new Vector2(c_GridSize, c_GridSize));
            m_RectList[_x, _y] = rect;
        }
    }
}

/// <summary>
/// グリッドにオブジェクトの名前を表示する
/// </summary>
private void DrawString()
{       
    for(int i=0; i < c_GridCount.y; i++)
    {
        for(int j = 0; j < c_GridCount.x; j++)
        {
            // 名前のリストに入力があれば表示する
            if (m_ObjectNameList[j, i] != null)
            {
                GUI.Label(m_RectList[j, i], m_ObjectNameList[j, i]);
            }
        }
    }
}

処理としては、初期化時に計算したRectの配列を用いて、Grid上にゲームオブジェクト名を表示させます。

上記のEditorMapウィンドウの画像のグリッドでは、オブジェクトがある所と空白の所があり、空白でない場合にGUIラベルとしてオブジェクト名を表示するような処理です。

ここの部分の肝はRectかと思います。下記に公式のマニュアルを載せておきます。

Unity公式マニュアル
https://docs.unity3d.com/ja/current/ScriptReference/Rect.html

GUILayout : ボタンやテキストフィールド、ラベルなど
UI作成を行う際に使うクラスです。

Unity公式マニュアル
https://docs.unity3d.com/ja/current/ScriptReference/GUILayout.html

Button

// テキストを表示させる場合
public static bool Button (string text, params GUILayoutOption[] options);

// 画像を差し込む場合
public static bool Button (Texture image, params GUILayoutOption[] options);

EditorGUILayout : スクロールビューやオブジェクトフィールド
エディタ上でUI作成を行う際に使うクラスです。

Unity公式マニュアル
https://docs.unity3d.com/ja/current/ScriptReference/EditorGUILayout.html

オブジェクトフィールド

public static Object ObjectField (string label, Object obj, Type objType, bool allowSceneObjects, params GUILayoutOption[] options);

Sceneウィンドウ

スクリーンショット 2020-06-23 22.01.27.png

ビュワーとして使っています。
MapEditorウィンドウ内のDisplaySceneボタンをクリックすることで、シーン上に実際にオブジェクトを生成し、確認することができます。

6.最後に

全体のコードは、後日GitHubにてアップします。
個人的には、エディタ拡張は学習コストが低い割りに、メリットが大きいと思うので、実際に触ってみると良いと思います。
今後は、ユーザビリティを高めるように調整して、より開発効率が上がるようなものにしたいと思います。
そのため、この記事は随時更新されると思います。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む