妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

ノード解説

ForEachLoopによるコピーと参照の問題

つまり配列をForloopで渡したとき、Array Elementソケットから引っ張り出したやつは配列の中身のコピーになるっぽいのか。内部の値を編集するにはIndexだけ取り出して元の配列変数から参照Getする必要があると #UE4 pic.twitter.com/qzPGSr6Or9— 大福 (@dfk_…

Rotatorに角度を足し算する② それでも強引に足し算する方法

imoue.hatenablog.com imoue.hatenablog.com 昨日までの「昨日はCombine Rotationsノードを使うことで、角度をちゃんと変化させる方法をやったけど、実はもう少しちゃんとしてない方法もある」「こういう風にすると、普通に角度を足しても回転させることがで…

SkySphereの太陽を動的に動かす

妹「太陽を動かす実験をやってたんだけど、上手くいったところと、いってないところがあるんだよ」妹「太陽を別の位置に動かすのはできた。最初なんか変だと思ったのは、どのライトを使うかの設定をしてなかったかららしい。あとライトの角度を変えた時にボ…

Math Expressionは、数学式じゃなく、C++で書かれている

妹「前回のやつだけど、MathExpressionノードがちゃんと出てないね……」imoue.hatenablog.com「言われてみればたしかに。やっぱり他の方法で載せた方がいいんだろうか」妹「でもブループリント多いと大変だよね……それはともかくとして、そのMath Expressionな…

リファレンス渡しに設定した時の動作(マクロ・イベント・関数の場合)

imoue.hatenablog.com「昨日の実験について、マクロの場合はリファレンス渡しに設定しなくても動くんじゃないか? という情報が寄せられた。実際試してみたら、設定しなくても普通に動いた。そこでそれぞれのケースについてリファレンス渡しの設定をしたりし…

値渡しと参照渡しは、兄にもよくわかっていない

妹「ちょっと前にボクセル作ってた時に、値渡しと参照渡しみたいな……って書いてあったけど、それなんだっけ? 聞いたことがあるかもしれないけどよくわからん」「それなら丁度いい記事があったよ。リファレンス渡しというのが参照渡しの事。単に言葉の訳し方…

GetGameTimeでプレイ時間は調べられる

imoue.hatenablog.com妹「ちょっと前の質問のやつなんだけど、あれ他にもなんかノードがあった気がする。たしかゲームタイム? とかいうやつが」docs.unrealengine.com妹「これこれ。Nowノードだとなんか色々ノード組み合わせる必要があるけど、これだと秒数…

クリアするまでにかかった時間を調べる

こんばんは! 表示の方はハイスコアの作り方と同じでいいと思います(たぶんどこかに情報が……)。タイムの計測は、プレイ開始時点と終了時点でそれぞれ現在時刻をGETしてその差を調べます。詳しくは記事で #peing #質問箱 https://t.co/jJ7BVwhqfh pic.twitt…

比較演算や論理演算を使った、複雑な条件分岐

初質問ありがとうございます! アイテムを取るごとに増えるint変数を作って、それと必要な個数を『>』とかで比較して、比較した結果の赤ピンをブランチノードにつなげる感じです。明日の記事でもう少し細かく #質問箱 #peing_unaunagi1 https://t.co/CmHCusO…

UE4の操作方法・ノード名早見表(英語版)の紹介

「海外の掲示板で、UE4のチートシートが話題になってた」uecasts.com エディタ操作用uecasts.com ブループリント用uecasts.com C++用「操作方法とかをコンパクトにまとめたもので、例えば妹が先日探していた、アクターを地面にぴったりくっつけるやつも載っ…

リセット機能の作り方

妹「OpenLevelつかってリセットできるようにして、あとゲームが終わったときもこれで戻るんだけど、なんか読み込みに結構時間がかかって、その間についマウスをカチカチクリックしてタイトル飛ばしてしまうんだけど、これもっと速くできないもんかな?」「兄…

アクターじゃないクラスを生成する方法

「AIの仕組みをUE4のブループリントで実装してみようと思ったんだけど、その前段階としてちょっと困ったことがあったんで、今日はそれのやり方を調査してた」妹「困ったこと?」「なんというか、アクターをスポーンさせるのは普通に出来るし、やり方も色んな…

OpenAssetOrgのアセットで2Dゲームを作る(28) BuildStringによる文字の結合

「フォントはOTFフォントなら問題なさそうということがわかったので、スコア表示も入れる。加点の仕組みがないからずっと0点のままだけど」妹「BuildStringというのは?」「文字の結合はAppendノードを使ってもいいんだけど、BuildStringを使う方がノードの…

OpenAssetOrgのアセットで2Dゲームを作る(18) KillZVolumeで消えない連中をどうにかする

「昨日UE4でテストプレイを開始したまま、すっかり忘れて違うことしてたんだけど、なんだか凄くゲームが重たくなっていた。なぜかと思って調べてみると、出てきた王様たちが全員消えずに行進を続けて、はるかかなたを目指して歩き続けてることが発覚した」妹…

Rotator用Equalノードの許容範囲

妹「昨日の角度のやつだけどさ、あれ3Dの角度でやるとどうなるんだろ? 例えば90度としてもさ、ピッチとロールとヨーがあるわけだから。その合計? それとも全部が90度以内だったらイコールとか?」「それは全部90度以内だったらイコールの方みたい」 「こう…

