2016年8月18日木曜日

RTS Camera Part1

RTSチュートリアルの覚書
参照動画の大体1時間位までの内容です。

Unreal Engine 4 RTS Series Part 1 The Camera

https://www.youtube.com/watch?v=uhbMEBMTJKU&list=PLA3VyVTnpwF7xHqJTHx7cUU8GhE5Wtrxk&index=1

MasterCommander BP
Class::Pawn
Pawn系のBPの親となるBP?

Unit
Environment
Logics
のカテゴリにBPを分ける

UnitにはHumanとAlianのBP(おそらく人間とエイリアンの対決を想定してるから)
HumanCommander BP
AlienCommander BP
Class:Pawn (Pawnは駒を意味する)
親PawnはMasterCommander BP

Environmentには現状Target BPのみ
SpawnTarget BP
Class:TargetPoint
SpawnポイントのターゲットとなるBP

Logicにはゲームの核となる基本のBPが格納
MyGameInstance
Class:GameInstance

MyGameMode
Class:GameMode

MyGameState
Class:GameState

MyHud
Class:HUD

MyPlayerController
Class:PlayerController

MyPlayerState
Class:PayerState

RTSInterface
Class:Interface

MasterCommander BPにWASDムーブメントのを記述

前に別の人がやってたチュートリアルよりわかりやすかった。


Project Setting>InputでAxis Mappingを設定。反対の移動はマイナスで設定するんだ。

マップが狭いのでカメラがマップ外に出ないようにマップ境界ののコリジョンを設定。



AlienとHumanは見分けがつくようStatic Meshに別々の仮のマテリアルをSet

MyGameInstance
GameInstanceはレベル間を超えて使用できる変数を作れる。
SetDefaultPawnの作成。FanctionName変数によってHumanかAlienか決める。


ゲーム開始と同時にPlayerがSpawnsしてコントロールできるようにする。




Level BPにPawn対象とSpawnする場所を記述し
PlayerControllerにSpawnするキャラクターをセットするためのカスタムイベントをつくってそれをGameMode BPに渡し
GameMode BPにSpawnしたActorを所有する内容を書く
PlayerControllerにSetPlayerToSpawnのカスタムイベントを作ったのはReplicate Run on Serverのため?




Mouse Event 覚書

マウスカーソルを、あるアクター(SM_Couch)に重ねるとマウスカーソルのアイコンが変化するブループリント


ホーバーさせたとき以下のようにカーソルが変化




アクターとPlayerCharactarとの距離によって対象アクターをクリックした際DestroyさせるBP
GetDistanceToノードを使ってTarget(ここではSM_Couch)とCharactarとの距離(Float)を計算し、CompareFloatノードを用いて比較数値の大小でアウトプットを判断する。


参照動画
https://www.youtube.com/watch?v=LxFOf9xGLj8&index=1&list=PLuccqGLrvoh2FKHl3jlnCxuA76ysoSm1P

2016年8月17日水曜日

エラーが解決できない。。

RTSの難しいチュートリアルをきちんと理解しないまま進めていたら、あるとき一つのエラーで全く前に進めなくなった。。

これはちゃんと理解してから進めてゆけという天からのお言葉ですな。。

ということでまた1からやり直しです。

キーイベントが効かない原因の一つ set input mode UI Only

BPでロジックを組んでいる最中キーイベントが全く効かなくなる現象が起きました。 例えばキーボードイベントの「X」や「1」を作ってPlay時にそれらのキーを押してもイベントが発生しないということです。 それで原因がわかったのですがタイトルの通り「set input mode...