読者です 読者をやめる 読者になる 読者になる

妹でもわかるUnrealEngine4

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

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

ウィジェットを任意の場所に動かす方法・その2

「それでウィジェットの表示位置を指定する方法なんですけど……」

f:id:una_unagi:20151111230520p:plain

妹「もう出来たよ」

「そ、そうなんだ」

妹「昨日までは動くかどうかわからなかったからあれだけど、動くとわかるとだいぶやる気が出てきた。そしたらなんか出来た」

「ちなみにどういう方法で?」

f:id:una_unagi:20151111230949p:plain

妹「要するにDPIとか言うのが問題なんでしょ? GetViewportScaleというノードでDPIがどうのこうの書いてあって、使い方調べてたら出来たよ。ティックで動かしてるからキャラの動きに合わせて自動でフキダシが動くようになった」

How would I go about making a movable widget? - UE4 AnswerHub

「兄が見つけたやつだとGetViewportSizeを使って、そこから比率を計算してるみたいだけど、もっと簡単なノードがあったのか。あったというか新しく出来たのかもしれないけど」

妹「なんでこれで出来るのかは、よくわかってないんだけど。DPIというのはウィジェットの画面でチラチラ見た気はする」

「まあそのへんは兄にもよくわかってないんだけどね。同じ1ピクセルでも、画面によってサイズが違ってて、スマートフォンとパソコン用の画面だと何倍単位で違う。その数字がDPI。ただそれをウィジェットの編集画面で設定することにどういう意味があるのか。パソコン用だと実際のDPIとか無視して全部同じ物として取り扱う事も多かったし」

妹「……それ無視したら駄目なんじゃないの?」

「だってさ、昔はピクセルが細かいディスプレイ買うっていったら、沢山の情報、特に文字をいっぺんに見たいからそうしてたんで、もしDPI通りに画面の大きさと字も一緒に大きくなったら、何の意味もなかったんだよ」

妹「今は違うの?」

「最新のスマホの1ピクセルとかもう人間の目では見えないレベルになってるから。絵とか字を綺麗に表示するのが目的で、たくさん表示するのが目的ではなくなってる。絵の全体の大きさは同じで、ただきめ細かく表示されてる感じのを望んでる。それでも昔ながらのずさんなDPI設定も残ってるし、難しい問題」

妹「とりあえず動けばそれでいいとは思ってるんだけど、なんか問題になりそうなこととかあるの?」

「絵とか字の大きさが変わっちゃうことかなあ。配置はあってるけど大きさがおかしいとか。でも実際なってみないとわからないね。スマホ用のパッケージ化に成功したらまた考えることになるかも」