UE4初心者が頑張ってるブログ

Unreal Engine4を使用した開発メモ、及びそれに関連することについて不定期に書いています。

UE4 マウスの感度調節機能を入れてみる

FPSなどのゲームでは、
自分に合わせてマウスやコントローラーの

感度を変更することが多いです。

 

今回はFPSテンプレートを使用して、
マウス感度の調節機能を作成したいと思います。

 

準備

今回はUE4 4.17.0 Preview 2を使用します。

f:id:MozPaca:20170726182632j:plain

 

First Person Templateを選択して、

プロジェクトを作成

しました。

f:id:MozPaca:20170726185128j:plain

 

FPSキャラクターの処理を追加する

まずはデフォルトのFirst Person Characterに処理を追加していきましょう。

 

Contents→First Person BP→Blueprintsから

First Person Characterをダブルクリックで開いてください。

f:id:MozPaca:20170726191221j:plain

 

このようになっていると思います。

f:id:MozPaca:20170726191433j:plain

 

変数を追加します。

マウス感度の値を格納するFloat型の変数を追加してください。

私はMouse Sensitivityという名前で作成しました。

f:id:MozPaca:20170726191455j:plain

 

作成したFloat型の変数のデフォルト値を1.0にします。
※0にするとカメラが一切動かなくなるからです。

f:id:MozPaca:20170726191635j:plain

 

次にデフォルト処理のMouse Inputの箇所を変更します。

f:id:MozPaca:20170726191759j:plain

 

先程作成した変数とAxis Valueを乗算し

Add Controller InputのValueに繋げます。

f:id:MozPaca:20170726191836j:plain

 

感度調整用のWidgetを作成する

キーボードなどで値を変更してもいいのですが、

味気ないのと記事が短くなってしまうので、

Widgetを作成していきます。

 

コンテンツブラウザから右クリック

User InterfaceWidget Blueprintを選択します。

f:id:MozPaca:20170726193539j:plain

 

適当な名前をつけしょう。

f:id:MozPaca:20170726193720j:plain

 

作成したWidgetを開き、Designer画面で

オブジェクトをこのように配置します。

f:id:MozPaca:20170726193908j:plain

Text BlockとButtonで構成されたシンプルな配置です。

50と書かれているText Blockはバインドして値を切り替えます。

 

Background Blurは過去記事を参考にしてください。

mozpaca.hatenablog.com

 

50と書かれたText Blockにバインドを作成し、

現在のマウス感度を表示するための処理を書きます。

f:id:MozPaca:20170726194216j:plain

 

Event Graphのタブを開き、処理を書いていきます。

 

まずはWidgetが作成されたタイミングで

マウスカーソルの表示とゲームにポーズを掛けます。

f:id:MozPaca:20170726194344j:plain

 

次にDesigner画面で配置したボタンそれぞれに

感度を増加/減少の処理を書きます。

Clampで感度の上限/下限を設定しています。

f:id:MozPaca:20170726194402j:plain

 

Widgetを呼び出す

レベルブループリントを開き、このように処理を書きます。

特定のキーを押した際にWidgetの有無によって、

生成と削除を分けています。

f:id:MozPaca:20170726194748j:plain

 

はーい。完成。

 

確認してみる

処理が完成したら、実行して確認してみましょう。

www.youtube.com

 

FPSテンプレートのデフォルトの速度は1に相当します。
5ぐらいから制御不能なので、実際にゲームに組み込む際は

そこらの調整が必要そうです。