GetUnitDirectionとは??

最近「GetUnitDirection」というノードを初めて見たので 軽く触ってみて、なんとなくこのノードがどういうのか分かりました。 「GetUnitDirection」ノードは・・・ ”キャラの向き関係なく” ”ワールド座標で”、Fromの位置に対して、Toがどの位置にいるのかを …

体力ゲージが何層にも重なっているタイプのHPの作成と処理方法(サンプルプロジェクトあり)

龍が如く、ジャッジアイズシリーズ、デビルメイクライ2のように・・・ 体力ゲージが何層も重なってるタイプの体力ゲージの作成と処理を紹介します。 ↓サンプルプロジェクト(バージョンは4.27です) UE4 プロジェクト - OneDrive (live.com) サンプルプロジ…

取得したスコアを徐々に加算して表示するスコア加算表現方法!

取得したスコアを、徐々に加算して表示する方法を紹介します! 例えば・・・ スコアを「10」獲得したら、「1」ずつ加算して最終的には「10」と表示する。 スコアを「1000」獲得したら、「100」ずつ加算して最終的には「1000」と表示する。 この表現方法だと…

体力を2層に分けて減らすタイプのダメージ表現

今回は、ダメージを受けた時に 体力を2層に分けて減らす という、アクションゲームでよくあるダメージ表現の方法を紹介します。 体力を2層に分けて減らす、というのは 以下の画像のような表現を指します。 体力ゲージが2層になっていてるやつですね。 青色の…

スプラインに沿ってメッシュを配置する方法

スプラインに沿ったメッシュの配置方法の解説をします。 このやり方は、UE4の機能別サンプルのやつを参考にしています。 ~目次~ アクターの作成 コンポーネントの追加 変数 ConstructionScriptの処理 スプライン上に配置するメッシュの選択 テスト アクタ…

EQS~Points:Cone~

Points:Cone アイテムをコーン上に配置します。 Points:Coneの詳細パネルの項目の解説をします。 (分からず説明を飛ばしてる部分もありますがご容赦を・・・) ~目次~ AlignedPointsDistance ConeDegress AngleStep Range CenterActor ProjectDown Projec…

EQS~PointsCircleの紹介と解説~

EQS・・・EnviromentQuerySystem(環境クエリシステム)の略。 EQSとは??に関しては、以下のサイトをご覧ください。 【UE4 EQS】EQSってどういうもの?|manuo|note EQSにはジェネレーターというものが存在します。 ジェネレーターは、アイテムの置き方を…

ALSV4 カメラがオブジェクトをすり抜けてしまう問題の修正

最近ALSV4(AdvancedLocomotionSystemV4)を触ることが多いので 学んだことなどを紹介していきます。 今回は カメラがオブジェクトをすり抜けてしまう問題を解決する方法を紹介します。 ~目次~ カメラのすり抜け問題とは?? なぜすり抜ける?? カメラの…

ラグドールから立ち上がる方法!

「MovementAnimsetPro」の起き上がりアニメーションを使った ラグドールから起き上がる処理を紹介します。 ~目次~ アセットの追加 リターゲット Montageの作成 BPインターフェースを作成 BPI_AnimBP BPI_Character ThirdPersonCharacter BPインターフェー…

カメラを瞬時に真後ろに向ける処理

今回はカメラを瞬時に真後ろに向ける方法を紹介します。 ~変数~ TargetRotator・・・カメラの真後ろ方向を格納する変数 RotateCamera_TimeHandle・・・タイマー変数。 CameraTurn・・・カメラ回転中はTrue。 ~カメラ操作処理~ CameraTurnがFalse、つま…

血の作成~地面や壁に血をつける方法~

今回はこちらのアセットを使用して 血のデカールを地面や壁につける処理を紹介します。 確かそこまで高くなかったような気がするので(500円ぐらいだったかな) 1000円あれば余裕で買えると思います。 このアセットは、地面用と壁用の血のデカールが入ってる…

ブラックホールの作り方!

近くにあるメッシュやキャラクターを吸引する ブラックホールの作成方法を紹介します。 ~ブラックホールを作成~ 「BP_BlackHole」という名のアクターを作成。 適当にSphereコンポーネントを追加。 ~BPインターフェースの作成~ 「BPI_Character」という名…

対象のアクターの手前までプレイヤーを移動させる方法

自身を対象のアクターの手前まで移動させる処理を紹介します。 ~対象のアクターを作成~ まず対象のアクター「NPC」を作成します。 「ThirdPersonCharacter」をコピーしただけです。 作成した「NPC」を、適当な位置に配置します。 ~レベルBPの作成~ 処理…

エイムオフセットを使わずに、エイムオフセットと同じことをする方法!

シューティングゲームを作る時 必ず使うであろう エイムオフセット キャラをカメラの向いた方向に向かせえる際に使うやつですよね。 けど、もしかしたら エイムオフセットを一々セットアップするのは めんどくさい! という人がいるかもしれません。 そんな…

GetHorizontalDotProductToとは??

今回「GetHorizontalDotProductTo」という気になるノードを見つけたので どういうノードなのかを解説します。 このノードは OtherActorが、ターゲットの前面・後面のどちら側にいるのかを「1」~「-1」の値で返してくれます。 ・・・よくわかんないですよね…

