akyboxブログ

旧AkiIroブログ

【UE5】Window > Developer Tools > Modules が見つからない

環境

  • UE Version: 5.0.3-20979098+++UE5+Release-5.0
  • Windows 10 Home

代替手段として module list コマンドを使う

Moduleが表示できない問題は海外フォーラムでも指摘されてはいます。
もともとはVSCodeを使用している場合にあった不具合のようですが、UE5でも発生しているようです。

forums.unrealengine.com

しかし完全な解決案は提案されておらず、代替としてコマンドを使う手段が提案されています。

module list - モジュールをリスト表示する

module load modulename - モジュールをロードする

module unload modulename - モジュールをアンロードする

ちなみに他のWindow > Developer Tools の多くはUE5では Tools の中に移動しています。

【UE5】キーボード入力が効かないときに確認すること

AutoInputの設定は適切に設定されているか


Disableになっていないか確認する

AutoPossessPlayerは適切に設定されているか


Disableになっていないか確認する

他のActorに入力を奪われていないか


ConsumeInputが有効になっていると他に入力を奪われうる

特殊な事例

EnhancedInputでかつWidgetComponentを使っているときにWidgetComponentのFocusableが有効になっている


FocusされているとEventが発火しない

Gitを使ってたらhooksフォルダとlfsフォルダが突然できて消えなくなった

突如出現したhooksとlfsフォルダ
画像のように突然hookslfsフォルダが出現する現象に出くわしました。

削除してもすぐに再生成されてしまいます。

このフォルダは通常は.gitフォルダの中ににあるはず…なぜ?

.gitフォルダの中にもある
調べてみるとどうやらgit-lfsの不具合のようです。

github.com

私の環境はWindowsgit-lfsのバージョンは2.11.0でした。

最新では直っているらしいので手元の環境を更新し、lfshooks.gitフォルダの中に戻してあげることで解決しました。

ちなみに更新後は
gitバージョン:2.37.3
git-lfsバージョン:3.2.0

Fedoraでフルスクリーン表示した動画が切れる(Tearing)

Fedora Tearing Fullscreen Video

対象

以下の動画で画面が切れてしまう(Tearing)系Fedoraユーザー
www.youtube.com
つまり本稿は個人的な備忘録です。

調べると以下の掲示板やQAがヒットします。
https://bugzilla.mozilla.org/show_bug.cgi?id=1134077
https://ask.fedoraproject.org/en/question/80141/screen-tearing-fedora-23-gtx-970/

なんとなく以下の拡張をいれれば解決するという雰囲気です。
github.com

以下のサイトに行ってGnome-Extensionを有効にしたら、
Installed Extensions - GNOME Shell Extensions

書いてあるとおり、以下のコマンドを実行します。

bash -c '(cd ~/.local/share/gnome-shell/extensions; curl -LkSs https://api.github.com/repos/kazysmaster/gnome-shell-extension-disable-unredirect/tarball | tar -xvz --wildcards --strip 1 "kazysmaster-gnome-shell-extension-disable-unredirect-???????/unredirect@vaina.lt")'

もしフォルダがないとか言われたら、何かしら別の拡張を有効にしたりすればフォルダがつくられるはずです。

うまくいけば、こんな風に拡張機能が足されて、有効にしたらTearingは直るかもしれません。
f:id:AkiIro:20190206013659p:plain

【Unity】コマンドプロンプト(CMD)を開くEditor拡張

f:id:AkiIro:20180910225729g:plain
gifはechoでTESTと言わせているだけです.

Unityからプロセスを起動する

ざっと以下のスクリプトでgifのようなことができます.

Unityからコマンドプロンプトを起動するスクリプト.

以下の部分はcmd.exeに投げるコマンドなので,ここを変えれば当然いろいろなことができます.

"/k echo TEST"

ここを

"/c echo TEST"

とするかCallの引数 isHide を true とすることでウィンドウを隠せます.

ご自由にご活用ください.

Unity-QuickSheet入門 ~SpreadSheetを読みこむ~

Unity-QuickSheetでSpreadSheetを読んでScriptableObjectをつくる.

Unity-QuickSheetとは
github.com

ざっくりExcelやSpreadSheetをScriptableObjectにすることができます.

本家のドキュメントはこちら. Google Howto · Unity-QuickSheet
本記事は大体焼き増しです.

