UE5
1. Widget内にRichTextBlockを配置する 2. スタイルシートを作成する RichTextStyleRowを選択してデータテーブル DT_RichTextStyle を作成する DT_RichTextStyle に行を追加し、テキストスタイルを設定する。 Widgetに戻ってRichTextBlockのTextStyleSetのと…
UMGではTimelineも使えないので、Timerを使う。
1. InputActionを作成する 「Input > Input Action」からInputActionを、ボタンに紐づける一つのアクションごとに作成する。 「Details > Action > Value Type」を設定する。 2. InputMappingContextを作成する 「Input > Input Action > Input Mapping Cont…
プレイヤーに通常時のカメラとロックオン時のカメラを付け、それを滑らかに切り替える方法。 1. カメラのアクターBPを作成 カメラのアクターBPを作成する。 2. プレイヤーキャラBPにコンポーネントを設定 プレイヤーキャラBPに、スプリングアームとChiledAct…
入力イベントが入力を検知しない場合、ブループリントの「Class Defaults > Input > Auto Receive Input」の値を「Player 0」に設定する。
ルートモーションのZ軸の移動を反映させるには、CharacterMovementComponentのMovementModeをFlyingに設定する必要がある。AnimNotifyStateを作成し、以下のように組む。Recieved_NotifyBegin Recieved_NotifyEnd
シーケンサーからアクタの関数を実行する方法。 1. シーケンサーにアクタを配置 実行したい関数をもつアクタをレベルに配置し、OutlinerからSequencerにドラッグ&ドロップでシーケンサーに配置する 2. イベントを追加 アクタの「+ボタン > Event > Trigger」…
シーケンサーでフェードイン・フェードアウトをする。 1. フェードトラックを追加する 2. フェードイン開始 開始時点にFadeのキーを打ち、valueを1にする。 3. フェードイン終了 終了時点にFadeのキーを打ち、valueを0にする。
レベルブループリントからの再生
Overlay:中身のコンテンツサイズに合わせる場合。モーダル等。 Scale Box:スペースいっぱいに広がって欲しい場合。 Size Box:サイズを固定したい場合。
様々なシーンで使いまわす汎用ダイアログボックスを作成する。 タイトルの表示・非表示、戻るボタンの表示・非表示は都度設定できるようにする。 1. ウィジェットを作成する ルートをOverlayにしてデザインを作成する。 タイトルを表示するか、戻るボタンを…
インプット設定のActionMappingsで複数のアクションに同じ入力キーを割り当てると、下に定義したアクションしか入力判定されない。その場合、優先度が高くなっている入力イベントの「Consume Input」をFalseに設定するとそれより優先度が低くなっている入力…
UE5.4から使用できるようになったModularRigを使用してコントロールリグを簡単に作成する。 1. モジュラーリグを作成 スケルタルメッシュからモジュラーリグを作成する。 2. ModuleAssetsを各ソケットに割り当てる spineソケットに「Spine」をドラッグ&ドロ…
LandscapeGrassを使って特定のテクスチャ上にフォリッジが配置されるようにする 1. ランドスケープグラスを作成する LandscapeGrassTypeを作成し、各項目を設定する。 2. ランドスケープマテリアルを作成する ランドスケープマテリアルを作成する。 tatsunob…
まっすぐ生やす 「Align to Normal」にチェックが入っていると、画像のように地面に対して垂直に生える。 チェックを外すとまっすぐ上に生える。
WorldMachineで作成した地形をUEにインポートしてランドスケープを作成する方法。 1. WorldMachineで作成した地形データを出力する WorldMachineで地形を作成したら、最後に「Height Output」デバイスにつなげる。 「Height Output」デバイスをダブルクリッ…
以下の要件を満たすランドスケープマテリアルを作成する。 草と岩の2つのレイヤーを持つ カメラからの距離に応じてタイリングを調整する 1. マテリアルを作成する 新しいマテリアルを作成し、以下のようにノードを組む。草のテクスチャ。遠距離用は近距離用…
アニメーションシーケンスを編集して一部分をカットする方法。 1. レベルにスケルタルメッシュを配置 レベルに編集したいアニメーションシーケンスのスケルタルメッシュを配置する。 2. レベルシーケンスを作成 「Cinematics > Level Sequence」からレベルシ…
キャラクターの足元に丸い影を表示する方法。 1. テクスチャの用意 以下のような影の画像を用意し、エディタにインポートする。 2. マテリアルを作成 以下のようにしてマテリアルを作成する。 3. キャラクターにアタッチする Planeをアタッチしてマテリアル…
アニメーションブループリントを一つ作成し、それを継承して各キャラクターの各装備分のアニメーションに対応させる。 1. ベースとなるアニメーションBPを作成 ステートの構成 AnimGrapのトップ階層にはStateMachineとモンタージュ用のSlotを配置する。 Stat…
デフォルトのPlayerCameraControllerを使用してシンプルなTPSカメラを作る方法。 プレイヤーキャラクターを作成 プレイヤーキャラクターのブループリントに、スプリングアームとその子にカメラのコンポーネントを追加する。 スプリングアームのTargetArmLeng…
複数のスケルタルメッシュで構成されるモジュラーキャラクターを使用する方法。 キャラクターブループリントの構築 キャラクターブループリントでMeshの下に必要なスケルタルメッシュを追加する。 親階層となる「Mesh」には顔のスケルタルメッシュを設定する…
例えばこのようなステートマシンで抜刀モーションを制御したいとする。 アニメーションブループリントを編集 ステートの遷移を制御するためのフラグ変数を定義する。 Unsheatheステートへの遷移条件を定義する。 UnsheatheからIdleへの遷移は、抜刀モーショ…
画像のようなロックオン時のカーソルを表示するようにする。 1. ウィジェットを作成する [User Interface > Widget Blueprint]から「User Widget」を継承したウィジェットを作成し、「UIW_LockonCursor」と命名する。 CanvasPanelの中にImageを配置し、アン…
以下の画像のように、キャラクターのアウトラインをハイライトさせる方法。 1. ポストプロセスマテリアルを作成する。 新規マテリアル「M_HighlightOutline」を作成し、開く。 「Home」をクリックした状態で以下の設定を行う。 「Details > Material > Mater…
下記のようにノードを組んでラグドール化を行う。
技能ごとにレベルを定義し、現在のレベルに合わせたパラメータを使用するシステムを作成する。 1. レベルごとのパラメータを定義 レベルによって変化するパラメータを構造体に定義する。 [Add > Blueprint > Structure] から「S_Ability_Attack」を作成する…
剣のスイングに合わせてSEを鳴らす方法。 1. SoundCueを設定 ピッチを毎回ランダムに変える SoundCueを開き、Outputの前にModulatorノードを追加して以下のようにPitchの範囲を設定する。 ピッチが上がると再生速度も速くなる。 距離によって減衰させる [Add…
ゲーム中にマウスカーソルを表示させる方法。 マウスカーソルを表示させる 前回作成した「BP_UIManager」に tatsunobu.hatenadiary.jp「ShowMouseCursor」という関数を作成する。
ゲームプレイ中に表示されるUIを作成する。 1. ウィジェットを作成 [User Interface > Widget Blueprint]から「User Widget」を継承したウィジェットを作成し、「UIW_GamePlay」と命名する。 2. UIのデザインを作成 「UIW_GamePlay」を開く。 Canvasの設置 […