UE4.17の新機能・途中で関数のピンを減らした時に赤い警告ピンが出るようになった
「4.17の正式版も出たので早速チェック」
「昨日のデフォルト値以外にもブループリント周りで結構重要な変更があって、途中で関数のピンを減らした場合の扱い変わってる。Orphan pinという項目のところに書いてある」
続きを読むUE4.17の関数のデフォルト値
「4.17で関数のデフォルト値が使えるようになるという話と、今までも使えたのでは? という話と両方を耳にしたので、どういう変更が加わったのか調べてみた」
4.16の場合
・デフォルト値はどんな型でも全部文字で入力(入力しても意味がなさそうな型も多々ある)
・ノードを置いた時に、最初からデフォルト値が入っている
・あとで関数側のデフォルト値を変更しても、配置済みノードの方は一緒
4.17の画面
・デフォルト値の欄が変数の型ごとに違う(デフォルト値が使えない型だと欄が出ない)
・ノードを置いた時に、最初からデフォルト値が入っている(これは同じ)
・関数側のデフォルト値を変更すると、配置済みノードも一緒に変わる
・ピンを右クリックするとデフォルト値に戻すボタンが出て来る
「関数のノードを作った時にデフォルト値を入れる欄は今までもあったんだけど、それが改良されたというか、一般的なプログラミングでの関数のデフォルト値に近くなった感じがする」
妹「関数だけなの?」
「試したところでは、カスタムイベントもマクロも同じような動作だった」
妹「そういうになると何が変わるんだろ」
「デフォルト値を変えるだけで、同じノードを使ってる箇所を一気に置き換えられるのは利点。逆に変えるつもりがないとこまで変わってしまう可能性はあるけど」
妹「自分で変更したところとかは?」
「ノード上のパラメータを、デフォルト値と違う数字とかに変更した場合は、デフォルト値と連動しなくなる。でもたまたま同じ値になった場合でも、デフォルト値とみなされる。」
妹「たまたま同じになるというのは」
「例えばBoolean型で、Trueがデフォルト値だったとして、1個だけFalseに変えておくとする。その状態でデフォルト値をFalseに変更すると、全部Falseになる。さらにそのあとでもう1度デフォルト値をTrueに戻すと、全部Trueになる」
妹「むずかしいことをおっしゃる」
「なんというか、自分で変更したパラメータかどうかわかるようなフラグがないみたいなんだよね。デフォルト値と同じなら変更してない、違うなら変更したという風に判断する。これはアクターのパラメータとかも同じだけど。基本的には便利になる変更だと思うけど、いつの間にか設定値が消えるというトラブルはありえる」
「安全を重視するなら、ノード上に直接書かずにMakeLiteralノードを使う方法がある。ピンをつないだ先にあるMakeLiteralノードの値が最優先だから、デフォルト値がどうなろうが関係なく同じパラメータになる」
第8回UE4ぷちコンのテーマは60秒
妹「今回のテーマは『イカ』? それとも『絵の具』?」
「そんなテーマではなく、『60秒』みたい」
妹「60秒……で作るのは無理なのでは?」
「作るのは60秒じゃなくてもいいみたいだけど」
妹「そうなのか。60秒、うーん、普通に考えたら制限時間とかそういうのだけど」
「60秒の要素をシステムの部分に持ってくるか、それともフレーバーの部分にもってくるか、そのへんも判断が難しそうな」
妹「ところでMODOというのは使えるようになった?」
「まだ……VRとか色々やってたんで。チュートリアル動画は見終わったんだけど、まだ色々とフィットしてない感じが。もうすこしコツを掴む必要がありそう」
妹「そういえばVRゲームとか出してもいいんだよね?」
「それはいいはず。このぷちコン向けに、ゲームジャムもやるらしいんだけど。あ、ゲームジャムというのは、みんなで集まってゲームを作るイベントのことね」
「で、その会場にもOculusやViveはあるけど、足りないかもしれないからできれば持ってきてって話だから、ということはそういうのを使ったゲームを出してもいいということになる。実際に今までにもいくつかVRゲームは出てたはず」