auの日記

プログラミング初心者の日記。(auはハンドルネームです)

UE4でコインをゲットした時に枚数が出るようにした

auです。

今日はUE4で、コインに触れた際に「Get a Coin」の他に、枚数も出るようにしました。

f:id:program-shoshinsya:20181204191529p:plain

以前は「Cキー」を押すことでコインを増やしていましたが、それだとチート性能すぎたので、ちゃんとコインに触れた際に増えるようにしました。

AddCoinという関数を自分で作り、コインに触れた際に呼び出すように設定しました。

使っている参考書

UE4のUI変更で小さくなってしまった

auです。

いつも通りUE4の勉強をしようと、プロジェクトを開こうとしたら、アップデートが入りました。

どうやらUIも変更されたようで、いつも開いてる場所に自分の作っていたプロジェクトが見当たりませんでした。(その時のスクショは無いです)

そして「どんなのがあるんだろ〜」と、ポチポチしていたら、こんな感じになってしまいました。

f:id:program-shoshinsya:20181203151552p:plain

Oh...小さい...

どこがなんのボタンかわからなくなってしまいました。

ズームもできないし戻るボタンもどれかわからない・・・

タブを閉じて起動しても同じ画面が出てしまうのでどうしようかと思っていたのですが、左上の部分が何やらクリックすることができました。(カーソルが手のマークになりました)

赤く囲もうと思ったのですが、めちゃめちゃ小さくて断念しました・・・

左上の下の方をクリックしていたら戻れたので、無事にプロジェクトを探し出して開くことができました。

同じ症状になってしまった方がいたら頑張ってクリックして見てください。戻れます。

UE4で使えるハードウェア入力

auです。

UE4で使うことのできるハードウェア入力について調べました。

ハードウェア入力とは、外部からのデバイスからの入力を受け取ることを言います。

キーボード入力、マウスクリック、マウス動作、コントローラーボタン入力、ジョイスティックによる入力が基本的な入力になります。

UE4内でハードウェア入力を確認したところ、以下のようなものが見つかりました。

f:id:program-shoshinsya:20181202225659p:plain

デフォルトで入ってるのがこれくらいあるのかなと思います。

Androidでもハードウェア入力できるんだと思い、展開してみると

f:id:program-shoshinsya:20181202230738p:plain

なるほど、音量ボタンなども何か設定できるのか・・・

しかし、自分で持っている機種がiOSなので、iOSでもこのようなことができるのかなと調べて見たところ・・・そのような記事を見つけることができませんでした。プラグインにはiOSがあったので、できないことはないんじゃないかなと思います。

UE4のレベルブループリントとクラスブループリント

auです。

レベルブループリントクラスブループリントについて調べました。

レベルブループリントとは

レベルブループリントとは「そのマップ(レベル)のみで使えるブループリント」のことです。

「スイッチを踏んだら扉が開く」というブループリントをレベルブループリントで組んだ場合、他のマップで使用したい場合は、他のマップでも「スイッチを踏んだら扉が開く」というブループリントの設定をしなくてはなりません。

クラスブループリントとは

クラスブループリントとは「どのマップ(レベル)でも流用できるブループリント」のことです。

一度設定したクラスブループリントは、コンテンツブラウザに保存されます。ですので、他のマップに配置するだけで使用することができます。

TCPのフロー制御とは

auです。

きのう、輻輳制御について書いたので、今回はフロー制御について書きたいと思います。

program-shoshinsya.hatenablog.com

フロー制御とは

フロー制御とは「受信者の容量を考えて、送信者がデータを送る量を制御する方法」を言います。

フローとは「データの流れ」を意味する用語で、受信者が「これ以上データを受け取れないよー!」と、信号を送ることで制御します。処理ができるようになったら「データ送信を再開していいよ」と信号を送ります。

輻輳制御では、ネットワークの回線内を見て制御していましたが、フロー制御では相手のことをみて制御しています。

TCPの輻輳制御とは

auです。

今回は、TCP輻輳制御について調べました。

輻輳制御とは

輻輳制御の前に、輻輳とはを書きます。「ネットワークが渋滞してしまい、処理しきれなくなってしまっている状態」を言います。

つまり、輻輳制御は「ネットワークの混み具合を見て、渋滞が起きないようにすること」を言います。

ネットワークの回線にはデータが流れます。このデータは、一気にネットワークの回線に流すと、車の渋滞のようになってしまい、全然進まなくなってしまいます。むしろ、パケットロスといい、データが回線に乗り切らずに溢れてしまうこともあります。

このことを解消するために、輻輳制御を行います。

UE4で作った機能はテストマップで確認せよ

auです。

今回は、ゲーム制作で絶対使ったほうがいいと思う「テストマップの有用性」について書きたいと思います。

テストマップとは

テストマップとは、自分が作ったギミックがちゃんと動作をするかを確認するために使用します。

実際に使用するマップで、テストも含めて作成していると、何か問題が起こった際に、他のオブジェクトなども見えているので確認することが難しいことがあります。また、どこでバグが起きているのかも見えにくくなることもありえます。

UE4で新規レベルを作成すると「デフォルト」という、平坦なミニマップが生成されます。基本的には、この新規レベルの名前を、自分で作成した機能の名前をつけて、自分の思っている通りの動作になるのかを確認します。

f:id:program-shoshinsya:20181123225531p:plain

これなんかも、「スイッチを押してコインを出す」というだけのテストですが、ちゃんと動いているのを確認することができます。

f:id:program-shoshinsya:20181128011144p:plain

他にもこれだけのテストマップを分けて、動作確認をしてから本番のマップに組み込んでいます。これで安心。

自分が使っている参考書