#memo

indiedev太郎

UE4.13

オブジェクトマーカーの実装

正式名称謎だけど、こういうやつとりあえず基本的な機能は 画面内に収まっているマーカーは、3DWidgetを描画 画面外のものは、画面端に方向を示すWidgetを描画 メインのマーカーWidget作る マーカー用アクタに3DWidgetで適当にやる 画面外の判定 次に、画面…

UE4.13、WidgetでSpriteが使えるようになった

タイトルそのままなのだけれど、UE4.13ではWidgetのimageで、従来のTexture、Materialに加えてPaper2DのSpriteが指定できるようになった今までは、例えばアイコンをまとめたアトラステクスチャからWidgetに個々を表示をやるときは、マテリアルを作成してUV座…

UE4.13で追加されたメッシュデカールについて

デカール、これまでは平面投影するDeferredDecalしかなかったけれど、4.13でメッシュ形状でDecalを描写できる機能がついた 平面投影だと、柱の角とかをきれいに出すのは難しかったのだけれど、これを使うときれいな見た目になる モデル用意 とりあえず柱のメ…

UE4、#IF DEBUGもどきマクロの作り方

色々やっているとShippingバージョンではやってほしくないノードとかが出てくる、C++の#IF DEBUGはDEBUGバージョンだけ指定コードをコンパイルしてくれる機能で、これと似たようなマクロがあったら便利 今回できるものは本家と違ってBPから除外するわけでは…

UE4、Inputの長押し処理の実装

十字キーでインベントリのリストを送るみたいな処理、長押しのときはループでやってほしい これを作るためには、Inputの長押し判定を作る必要があるPlayerControllerのGetInputKeyTimeDown()関数にKey構造体を渡すとそのボタンが何秒押されているかを返して…

UE4、KillZVolumeの挙動について

KillZVolumeは、触れたアクタの持つFellOutOfWorld()という関数を実行するように言う(これだけの実装) FellOutOfWorld()はAActorに実装があり Physicsを切る ActorHiddenInGameをtrueに ActorEnableCollisionをfalseに Destroy()実行 という処理を行うFell…

UE4、BPでのデストラクタ処理の作り方

アクタ(AActor継承クラス)がDestroyされたときの流れ Destroy()呼ばれる Destroy()の中でDestroyed()呼ばれる Destroyed()の中でReceiveDestroyed()呼ばれる Destroyed()の中でOnDestroyed()呼ばれる BPではReceiveDestroyedとOnDestroyedを使用する、これら…

SVNでリビジョン管理やる

いい加減ソースコントロール使う、SVNが楽そうなのでそれでやる1.TortoiseSVNのインストールまでやる2.リポジトリを適当なところに作成する、ここに差分が集まってくる、デフォルトのフォルダ構造作りますかって言われるけど作らないでそのままOK押して終了…

セーブについて

UE4にはセーブとロード用の関数が用意されているセーブデータ自体はSaveGameクラスを拡張して定義する、このクラスに作成した変数がファイルに書き込まれる SaveGameクラス自体はUObjectを継承しているだけで全く実装はなく、セーブ系の関数を使う時にこのク…

翻訳について

ローカライゼーションダッシュボードを使ってテキストをローカライズする。 - QiitaFTextを検索して置換することができる、なのでHUDに出てくる文字は全てをFTextでやっておく、むしろ置換対象に出てくるのでこれ以外では使わないこんな構造体を使用するData…

UE4.13、C++側で構造体を定義してBPで使う

USTRUCT(BlueprintType) struct FGameItem { GENERATED_USTRUCT_BODY() UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item") FName key; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item") int32 num; // Constructer FGameItem…

4.13のレンダーターゲットへのブループリント描画

4.13の新機能、テクスチャのUV座標を取得と、レンダーターゲットへのブループリント描画を触っておくUnreal Engine 4.13 Released! テクスチャのUV座標取得 関数FindCollisionUVがそれ、実装はGameplayStatic.cppにある エンジン設定でbSupportUVFromHitResu…

箱の上に上がる、柵を乗り越える

箱の上に上がりたいCharacterMovementのパラメーターにはMaxStepHeightがあり、これは歩ける段差の最大の高さ、階段の1段 これが例えば30cmだとする、ここで乗り越えられる箱の最大の高さを決める、1mとする すると、30cm ~ 1m の高さのオブジェクトには乗り…

歩行のブレンドスペースの構築

三人称視点のプレイヤーはいろんな方向に動いて、それぞれで足の動きが異なる 代表的な動きを作り、ブレンドスペースを使用して360度動けるようになる、代表的な動きは前後左右の4つだけど、斜め移動も入れて8個あるとかなり見栄えが良くなる 更に移動自体に…

UE4.13で追加されたPhysical Animationsについて

4.13で追加されたPhysical Animations Unreal Engine 4.13 Released!従来でも物理アニメーションはPhATを設定して、このボーン以下にどんくらい適応するみたいな事はできた 追加された機能の違いと使い方を確認する現時点でまだドキュメントはなく、公式によ…

足を傾斜に沿わせる

やりたい ・足が傾斜に応答するようにする ・IKとTransformを使用してジョイントをプロシージャルに移動させるいつIKを使うべきか ・基本的に足のIKはめり込み回避に使われるべき ・アイドルモーションでは、軸足でない側 →軸足にIKを使用して膝を曲げてしま…