僕の私のUnrealな日々

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

自分用記事一覧

 

2018年 8月

過去記事書きなおします。

時が経ち今のルールに則ってない処理方法の修正及びバージョンアップによって意味のなくなった記事の削除を行います。

古い記事からメスを入れていきます。週一で。

あとドロンジョに踏まれる記事は必ず消します...

必ず....

 

 

物忘れが激しい自分が見やすいように作った記事一覧です。

宣伝です。

第4回ぷちコンで3位をいただきました。

[UE4] 第4回UE4ぷちコン、最優秀賞作品発表! | historia Inc - 株式会社ヒストリア

 

受賞したゲームの実行ファイルです!

unrealbussan.hatenablog.com

 

是非遊んでみてください!

 

2015年に作ったギミックたち - 僕の私のUnrealな日々

 

 

チュートリアル的な奴

UE4:Eventノードを使った簡単なBluePrintの作り方

色々あって悲しくなった記事です。

 

実装編

Widget

 ・タイトル画面でのボタンの設置について

ポーズ画面の作り方

 

VR

Oculusを使ってMMDに壁ドンしてもらう方法

簡単なOculus(VR)用のメインメニューの作り方

UE4+VR:画面の中心とオブジェクト(アクター)が重なった時にイベントを発生させるブループリントについて 

 

Player側の実装系

一人称と三人称の切り替えのBluePrintの作り方 (New:画像を入れ替えたためノードが少し見やすくなりました。)

カメラを動かした一人称と三人称の切り替えの実装について 

アサルトライフルのブループリントの実装について 

アクターへのターゲットのロックオンのブループリントの実装について 

リロードなどのステートマシンを使用しないアニメーションの実装について 

プレイヤーのKey入力を取得するActorの簡易的な実装

 

スローモーションの実装について

走ってくるゴブリンに物理シミュレートを使って転ばせる方法

 

サウンド系

サウンドの音量とピッチをBluePrintで上げ下げする

 

ギミック系

Gateを使った手動扉の実装について

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

ジップラインのブループリントの実装について 

ターザン(ぽい)ギミックを実装する。

 

被破壊メッシュ系

被破壊メッシュを使用してアサルトライフルで壁を壊す。

 

その他

レベルブループリントを用いないカメラの切り替えについて

キャラクターを変えた簡単なローカルマルチの実装について

構造体 実装メモ

メモ:NavMeshを動的にする 

コナミコマンドなどのコマンド入力の実装

:BoxCollisionのスケールをLineTraceでHitしたLocationまで伸ばすBPについて

 

マテリアル系

アクターのフェードアウトの実装について 

ギャグアニメによく使われるフェードアウトの作成 

オブジェクトのアウトラインをM_Highlightを使って光らせる。

 

配布物

:電子ロック 配布あり

TheForestっぽいクラフトのギミックのマクロの配布と使い方

 

BluePrint研究(気になったノードを調べる奴)

Random Point in Bounding Box メモ 

マテリアル研究

水に覆われてる球体について

マテリアル:Rotatorを使用してテクスチャを回転させる時に四隅に出てくる部分を消す 

その他

UE4:アセット購入時に使用できないネット専用クレカについて 々

UE4:アニメーションシーケンスでのNiagaraエフェクトの再生方法

 f:id:Bussan_dayo:20181124183629p:plain

 

お疲れ様です。

 

現在Chaos of warという変なゲームを作成中です。

 

このプロジェクトではカスケードそしてNiagaraを使用しています。

 

まだアーリーアクセスなのか、カスケードのようにアニメーションシーケンスでエフェクトを設定して確認する及びアタッチ機能がありません・・・。

 

f:id:Bussan_dayo:20181124172942p:plain

 

 

f:id:Bussan_dayo:20181124173027p:plain

 

そのため通知BPにてこの機能を補完することにしました。

f:id:Bussan_dayo:20181124183710p:plain

 

エフェクト提供:@torisutamoyasitwitter.com

 

まず通知BPの特性を説明します。

通知BPはサウンドやエフェクトをアニメーションシーケンス内にて発生及びスポーンさせることが可能です。

 

続きを読む

UE4:WheeledVehicleを用いたアクターへの乗車処理

 

f:id:Bussan_dayo:20181111175113p:plain

 

どうもです。

 

製作中のゲームで車への乗車処理を作成しました。

 

 

 簡易的な作成方法をまとめようと思います。

(マルチだとカメラカクつきが出たため処理を変えました。)

 

 

(手が上がっているのは気にしないで・・・・)

 

仕様

車に近づいて"E"を押すと車に乗れる

車に乗っている状態でEを押すと戻る

 

使用するもの

Vehicleテンプレート

ThirdPersonCharacterテンプレート

 

 

構成としてはコントローラー側で入力処理を行う。

BaseCharacterを作成しThirdPersonCharacterとDriverCharacterに継承させる。

カメラ処理はBaseCharacterで行う。

 

 

エンジンを起動しVehicleテンプレートを選択します。

f:id:Bussan_dayo:20181108165248p:plain

 

マップに配置されているSedanを選択し、詳細のInputからAutoReceiveinputをDisabledにします。

f:id:Bussan_dayo:20181108170303p:plain

 

続きを読む

UE4:新・簡単なOculus(VR)用のメインメニューの作り方(複数対応編 2018年バージョン)