GetAllActorOfClassからの絞り込み

「昨日のだとアクター全部を落下させる形になってしまうので、落下させるアクターと、させないアクターと区別する方法を考える」「一番簡単なやり方はこれ。Actorクラスじゃなくて、特定のクラスで絞り込む方法。一番ノードが少ないし、動作的にも多分速い。…

Tickイベントの実行順・ティックグループの謎

youtu.be ブループリントマニアックス from Masahiko Nakamura www.slideshare.net「先日紹介したアンリアルフェスの動画を見てたんだけど、まず気になったのがこのブループリントマニアックスのセッションで紹介されてた、ティックグループ。スライドの方で…

UE4.14.0 preview1のTSetとTMap状況

「先日TMap型の変数が作れないという記事を書いたけど、あれが実は作れるということがわかって……」「実験的な機能だから、エディタ設定でここにチェックを入れないと駄目だということがわかった」妹「じゃあもう使えるの?」「作れるけど……使えない」妹「?…

4.14でのTMap型サポートはまだ限定的?

「4.14の機能紹介にこんなことが書いてあったんで、詳細パネルをつつき回してみたんだけど、どうもC++から作ったTMap型に、詳細パネルからデータを追加したり出来るだけで、肝心のTMap型自体を作るのはブループリントとエディタだけでは無理っぽい気配だった…

デリゲートとイベントディスパッチャーの仕組み

妹「カスタムイベントをバインドしようと思うと、ちらほら"デリゲート"って単語が出てくるんだけど、これは何なの?」docs.unrealengine.com「沢山の関数を登録して、それを後から呼び出して実行するやり方のこと。UE4のブループリントの場合は関数じゃなく…

LinerDampingの動作確認

「昨日のLinerDampingがどういうことなのか気になったので、さらに追加テストを実施した」 「というかんじで、赤い方のLinerDampingを増やしておくと、やっぱり普通の重力落下も遅くなってる」妹「やっぱり物体の動くを遅くしたり、速くしたりする設定なのか…

Adding Hover Componentの動画で学習

妹「Component作るっぽい動画がいくつか見つけたんだけど、英語->日本語字幕ではさっぱりわからん。でも、やりたいことが出来そうな気配は漂ってた!」「漂ってたんだ。じゃあとりあえずこの動画から見ていくことに」docs.unrealengine.com妹「ホバーするコ…

「Retriggerable Delay」で、もう1回ボタンを押したらDelayの待ち時間をリセット

妹「だいぶ前に兄に聞いた時は、そういうノードはないんじゃない? って言われたんだけど、実はあったというやつ」妹「何をしようとしてたかというと、ボタンを押したらブレーキフラグを立てて、一定時間立つとそのフラグが解除される。その一定時間待つのに…

数字の足りない桁をゼロで埋める方法「Right」

妹「こういう感じで、時間とか表示する時に、数字がひと桁だったら0を入れて表示したいことって、よくあるんだけど……」妹「今回は色々考えた結果、文字列を加工したらいいのでは? と思って、そういうブループリントを組んだんだけど、もっと良い方法あるん…

Lerp をさらにもっといい感じにする Ease

妹「数字をいい感じにしたいんだよ。上手く説明できないんだけど、とにかくいい感じに数字を変化させたいというか」「それはEase的な話かなあ……」[UE4] 動きに緩急をつけるEaseノードの紹介 | historia Inc - 株式会社ヒストリア「AとBをAlphaのピンをつなぐ…

小さい時ほど数字を大きくする・Larp と NormalizeToRange 応用編

妹「小さい時ほど大きくなるような数字が欲しいんだよ。こう、スピードが遅い時は大きい数字になって、速い時ほど小さい数字になるのがいいんだけど」「なんだかよくわからんけど、たぶん昨日の応用の話のような気がする」 「Lerp は、A と B の数字を入れ替…

謎ノード解説『Lerp』『NormalizeToRange』

妹「あとLerpもよくわかんないんだけど。昨日と同じ、ランドスケープマウンテンのサンプルなんだけど……」妹「なにがわからないかというと、まず読み方がわからない」「読み方……って言われてもこれ略語だから、どうなるんだろ? Linear interpolationを略して…

ランドスケープサンプルの、徐々に角度を変える仕組み

妹「ランドスケープのサンプルを見て飛び方の調査をしてるんだけど、よくわかんないノードがある。いっぱいある」「日本語のドキュメントがないやつかな」妹「日本語のがなかったり、日本語なんだけど意味がわからなかったりした。角度関係っぽいんだけど。R…

GetActorBoundsでアクターの大きさを調べる・その2

※6/14追記 妹にこれだと大きさじゃなくて半分の大きさを調べてるのでは? と言われて確認したらやっぱり半分だったので、そういう感じに訂正しました。妹「バウンディングボックスというのを調べればいい、調べられるということはわかったけど、結局大きさは…

rerouteノードの仕組み

妹「ノードをつなぐ線を曲げる時とかに、丸いポイントを付けてるけど、これって曲げるだけじゃなくて、その丸いやつから複数のノードにつなげるよね?」「つなげるよ」妹「でもドキュメントにはそれ書いてなかったような……あ、今見たら書いてあった」docs.un…