大きく2ステップ

  • OAuthのセットアップ
  • Unity側で受け取りのセットアップ

ドライブにアクセスするためにOAuth2をセットアップ(Setting up OAuth2 for accessing Google Drive)

SpreadSheetを作る

一行目はフィールドの名前に利用されます.
なのでIntとかFloatといった名前はやめましょう.
そしてValueもやめましょう.(体験談)

理由は後々わかりますが,シート名をHogeDataみたいにすると悲しいことになります.(体験談)

OAuth2の設定をする

プロジェクトを作る

このページからやります. http://console.developers.google.com/
プロジェクトを作ります. f:id:AkiIro:20180820231945p:plain 名前とかは適当で大丈夫です.

OAuthClientIDを取得する

f:id:AkiIro:20180820232248p:plain
サービス名を設定する IDの作成にはサービス名の設定が必要だと言われたらおとなしく設定します. f:id:AkiIro:20180820232336p:plain サービス名は適当で大丈夫です.

気を取り直してOAuthClientIDをつくります. f:id:AkiIro:20180820232430p:plain
アプリケーションの種類はその他で名前は適当です.

うまくいけばこんな画面がでるはずです. f:id:AkiIro:20180820232922p:plain
OKで閉じます.

設定用JSONをダウンロードする

ここからダウンロードします. f:id:AkiIro:20180820233345p:plain

手に入れたJSONを使ってClientIDとClientSecretを入力します.
以下のフォルダーにGoogle Data Settingsというアセットがあるはずです.

Assets/QuickSheet/GDataPlugin/Editor

f:id:AkiIro:20180820233039p:plain
I have OAuth2 JsonをチェックしてJSONを参照するとClientIDとClientSecretは自動的に入力されます.
入力されたらStart Authenticationを押します.
ブラウザが開いて進めていくとこんな画面がでます.
f:id:AkiIro:20180820234139p:plain
これがアクセスコードなので,AccessCodeに貼り付けます.
Finish Authencationを押して完了です.

ランタイムパスとエディターパスは公式によると

Runtime Path: Data/Runtime
Editor Path: Data/Editor

これで十分らしいので何も考えず設定します.
後ほどわかりますがRuntimePathはランタイムに使われるスクリプトが置かれ,EditorPathはエディターで使われるスクリプトが置かれます. フォルダーがないと後でエラーします.(つまりこの場合Assets/Data/Runtimeを用意しておく必要があります.)

以上でOAuthのセットアップは完了です.

Unity側でデータを受け取るScriptableObjectを作る

Unity上での操作です.

設定ファイルをつくる(Creating Google Spreadsheet Setting File)

f:id:AkiIro:20180820234508p:plain
場所はどこでもいいですが,私はToolというフォルダを作りました.
f:id:AkiIro:20180820235447p:plain
ファイル名とシート名を入力してImportボタンを押すと以下のようになります.
f:id:AkiIro:20180820234648p:plain
(なお,シート名がDataとなっているのは完全に失敗です.)
Typeを設定してGenerateします.
うまくいけばRuntimePathとEditorPathにスクリプトがつくられます.

以下のようになった人は

f:id:AkiIro:20180820234906p:plain
フォルダが用意されていません.RuntimePathとEditorPathにあたるフォルダをつくっておきます.

スプレッドシートのデータをインポートする(Importing Spreadsheet Data)

受け皿になるScriptableObjectをつくります.
f:id:AkiIro:20180820235416p:plain
Downloadボタンを押せば
f:id:AkiIro:20180820235703p:plain
以上です.お疲れ様でした.

【Unity】ReadMeつくるEditor拡張

ReadMeをつくる

f:id:AkiIro:20180604003939g:plain
見ての通りの選択フォルダにReadMe.txtをつくる.
それだけの拡張です.ええ,それだけです.
自分用gistですが,ご自由にお使いください.

gist.github.com

日本語がInspector上に出ない問題

UnityはBOM付きUTF-8じゃないとInspectorに表示できないので, エンコーディングを固定してやる必要があります.
このあたりの詳しい説明は以下の記事様が参考になります.
blog.nishimu.land

私はこちらのVisualStudioの拡張機能で対応しました.
ForceUTF8 (with BOM) - Visual Studio Marketplace
参考はこちらの記事様

pronama.azurewebsites.net