この記事の複数対応についてTwitterのDMにて質問を受けましたので記事にしました。

UE4:簡単なOculus(VR)用のメインメニューの作り方 - 僕の私のUnrealな日々

 

 

 

BarWIDのコンポーネントプログレスとテキストを起きます。

 

 

 

アンカーは中央に設定してください

f:id:Bussan_dayo:20180826171238p:plain

 

コンポーネントをボックスコリジョンを親にして、子にWidgetを設定してください。

Widgetには先程作成したBarWIDを設定します。

f:id:Bussan_dayo:20180826171339p:plain

BoxのコリジョンをAllBlockに。WidgetをNoCollisionに設定してください

 

BarWID

BarWIDにてパーセントを設定する関数、Textにセットする関数を作成しました。

f:id:Bussan_dayo:20180826171551p:plain

f:id:Bussan_dayo:20180826171614p:plain

 

バインドを作成しテキストに設定を行いました。

f:id:Bussan_dayo:20180826171657p:plain

f:id:Bussan_dayo:20180826171715p:plain

 

LoadBarBP

タイムラインを作成しました。

f:id:Bussan_dayo:20180826171834p:plain

 

5秒間で1になるようなものです。プログレスバーの時間を変更する場合はここの時間の設定を変えてください。 

f:id:Bussan_dayo:20180826171847p:plain

 

 IsLoadingというBoolの変数を作成しました。EventLoadingに処理が走った際、Falseだったらタイムラインの処理が、EventStopLoadingの処理の際はTrueだった場合にタイムラインの処理が入るようにしました。

f:id:Bussan_dayo:20180826172005p:plain

 

処理終了後はOpenLevelを呼んでいます。Name型の変数を作って接続しています。

この変数は編集可能にしてください。

f:id:Bussan_dayo:20180826173808p:plain

 

 

 

ThirdPersonCharacter

 TickからLineTraceの処理を呼んでいます。これはカメラから1000離れた所までトレースを出すといったものです。HitActorにLoadBarBPをキャストで他のBPにあたった時の処理を弾いています。f:id:Bussan_dayo:20180826172154p:plain

 

LoadBPというLoadBarBP型の変数を作成し、変数がNullだった場合変数に入れEventLoadingを呼び出します。また、Traceに失敗知ている場合及びLoadBarBP型ではなかった場合、EventStopLoadingを呼び出し変数を空にします。 

 

f:id:Bussan_dayo:20180826173652p:plain

 

 レベルに配置し、作成した変数OpenLevelにレベル名を入れます。

f:id:Bussan_dayo:20180826173913p:plain

 

 Loadのバーのテキストにレベル名を入れたいのでBeginPlayでSetName関数にOpenLevelを入れます。

f:id:Bussan_dayo:20180826174025p:plain

 

 以上

 

Chaos of War:2月3月の進捗

 

f:id:Bussan_dayo:20180323204031p:plain

 

どうもです。 引き続き作っています。

 

WebPageを作成しました。

www.chaosofwar.com

 

3Dモデル、アニメーション担当が1人増え、5人になりました。 

 

 この2ヶ月で実装したものは以下の通りです。

サウンドの導入

エフェクト及び銃での攻撃のネットワークテスト

仮ゲームルールの追加

その他いろいろ

 

サウンドSEの導入

通常SpawnSoundAtLocationノードを使用してサウンドを再生するのですが、マルチになるとこれがめんどくさい。そこで色々と検証した結果、サウンドSEのみのBPを作成しました。

f:id:Bussan_dayo:20180323195528p:plain

 

続きを読む

UE4:リッスンサーバーでの通知BPの挙動~足音編~

 

 

最近サウンドを入れ始めました。

 

で、足音をいれるため通知BPを作成し、音を鳴らすことに。

f:id:Bussan_dayo:20180218120354p:plain

 

f:id:Bussan_dayo:20180218121848p:plain

 

 

すると、音が複数回なることに気づく。クライアントを3人で行うとクライアントで歩いた際に4重になって音が聞こえる。

 

調べて見るとデディケートサーバーだとうまくいくらしい。

 

困っているとそこに

 

 

 

てことで相談すると、

アニメーション通知はマルチキャストと同じ挙動になるとおもうので、クライアントからサーバーで実行してレプリケートの仕組みを作るか、各々のローカルだけで再生するための通知を出すかを振り分けたら解決するはずです

 

 なるほど・・・・。

 

続きを読む

12,1月の製作進捗

 

お疲れ様です。

 

 

作ってます。

 

11月から色々とありエフェクトデザイナー、レベルデザイナーの参加で計4人になりました。 ありがたいです。

 

団体のTwitterが出来ました。

 

 

 

エフェクト周りですが、デザイナーが2人になり本格的に作業が進み始めました。

そこで早速求められた物がエフェクト動作をチェックするツールです。

その為パーティクルチェッカーと言うものを作成しました。

 

 

 

動作としてはエフェクトを設定し終了条件を設定、終了後次のエフェクトのスポーン及びなかった場合終了というものです。

 

動作パターンも幾つか作成しました。ただスポーンするだけのエフェクト、直線運動、放射型、ソケット配置型などです。設定を選択肢、終了条件を入れます。例えば何秒後やオブジェクトに当たったらや、終了後何秒後にエフェクトを消すかなど様々です。

 

続きを読む