妹でもわかるUnrealEngine4

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

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

ウィジェットブループリントのデフォルト値が上手く反映されない問題

妹「キャラクターのセリフを吹き出しで出そうと思ってて、色々やってるんだけど、なんだかそれ以前の問題が起きてしまった」

f:id:una_unagi:20151108172417p:plain

「"ここは"って言われても……ここはどこなの?」

妹「どこかを書こうとしてるんだけど、それがさっぱり反映されないのが問題なんだよ。フキダシっていうウィジェットを、メニューっていうウィジェットの中に入れてるんだけど、そのどこにも書いてない」

f:id:una_unagi:20151108172323p:plain
f:id:una_unagi:20151108172337p:plain
f:id:una_unagi:20151108172400p:plain

妹「どこにも"ここは"なんて書いてないのに、でも実行すると出てきちゃうんだよ。前に書いてたことはあるんだけどね」

「前は書いてたの?」

妹「デフォルト値のとこに書いてて、デフォルト値の欄だと改行が入れられないから、ShiftとEnterの同時押しとか色々やってて、その後ふと気がつくとデフォルト値を変えても反映されなくなっていたんだよ」

「ブループリントの中では変えられるから、読み書きに問題があるわけじゃなくて、デフォルト値が反映されてないか、別ので上書きされてるかかなあ」

妹「心当たりがないし、"ここは"って書いてある場所がわからないことにはなんとも」

「テキストファイルだったら全文検索で探し出せるんだけど、これが出来ないのがブループリントの弱点の1つ。ブループリント検索もあるけど、あれは検索出来る情報しか検索出来ないから、こういう変な事態には対応できない」

妹「これどうしたらいいんだ」

「とりあえず変数を編集可能にしてから、そっちで設定してみるか。目玉マークをオンにして……あれ? "ここは"ってここに書いてあるよ? メニューウィジェットでフキダシを選択した状態で。前に編集可能にして、ここで設定したパラメータが生きてた?」

妹「こんなとこ設定した記憶がないんだけどなあ。それに新しいText変数を作って、そのデフォルト値を読み込もうとしても、何も文字が出ないし」

「新しく作った変数を編集可能にすると、メニューの方の詳細では空欄になってるなあ……黄色い矢印押すとデフォルト値になる。仮にこれが仕様だとしても、編集可能にしてないパラメータが内部的に上書きされるのは問題ある気がする」

妹「でも最初はそんな風じゃなかったと思うんだよ」

「勘違いとか、操作ミスかも。なんか同時押しした時に不思議なことが起きたとか。4.10のPreview版にしても同じだし、とりあえずウィジェットの中に入れたウィジェットの変数に関しては、編集可能にしてなくても上位ウィジェットが勝手にデフォルト値を入れてる可能性を考慮するしかない。デフォルト値の欄じゃなくてConstructあたりでSETすれば大丈夫だろうと思う」