妹でもわかるUnrealEngine4

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

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

UE4用のSpriteStudioプラグインの導入が簡単になっている

github.com ※ UE4.17以降では、上記のシェーダファイルのコピーは不要になりました。 「今まではSpriteStudioプラグイン入れる時に、シェーダーファイルをUE4のインストール先にコピーしなきゃいけないっていうのがあったんだけど、それが4.17用からなくなっ…

3Dウィジェットと普通のウィジェットが重なった場合の追加実験

「昨日のウィジェットの重なりでちょっと気になることがあって試してたんだけど、設定がWorldだったら、操作判定のある普通のウィジェットに隠れてても、普通に押せるということがわかった。ボタンもカーソルのホバーに反応する」妹「Worldっていうのは、3D…

3Dウィジェットが物陰に隠れている場合の判定

「3Dウィジェットは3D空間にあるわけで、とうぜん隠れたりしてよく見えない場合がある。これの判定はどうなってるんだろうと思って調べた」「基本的にレイを飛ばして物体を探す仕組みと同じで、レイがウィジェットに届いたかどうかで、押せるかどうかが決ま…

複数のPawnが同じ入力イベントを受け取ることはできない(Actorならできる)

「AnswerHubの質問に答えてて気づいたんだけど、複数のポーン(Pawn)で入力を受け取るっていうのが出来ないっぽい」妹「あれ? 昔そういうのやってなかったっけ……」「それは全部複数のActorが入力を受け取る方法だったんだよ。Pawnではなくて」imoue.hatenabl…

3Dウィジェットにはポストプロセスマテリアルが効くし、ライトもあてられる

「3Dウィジェットってポストプロセスって効くのかな……と思って試してみたら、特に何もしなくても普通に効いた」妹「普通のウィジェットは駄目だったよね。なんというか、一番手前の手前に来る感じだし」「そういうモードもあるよ」「Widgetコンポーネントの…

3Dウィジェットで作ったボタンを押す

「3Dウィジェットの表示はいいとして、これって押したり出来るのか? というあたりを今日は調査」妹「押せるの?」「押せる」「まず最初に思いついたのが、Widgetコンポーネントの中に入ってるウィジェットをGETしてきて、普通にSetInpoutModeで設定すれば動…

3Dウィジェットをビルボード化する

「昨日の表示でもいいんだけど、もっとビルボードっぽい表示も試してみることにした」妹「これもカメラの方を向いてるんじゃないの?」「カメラの方を向いてるといえば向いてるんだけど、カメラ自体を向くと昨日みたいに、横にあるやつは斜めに見える。そう…

3Dウィジェットをカメラに向ける

「3Dウィジェットは3D空間にあるから、向きによっては見えないこともある。平面ポリゴンにウィジェットを貼り付けたような感じ。違う角度からも見えるようにしたいので、今日はウィジェットを自動的に回転させる仕組みを作る」「FindLookAtRotationを使うと…

Widgetコンポーネントでウィジェットが表示されなくなる問題と解決法

「Widgetコンポーネントのパラメータを調整していたら、なぜかウィジェットが見えなくなって、しかも元に戻せなくなるというトラブルが発生した。DrawAtDesiredSizeという項目にチェックを入れると、なんかウィジェットが消えちゃう」妹「チェックを外せばい…

Widgetコンポーネントで、3D空間に文字を表示する

「メッセージウィンドウじゃなく、キャラクタに吹き出しを付けるみたいなやつを作ろうと思って色々試してみたところ、この3Dウィジェットという仕組みが良さそうだった」docs.unrealengine.com「Widgetコンポーネントというのを付けるだけで、画面の一番手前…

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

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

アクターをサブレベルにスポーンさせる方法

「エディタで配置したアクターに関しては、昨日の方法で好きなサブレベルに移動させることが出来るんだけど、スポーンしたやつは全部パーシスタントレベル……つまり大本のレベルに所属してしまうという問題がある」妹「それだとサブレベルを読み直した時に弾…

サブレベルの作成と部分的なリセット

「サブレベルもちょっと使ってみた方がいいかなと思ったので、FPSテンプレートをベースにして、簡単な実験をやってみた。弾にあたって動くキューブだけサブレベルにうつして、任意のタイミングでサブレベルだけリセットする」妹「簡単そう?」「原理がわかれ…

リセット機能の作り方

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

Set Input Mode UI Onlyを使うと操作不能になる問題

「昨日発生した、ウィジェットを表示した時に、その時進んでた方法に進み続けてしまう問題を調査した」「これがTPSテンプレートのデフォルトキャラ(グレーマン)のブループリント。このInputAxisのところに数字が入り続けて、このイベント自体も実行させる…

NPCとの会話のシステム(4) クリックして話を進める

「分割したセリフを、クリックして読み進めるようにした。これがだいたいの完成型。ちゃんとDialogueっぽくなったはず」妹「最初のへんがなんかおかしいんだけど」「なんでかわからないんだけど、ウィジェットだけ入力を受け付けるようにしてるのに、キャラ…

