僕の私のUnrealな日々

UE4のBluePrintを使って小さなギミックを作ったりしてます。ブログを通じて情報共有ができたらなと思います。

UE4:アクターをマウスを使って回転させる

 

f:id:Bussan_dayo:20150807220728p:plain

 

 

前に作りました。

 

 

 

 アクターをマウスで回転させるBluePrintを組んだので情報共有を(という名目のメモ)

 

 

実装

使用するもの

椅子(スターターパック)

仕様

アクターをクリックして動かすと回転する

 

マウスの設定

まずGameMode,PlayerControllerを新しく作成します。

f:id:Bussan_dayo:20150807215210p:plain

 

 

 

次にPlayerControllerを開き、マウスインターフェイスにチェックを付けます。

f:id:Bussan_dayo:20150807215324p:plain

 

それをワールド設定に持っていきます。

f:id:Bussan_dayo:20150807215355p:plain

DefaultPawnClassは適当にキャラクターを作成して入れてください。

 

 

アクター側のBluePrintについて

まずBluePrintを作成します。アクターを選択しStaticMeshにはスターターパックの椅子を設定します。(Sceneを親にします。)

 

SphereコリジョンはAllBlockにしてください

f:id:Bussan_dayo:20150807215441p:plain

 

 

イベントグラフを開き、Sphereを選択した状態でClickイベントを設置します。

Gateを出しEventTickをEnter、OnClickedとOnReleasedを以下のとおりに接続します。

f:id:Bussan_dayo:20150807215812p:plain

 

 

Scenseを出し、そこからSetRelativeRotationを出します。

f:id:Bussan_dayo:20150807215802p:plain

 

次にPlayerControllerノードを出しそこからGetInputMouseDeltaを出します。

f:id:Bussan_dayo:20150807215845p:plain

 

DeltaXに-10,DeltaYに10を掛けMakeRot(Rotationを作るノード)を出しDeltaX側をYawに、Y側をPitchに接続します。

f:id:Bussan_dayo:20151015013110p:plain

 

ScenseからGetWorldRotationを出し、CombineRotatorsを出し接続します。(Rotation情報を合わせる)それを先ほど出したSetRelativeRotationにつなげれば完成です。

f:id:Bussan_dayo:20150807220311p:plain

 

全体像はこちらです。

f:id:Bussan_dayo:20150807220438p:plain

 

追記

かなり簡略化させたので非常にシンプルですね。

 

BluePrint.comを使用しています。(名前が違うノードがある・・・)

 

ノード構成

Dropbox - Node.txt  (このテキストをコピーして直接エディターに貼り付けると同じようなノード構成が表示されます)

 

 追記以上

 

このようにズーム機能をつけてかわいいキャラをぐるぐる回す下品な遊び方は良くないと思います(自問自答

 

以上