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

ほげたつブログ

Unreal Engine 4 を使ってなんかやります

WebApi プラグイン ver.3.0 を公開しました

UE4でHTTP通信を使いやすくするための WebApiプラグイン を更新しました。

github.com

続きを読む

Actorのネットワーク関連プロパティ

めも。修正あれば逐一更新。

間違い等あれば Twitter とかで指摘下さい。

続きを読む

最近UE4関連で作ったものメモ(2016.12)

同一 or 子クラスのオブジェクトプロパティ一括コピー

Grayちゃんと会話

コピーコストを気にしつつ、float配列に一様に加算するノード

雪面の凹み

MipMapプレビュー(元ネタはアンコウさんアドカレ記事)

GameplayDebugger をプロジェクト用にカスタマイズして利用する

こちらは「Unreal Engine 4 (UE4) Advent Calendar 2016」3日目の記事です。

Unreal Engine 4 (UE4) Advent Calendar 2016 - Qiita

GameplayDebugger が便利なのにあまり使われていなくて可哀想なので記事にします。

続きを読む

NekoNekoOnline プラグインの WebApi 機能における設計思想 & 実装Tips

こちらは「裏 Unreal Engine 4 (UE4) Advent Calendar 2016」1日目の記事です。

裏 Unreal Engine 4 (UE4) Advent Calendar 2016 - Qiita

今回は ということで趣向を変え、公開中の WebApi プラグイン をベースに、新たに作成中の NekoNekoOnline プラグイン について紹介させて頂きます。

続きを読む

UE4でActor間のTick実行順序に依存関係を持たせる方法


でした。でもグループのみの運用だと面倒だよねってActorの実装を眺めていたらTickの依存関係を作ることは標準機能でサポートされているようです。

docs.unrealengine.com

続きを読む

UE4でPawnをSpawnActorする際のController生成タイミングに注意

第5回UE4ぷちコン、お疲れ様でした。

historia.co.jp


前回に引き続き、自分も参加しました。

www.youtube.com


今回はこのぷちコン作品を作る際に少しハマった件について書きます。

PawnのBeginPlay内で自信のControllerを参照するのは危険

今回の作品ではUnityちゃんのAIにBehaviorTreeを使用していて、BeginPlayからStartAIを呼び、その中でRunBehaviorTreeを呼んでいます。

f:id:hogetatu:20160502233947p:plain

ところがこのように記述してレベル開始時に大量にSpawnした時、Spawn後にその場に立ち止まったままのUnityちゃんがいる ことに気が付きました。
こちらを調べてみたところ、どうも GetControllerの戻り値がNoneになっていることがある ようです。
考えてみると確かにPawnとControllerは別Actorであるため、生成順序に関しては保証されていない のでしょう。

今回は以下の様に失敗時に時間を置いてリトライする仕組みを用意して対応しています。

f:id:hogetatu:20160503000432p:plain


BeginPlay内にてGetControllerする際には生成タイミングに注意しましょう。
現場からは以上です。