NPCとの会話のシステム(3) 複数のセリフを1つの文字列から切り出す方法

「前回のは1行ごとに分けたけど、あれだと複数行のセリフに対応できないので、もう少し工夫を加える」 「前回は改行で区切ったけど、今回は何も文字がない改行だけの行で、ひと区切りになるようにした。言い換えると改行が2回連続した場合だけど。これでセ…

NPCとの会話のシステム(2) 長い文字列を配列に変換する方法

「昨日のやつに少し手を加えて、変数に設定した文字列の最初の行だけ表示するようにした」妹「1行だけ入れればいいのでは」「そうなんだけど、この特定の行だけ取り出す方法っていうのが、文字列を使って何かする時の基本になる」「これがウィジェットを表…

NPCとの会話のシステム(1) とおりすがりの会話

「先日の会話の話で、あれもっと簡単に作れるんじゃないかと思ったんで、少しテストをしてみている」imoue.hatenablog.com 先日のやつ妹「これは……会話してるの?」「人間のまわりに透明コリジョンを置いておくと、通りすがりに声をかけられる感じになる。近…

大きさを変えてスタティックメッシュを作り直す

「昨日の問題に対処するべく、あとで拡大縮小するんじゃなく、スタティックメッシュそのものを小さくしてやろうという話」妹「えっ、これってそんな説明を要するようなやつなの?」「要しそう。基本的には大きさを調整したアクターをレベル上に置いて、スタ…

スタティックメッシュを縮小すると物理の動きがおかしい問題

「そういえば今回の妹の制作についての問題点とかは」妹「短時間で作るというのがあったから、そんなに難しいことはしてないけど、でも一箇所ヘンなことになったところがある。物が落ちてきたり跳ね返ったりするのを物理で設定したんだけど、これを普通にや…

Windows上での日本語入力関連の不具合追跡調査

「UE4.18で、日本語入力のトラブルが1つ解消されたらしい。MS-IME普段使ってないから、ちゃんと確認できてないんだけど」imoue.hatenablog.com妹「わたしは使ってるの?」「使ってない。なので、それ以外のWindowsの日本語入力関係の不具合がどうなってたか…

UE4.18 preview版でWebAssembly出力が復活

forums.unrealengine.com「4.18のプレビュー版が出てたんだけど、WebAssemblyが復活してた」妹「いいやつだけどなんか途中でなくなったというやつだっけ」「プレビュー版では使えたのに、正式版からは隠し機能扱いで、ランチャーからダウンロードした版では…

図解『Push-ups 60』の謎アニメーションの作り方

www.youtube.com「腕立て伏せのゲームを作ろうと思って、とりあえずポーズまでは作ったけど、それをどうやって動かすのかというのが問題だった」妹「普通にアニメーションとして作ったら駄目なの?」「上手くいかなかった場合はそうするつもりだった。Mixamo…

第8回UE4ぷちコンで参加賞を受賞!

「さっき発表の生放送みてきたんだけど、残念ながら……」www.youtube.comwww.youtube.com妹「やっぱ駄目か。今回はしかたないね。記憶を取り戻しつつ、Tシャツを貰うのが主目的だったから。っていうか108作品とか多い」「水滸伝の魔星でも集まったんですかね…

メッセージウィンドウの表示方法

妹「OCTOPATH TRAVELERやっててふと思ったんだけど、これって街の人と会話できるよね? どうやって作ってるんだろ」「どうやってというと……」妹「いやこれUE4製なわけでしょ? 文字を表示するのはいいとして、テキストノードを死ぬほど作って、それをごにょ…

OCTOPATH TRAVELERの体験版調査

妹「そんなにテレビにくっついて、何見てんの?」「いやOCTOPATH TRAVELERの体験版が入ってたから」妹「入れといてって言われたから入れた」「どういう仕組みなのかをよく見ている」www.youtube.com妹「パソコンの動画ならおっきく出来るのでは?」「いや光…

『ファンシーレイン』と『Push-ups 60』第8回UE4ぷちコンに応募した動画

www.youtube.com 妹のやつwww.youtube.com 兄のやつ妹「なんとか応募できた、これでTシャツが増える」「Tシャツ気に入ったの?」妹「夏になったから着てみたんだけど、着心地がいい。パジャマによし、普段着によし。なのでもう1枚欲しいんじゃよ。でも頑張…

ディスパッチャーを使ったら、Faild import for functionエラーが出た時の対処法(仮)

「ちゃんと動作はしてるんだけど、プロジェクトを開いた時の謎のエラーが気になる……」妹「何やったの?」「いや普通にディスパッチャーを作って、イベントをバインドして、UMGのアニメーションが終わったタイミングで色々やろうとしただけなんだけど。色々す…

スタティックメッシュにくっつけた、マテリアルのテクスチャを傾ける方法

妹「マテリアルっていうのは、こう、傾かないもんなのかな?」「と、いいますと」妹「スタティックメッシュにマテリアルつけて、そしたらこう木目が思ってたのと違う方法だったんだよ」「スタティックメッシュごと回転させるというのが一番無難な方法だけど…