妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

ゲームパッド(とキーボード)で、UMGのウィジェットを操作する動画

www.youtube.com

「たしか前にゲームパッドで、ウィジェットの操作が出来ないという問題があったと思うんだけど」

妹「ウィジェットはわからないことだらけだから、全部覚えてないけど、マウス操作じゃないと困ったことはあった気がする」

「それでゲームパッドでやる方法についての動画を見つけた。結局のところ何で困るのかというと、通常のInputイベントがUMGのブループリントで出せないというところ。この動画ではOnKeyDownを使ってる。ブランチをいっぱい置いて、キーの入力が一致したら、各キーの種類ごとのカスタムイベントを実行」

妹「なんか中身ぐちゃぐちゃしてそう」

「マクロにはしてあるけど、マクロの中身はかなり線がグルグルしてらっしゃる感じになる。この方法の欠点は、折角アクションマッピングでボタン毎の割り当てをしてるのに、それが全然有効活用出来ないところ。キーボードの上とゲームパッドの上はどっちも上イベントを呼び出して……って同じことをまた書かなきゃいけない」

妹「やっぱりぐちゃぐちゃしてる……なんでこれ普通に入力出来ないんだろう?」

「それはわからないんだけど、UMGの外の、別のアクターにInputのイベントを置いて、ウィジェットが表示中ならカスタムイベントを実行という方法もあった気がする」

妹「あと問題は操作した後に、どうやって表示変えてるのかってことなんだけど。マウスだとボタンにカーソル合わせたらああなるとか、こうなるとか、そういうの自動になるじゃん? あれと同じようにしたいんだけど」

「動画だとそのへん見えないけど、ボタンにはしてないんじゃないかな多分。字の色が黒と赤と2種類あるから、普通のテキストか画像のウィジェットを出しておいて、操作のタイミングで別の色に差し替える感じで。それも1回試したみた方がいいかも」

※色々準備とか、睡眠時間調整のため、ここ数日更新間隔が不安定になっております

UE4のエディタ便利操作5選……の動画紹介

www.youtube.com

「海外の掲示版で紹介されてた動画なんだけど、小技の紹介動画的なもの。ブループリントとかマテリアルとかじゃなくて、エディタ操作に関するものみたい」

妹「どんなのがあるの?」

(5位) アクターを選択した状態でEndキーを押すと、地面にくっつくまで落下
(4位) W・A・S・Dキーでエディタ上のカメラを動かせる。そして移動速度も変えられる
(3位) ブループリントをコピーした後、足りない変数をクリックだけで追加出来る
(2位) 詳細パネルを全部閉じてカテゴリ表示だけにする
(1位) ビューポートの視点をブックマークしておくと、いつでもその視点に戻れる

「この順位については投稿した人の判断だと思う。バージョンは明記されてないけど、昨日の動画だし4.15基準だと思う。少なくとも今試した感じではどの操作も使えそうだった」

妹「5位のは知ってたかも」

「手動で地面に配置するのはものすごく大変だから、これは楽。コリジョンが当たるギリギリのラインまで落下する。逆にいうとコリジョンがちゃんと設定されてない場合は上手く動作しないんだけど」

f:id:una_unagi:20170416223755p:plain

「4位のは最近気づいて、ブログに書くの忘れてたやつなんだけど、最初はこのカメラ速度というのが全然効かなくてバグかなんかだと思ってた。そしたらWASDでカメラが動いて、その速度が変わってた」

妹「なんでマウスで動かす時には変わらないんだろ?」

「マウスの方も加速したいけど、一応マウスを物凄く速く動かすという手はある。トラックボールならボールを弾くとか。その点キーボードの仕組みだと、押し加減で速度調節とかは出来ないんで、こういう設定がないとどうしようもないところがある。大きく視点を動かす時は、マウスでグイグイ頑張るより、速度上げてWASDの方が楽だったりした」

f:id:una_unagi:20170416224235p:plain

「3位のやつは少し説明が要ると思うんだけど、別のアクターとかにブループリントのノードをコピーした時、変数のノードも一緒にコピーされるんだけど、その名前の変数はない、ということでコンパイル出来ない場合がある。そういう時に一々変数追加して、名前と型をつけて……ってしなくても、クリックだけで出来るよっていう話」

妹「たまにコピーされてないノードとかもあるよね」

「変数のGETとかSETとかは一応コピーした上で、コンパイルが通らない。同じグラフ上に2つあったらまずいやつとかはコピー自体がされない。コピーされないっていうのも困るんだけどね。足りないのに気付くの遅れることもあるし。真っ黒のダミーでいいからなんかつないでおいて欲しい」

妹「2位のやつも知ってるかも。あんまり使った記憶はないけど」

「縦長すぎて狙ったやつがどこにわからない場合とかに」

妹「でも全部開いておけばそのうち見つかるだろうし……やっぱり全部開けといた方がいいような」

f:id:una_unagi:20170416230555p:plain

「そういう場合は全カテゴリを展開の方だけど、これでも三角ボタンで閉じてあるやつが開けない。アドバンスな詳細を表示にチェックを入れると、三角部分は常時開きっぱなしになる。以外といろいろ設定方法があった」

f:id:una_unagi:20170416230856p:plain

「ビューポートのブックマーク。これは知らなかったし使ってもないんだけど、なぜかブックマークが2件あった」

妹「……オバケのしわざですな」

「オバケというか、テンプレートに入ってるんだろうね。これは便利そうけど、肝心な時に限ってブックマークし忘れてそうな気がする。あとビューポートというのは、このエディタ上で見えてる画面のことで、ゲーム中で使うカメラの位置や向きとは別物」

UMGのテキストボックスに日本語を入力するテスト

f:id:una_unagi:20170416000049g:plain

「UE4って日本語の表示は出来てるけど、入力はどうだったかな……とちょっと気になったので、今日はそのテストをした。普通にウィジェット出して、入力したら別の用意してあるテキストエリアに表示する」

f:id:una_unagi:20170416000857p:plain

f:id:una_unagi:20170416000901p:plain

「一応出来てるみたい。Windows以外ではどうなるかわかんないけど」

妹「一応というのは?」

「日本語入力の対応状況って色々あるんだけど、おおまかにわけると」

良い

(1)入力中の文字と変換中の文字の区別がつく

(2)変換中の文字はわかりにくいけど、一応入力欄の中に文字は出る

(3)入力できるけど、変換中の欄が画面左上に出る

(4)入力できるけど、変換中の欄は見えないから勘で変換しないと駄目

(5)入力出来るけど字は出ない。もしくは入力自体できない

悪い

「こんな感じになってて、UE4は(2)と(3)のあいだぐらいの状態。UMGだけじゃなくてエディタの方も。ちょっと不自然なとこはあるけど、まあ普通に入力は出来る。入力欄も左上まではいかない、もうちょっと近いとこに出る」

妹「こういうものだと思ってた」

「海外製で、Windows以外でも使えるソフトってなると、だいたい日本語入力には弱い。別に日本語じゃなくても、中国語入力とかでもそうなると思うけど。UE4はワープロソフトではないから、これぐらい出来れば大きな問題はないと思う」

妹「文字はなんか変な気がするけど」

「これはフォント設定してないから、デフォルトの中国の漢字が優先されるフォントになってるせい。この点はちゃんと設定出来るから問題ない」