#memo

indiedev太郎

BPノードが取り除かれるDevelopmentModeについて

BPノードは、DevelopmentModeかどうかに応じてパッケージ時にノードを取り除く(コンパイルしない)機能がある
このDevelopmentModeというの、ビルド設定の、Development、Shippingを見ているのかと思ったらなんか違うっぽく、実際にパッケージングして確認したものをまとめておきます

UE4 4.16.1
続きを読む

VolumetricFogを出す

https://i.gyazo.com/0f9577bd61707f76ffebbb40e4b5fed3.gif

VolumetricFogはなにかというと、上記gifのようないわゆる薄明光線が表現できる
最近だとINSIDEの懐中電灯や水中で印象的な使われ方をしていた

これまでUE4でこのような表現をする時は、三角錐やら板ポリにテクスチャ貼ってでやっていたが、ついに4.16のPreviewにてVolumetricFogが実装され、より綺麗かつインタラクションがある薄明光線が出せるようになったとのことなので簡単にレベルを用意してみた、最高
以下とりあえずVolumetricFogを出すまでの内容です

続きを読む

Houdiniで作成したエフェクトをUE4で動かす(VertexAnimationTexture)

https://i.gyazo.com/402f56d844b1ee6c36d80903461e0c06.gif

先日のGDC2017での公演、Houdini側で頂点アニメーション用のテクスチャを生成してUEで読み込むことで、Houdiniで作成したエフェクトがUE内で表現できちゃうというものがあった

vimeo.com

UE側にプラグインを入れて云々というものではなく、あくまでHoudini側でこういったツールが用意されたという話で(去年からあったっぽいけど)、UEというよりHoudini側の話がメインです

今回はとりあえず爆発(煙)をやる、男の子は皆爆発が好きなので
あと自分用のメモ&Houdini普段そこまで触っていないため、上記の動画を見ながらやるのが一番正確です

続きを読む

UObjectのコンストラクタのバリエーション

UObjectのコンストラクタの話、宣言に3つのバリエーションが有る

  1. ClassName() のデフォルトコンストラクタ
  2. ClassName(const class FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) の形をとるもの
  3. 何も宣言しない(GENERATED_BODY()のみ)

こちらのページでも2種類あることが解説されているが、何が違うのかがよくわからない

Unreal Engine | ゲームプレイ クラス

続きを読む

IWYUでコーディングしよう

IWYUとは

4.15で追加された一つの要素として、C++コンパイルの高速化が上げられている

アンリアル 4.15 がリリースされました!

これは、UEのソースコード全体がIWYU(Include-What-You-Use)という方法で再構築された事によるもので、
従来、Engine.h等、同モジュール内の全ヘッダーが網羅されたヘッダー(Monolithic Headerというらしい)をインクルードしていたが、実際に使用している機能はその一部分であることがほとんどであったため、これを必要最低限のインクルードに書き換えることでコンパイル時間の短縮が実現されたのこと、元ネタはそういうツールっぽい

GitHub - include-what-you-use/include-what-you-use: A tool for use with clang to analyze #includes in C and C++ source files

またプラグインのモジュールでもPCHファイルを明示的にインクルードしなくて良くなったなど、なんか微妙に色々変わっている

従来のMonolithic Headerをインクルードするタイプのコーディングは現在も有効だけれども、ビルド時にユーザーが作成したコードに対してもIWYUのオプションが使えるようになっているので、つかっていきましょう

続きを読む