#memo

indiedev太郎

2016-10-01から1ヶ月間の記事一覧

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

正式名称謎だけど、こういうやつとりあえず基本的な機能は 画面内に収まっているマーカーは、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を使用する、これら…