ポーズ画面の実装!

今回は ポーズ画面の実装! 方法を紹介します。 今回紹介する方法は 普段自分がやっている方法とは違うのですが UE4初心者もこの記事を見るかもしれないので あえて自分が普段やっている方法とは違う (個人的に)至ってシンプルな方法を紹介します。 UE4初…

しゃがみから立ち上がれるかどうかをチェックする方法!

※前回の記事の続きとして紹介してるので 前回の記事を読んでから見ることをお勧めします。 前回の記事で free-gamer.hatenablog.com しゃがみアニメーションの方法を書きました。 しゃがむことが出来るのは良いのですが 1つ問題があります。 どういう問題か…

しゃがみアニメーションのやり方!

~アニメーションをプロジェクトに追加~ 作成したプロジェクトに 「アニメーションスターターパック」を追加します。 ~アニメーションリターゲット~ コンテンツ内にある 「Mannequin」を開き 「Character」→「Mesh」と開いていきます。 ↓ 「Mesh」ファイ…

プレイヤーが日陰にいるかどうかの判定方法!

レベル内にある 「Light Source」を選択します。 「Light Source」を選択した状態で 「ブループリント/スクリプトを追加」をクリックします。 以下のような画面が出てくるので 「BP_Light_Source」をいう名前で ブループリントを作成します。 作成された「BP…

小ネタ!カテゴリー機能の便利な使い方!

皆さんはカテゴリー機能を使ってますか?? カテゴリーに名前を付けることで 作成した変数や関数、マクロを 分かりやすく管理することが可能です。 変数 関数 マクロ さらに、”ある記号”を加えることで カテゴリー分けをより詳細化させることが出来ます。 「…

徘徊!追跡!見失う!いない!徘徊再開!

※注意! 前回の記事「敵のランダムな徘徊方法!」を読んでいること前提で進めます! free-gamer.hatenablog.com 今回は 視界に入ったプレイヤーの追跡方法! と 見失ったら見失った地点まで移動! と 一定時間待機してプレイヤーが見つからなければ徘徊再開…

敵のランダムな徘徊方法!

~今回やりたい事~ ・敵をうろうろ徘徊させる!! 以上!!(上から目線) 「ThirdPersonCharacter」をコピーし コピーした奴に「Enemy」と名付けます。 「Enemy」を動かすためのコントローラー 「AIController」を作成します。 「Enemy_Con」と名付けます…

カメラの向きに上限を設定する方法!

とある理由で カメラの向きに上限を設けたい! と思ったとします。 例えば カメラの上下方向(Pitch)に「45度」の上限を設けるとします。 ↓その場合、以下の処理を組みましょう。 レベルBPでもキャラクターBPでもどちらでもいいので この処理を組みます。 …

プレイヤー(自分)が敵の正面/背面どちらに立っているかを判定する方法!

レベルBPを開きます。 以下のような処理を組みます。 Qキーを押した時、自分が敵の正面にいるか背面にいるかを判定する処理です。 それでは解説していきます。 敵の前面ベクトルと位置を取得 プレイヤーの位置も取得しています ↓上から見るとこんな感じです…

プレイヤー(自身)と最も近い敵にアイコン(UMG)を表示させる方法!

プレイヤー(自身)と最も近い敵にアイコン(UMG)を表示させる方法! を今回は紹介します。 ↓最終的な出来としては以下のようになります。 youtu.be ※サードパーソンテンプレートを使用します ~敵の作成~ コンテンツフォルダ>ThirdPersonBP>Blueprintフ…

風を起こして物を飛ばそう!

今回は 風を巻き起こして 物を吹き飛ばす方法! を紹介します! まず、BPインターフェースを作成します。 ~BPインターフェース~ 「MyInterface」という名前にしました。 「AddImpulseActorBPI」という名のインターフェースを作成。 物を吹き飛ばすイベント…

Findノードとは何か!?

Findというノードがあります。 これは、 Bの値が、 Aの配列内にある値と 一致するものがあれば 一致した値の インデックス値を返す ノードです。 例えば・・・ Name(名前)型の配列変数と 普通の変数を用意し、 画像のようにします。 ↓ TestArray・・・配列…

魚眼レンズの実装方法! 『あるもの』を使えば   簡単に実装可能!

P.T. というホラーゲーム、ご存知でしょうか? あのMGSで有名な小島監督が作った ホラーゲームです。 知らない人はggってね。 さて、このP.T.。恐怖を掻き立てる為に 色々な要素や演出が 盛り込まれているのですが・・・ その恐怖を掻き立てる要素の一つに…

FPS(フレームレート)の変更方法!

キャラクターBPとレベルBP どっちでもいいので、 イベントグラフに以下のような処理を組みます。 「1」キー・・・「30FPS」に変更 「2」キー・・・「60FPS」に変更 「3」キー・・・「120FPS」に変更 「4」キー・・・「FPSを無制限」に変更 コンソールコマン…

PhysicsAnimationコンポーネントで、酔っぱらいを作ってみようか!

↓今回は、酔っぱらいのおっさんみたいな「ふにゃふにゃ人間」を作っていきます! そのためには・・・ PhysicsAnimationコンポーネント を使います! PhysicsAnimationコンポーネントを使えば、 物理シュミレーションベースのアニメーションをさせることが出…