【UE4ゲーム制作講座】超基礎編・これを見れば継承とキャストがわかる!

  Рет қаралды 8,155

[UE4 Craft Game Develop VTuber]Kurie Meiku

[UE4 Craft Game Develop VTuber]Kurie Meiku

Күн бұрын

Пікірлер: 35
@noraneco
@noraneco 7 ай бұрын
UE5の勉強を始めて3日目ですがとても参考になっています😺全ての動画を一度観て基本にしたいと思います!
@kuriemeiku
@kuriemeiku 6 ай бұрын
おおおお!ありがとうございます!!! 頑張ってください!
@noraneco
@noraneco 6 ай бұрын
@@kuriemeiku もちろん新しい動画も楽しみにしてますんで近況お知らせくださいね😺
@苔モス-y2r
@苔モス-y2r Жыл бұрын
学生の例え分かりやすかったです
@kuriemeiku
@kuriemeiku Жыл бұрын
ありがとうございます!!!
@おおみみず
@おおみみず 3 жыл бұрын
てっきりアクターやポーンはブループリントの種類なのかと思っていました、親と子の関係なんですね。 OtherActorのピンからキャストする場合はActorの子であるポーン、キャラクター、キャラクターの子に対応している感じでしょうか?
@kuriemeiku
@kuriemeiku 3 жыл бұрын
コメントありがとうございます~! >アクターやポーンはブループリントの種類なのかと思っていました 正確には、アクターやポーンはC++で定義されたクラスですね。UEの世界には、C++で定義されたクラスと、ブループリントで作られたクラスの2種類があって、 アクターやポーンはC++で定義されたクラス、今回話していたThirdPersonCharacerはブループリントクラスになります。 コンテンツブラウザで新規作成するとき、「ブループリントクラス」という名前になっていますが、ブループリントで作られたクラス、ということですね。 >OtherActorのピンからキャストする場合はActorの子であるポーン、キャラクター、キャラクターの子に対応している感じでしょうか? OtherActorに実際にどのアクターが入っているのか、によりますね! 今回の例でいえば、ThirdPersonCharacerが箱(BP_DamageBox)にぶつかったときには、OtherActorのピンにThirdPersonCharacerが入ってくるので、 その場合にはポーン、キャラクター、ThirdPersonCharacerにキャストできますが、 7:49あたりで見ているように、箱同士でぶつけると、OtherActorのところには箱(BP_DamageBox)が入ってくるので、 ポーンやキャラクターにはキャストできず、ActorまたはBP_DamageBoxにキャストできる、という感じです。 キャストはあくまでも変換する(見方を変える)ことなので、見る対象によってどのクラスにキャストできるかが変わってきます。 (今回でいうとOtherActorに実際にどのアクターが入っているかで、どのクラスへのキャストに成功するかが変わる)
@おおみみず
@おおみみず 3 жыл бұрын
@@kuriemeiku コンポーネントでカーソルをあてるとソース:継承したC++やこのブループリント など表示されますが、これが二種類のクラスという事なんですね。 箱にオーバーラップした時にThirdPersonCharacerをキャストするよう設定しているので、ThirdPersonCharacerを除いたアクターと接触した場合Failedに進んでhelloが表示されるという事で合っていますかね? そうであれば大体分かった気がします。 ノードを繋いでいて疑問に思ったのですが キャラクターの行動を制限するために(硬直や死亡時の制限など)ブランチを沢山使用したのち見辛いため関数にまとめFalseの時のみに進むようにしました、しかしながら関数にまとめた場合どうも結果がどちらであっても次のノードを動作させてしまいます。 関数としてまとめないで普通のブランチとしてイベントグラフに配置した場合はそのブランチでちゃんと動作が止まるのですが、何か違いがあるのでしょうか?
@kuriemeiku
@kuriemeiku 3 жыл бұрын
>箱にオーバーラップした時にThirdPersonCharacerをキャストするよう設定しているので、ThirdPersonCharacerを除いたアクターと接触した場合Failedに進んでhelloが表示されるという事で合っていますかね? そうですね、ThirdPersonCharacerでキャストしているので、ThirdPersonCharacer以外のアクターのときにはFailedに進みます。 ただ、ThirdPersonCharacer_Childのように、ThirdPersonCharacerを継承しているアクターであればThirdPersonCharacerにキャストできるので、 その場合は上の方の実行ピンを通ります。あくまでも継承関係にあるクラスならキャストできる、というところがポイントですね。 >キャラクターの行動を制限するために(硬直や死亡時の制限など)ブランチを沢山使用したのち見辛いため関数にまとめFalseの時のみに進むようにしました Falseの時のみ進む、というのを関数内でどう実装しているか次第ですね…。 イベントグラフで関数を呼んだ後は、何がどうなろうと繋がっている次の実行ピンが呼ばれるので、関数の中で処理を完結させないとダメだとは思いますが、 そういうことで合っていますでしょうか…? もしそうなら、関数ではなく、マクロにして、Trueの時とFalseの時で実行ピンを分ける、という形にするのが良いかなと思いました。
@おおみみず
@おおみみず 3 жыл бұрын
@@kuriemeiku 重要なのは継承しているかどうかなんですね。 >イベントグラフで関数を呼んだ後は、何がどうなろうと繋がっている次の実行ピンが呼ばれるので、関数の中で処理を完結させないとダメだとは思いますが、 そういうことで合っていますでしょうか…? なるほど!イベントグラフの関数はどうやっても次の実行ピンに進んでしまうのですね。マクロにしてみた所次の実行ピンに進まなくなりました。 関数に折りたたむと動作が高速化(処理が軽い?)するみたいな話を聞いたので取りあえず何でも関数に折りたたむようにしていたのですが、実行ピンに影響を与えたい場合はマクロにする必要があるのですね。 これらの事をかんがえると関数は実行ピンが不要で純粋関数にできるものだけで纏める方が良いという事でしょうか? 実行ピンを使用する場合マクロに折りたためば良いのでそう思いました。
@kuriemeiku
@kuriemeiku 3 жыл бұрын
>これらの事をかんがえると関数は実行ピンが不要で純粋関数にできるものだけで纏める方が良いという事でしょうか? そうですね~、関数にできてマクロに出来ないこともあるので、一概にマクロ最強!というわけでもないと思います。 (外部のBPから使いたいときや、アクセス指定子の変更、継承によるオーバーライドなど)
@kazuhiro68
@kazuhiro68 Жыл бұрын
レベルbpで配置したTriggerBoxのOnActionOverlapイベントノードを配置したくでも出ません。右クリックのノード検索に関してもチュートリアル通りのノード置きたい、としてもテキストが異なるために配置できないことがよくあります。テキストはある法則の癖があるらしいのですが探し方を知りたいです。
@kuriemeiku
@kuriemeiku Жыл бұрын
う~んと、この動画の内容とはあまり関係ないコメントということでいいですかね…?(この動画ではレベルBPの話はしてない…はず…) レベルBPで「レベルに配置した特定のTriggerBoxのOnActionOverlapイベント」に対して処理を記述したい、ということですかね…? であれば、ビューポートでそのTriggerBoxを選択した状態で、レベルBPを開き、右クリックから「TriggerBoxにイベントを追加」でActorBeginOverlapを選択すればできると思います。
@kazuhiro68
@kazuhiro68 Жыл бұрын
@@kuriemeiku すいません。6:10あたりにOnActionOverlapがあって、これが作れる場合作れない場合があってこれは一体どういう条件なのか見えないので疑問になりました。スコープはどこで決定しているのか?という疑問かもしれませんでした。
@kuriemeiku
@kuriemeiku Жыл бұрын
@@kazuhiro68 作れない場合って、どういう場合でしょうか? ActorBeginOverlapはActorクラスで定義されているので、Actorを継承しているBPなら基本的には使えると思います。 レベルBPはActor継承なのですが、ActorBeginOverlapを含むいくつかのイベントは使えないようにC++側で設定されているので使えなくなっている、という感じです。
@kazuhiro68
@kazuhiro68 Жыл бұрын
@@kuriemeiku 例えば2:49のイベント ActorBeginOverlapですがこれは手元の環境には表示されません。BeginPlay,Tickは表示されています。今回だけというわけではなくて色々な状況の説明の画面通りに手元の環境にはなっていないことが多く、多分何かの勘違いだとは思うのですが。
@kuriemeiku
@kuriemeiku Жыл бұрын
@@kazuhiro68 まず、大前提として、UnrealEngineのバージョンやOSの違い、設定の違いなどによって、画面の表示が私とあなたで異なることがあります。なので、まったく一緒だったらラッキー、くらいの気持ちのほうがいいかもしれません。これさえ押さえればOK、みたいなものはおそらく存在せず、ケースバイケースかなと思います。(もしくは、環境を完全に合わせるか、ですね) そのうえで、ActorBeginOverlapが表示されていないことには、複数のケースが考えられます。 何らかの拍子に消してしまったとか、そもそも見ているBPがActor継承じゃないとか、見ているBPがレベルBPでActorBeginOverlapが使えないように設定されているとかですね。 ですが、あなたの状況がわからないので、どのケースなのか、というのもちょっと分からないです…! 画面をキャプチャーしていただいたりすれば、もうちょっと詳しいことが言えると思います!
@rtktkt748
@rtktkt748 2 жыл бұрын
アクタが他のアクタの変数を書き換える事は可能ですか?
@kuriemeiku
@kuriemeiku 2 жыл бұрын
5:47 ここで設定しているように、変数を外部からアクセスできるようにすれば、 「Set変数名」のノードで書き換えることができますね!
@rtktkt748
@rtktkt748 2 жыл бұрын
他アクタのカスタムイベントを呼び出したい時はどうすればいいですか?
@kuriemeiku
@kuriemeiku 2 жыл бұрын
はじめてコメントありがとうございます~!!! Actorとして取得した値を、他アクタにキャストすればそのアクタで定義されているカスタムイベントが呼べる、んですが、そういうことであってます…? もし違ったら、「ぶつかった敵のHPを減らしたい!」みたいな形で、ゲーム的にどんなことをやりたいのか、という形で書いてもらったほうがいいかもです!
@rtktkt748
@rtktkt748 2 жыл бұрын
返信ありがとうございます! 1対1のオンラインターン制ゲームを作りたいんですけど、2人設定でエディタを起動した時同じ変数がコピーされてターン用の変数がうまくやり取り出来ないので、プレイヤー0とプレイヤー1にそれぞれ紐付けしたポーンとその親としてのアクタの3つをレベルに置いて、 例えばプレイヤー0から親アクタの変数を書き換えて、その通知を聞いた親アクタがプレイヤー1に通知を出して…みたいにしてターンの移動とか数値のやり取りをしようと思ったんですけど、そもそも親の変数を子のBPで書き換えても親の値が変わらないので…まずやり方から可能なのかわからないのでどうしようかと思って、、、 お願いします! あとother object出力ピンが無いノードの次にキャストを置いた時の object入力ピンに何を繋げたらいいか分かりません
@kuriemeiku
@kuriemeiku 2 жыл бұрын
なるほど~!オンラインゲームの変数に関してですね! kzbin.info/www/bejne/gHSuq5ewic-naLc こちらの再生リストの1個目と2個目の動画を見てもらうと、イメージつくかもしれないです…! >other object出力ピンが無いノードの次にキャストを置いた時の object入力ピンに何を繋げたらいいか分かりません キャストしたいもの、ですね! ActorBeginOverlapは「別のアクターに重なったときのイベント」であり、「重なった相手がOtherに入ってくる」ので、 重なった相手が~~だったらこの関数を呼びたい、ということをやるためにキャストをしているわけです。 なので、「キャストを行う」ということは「何らかのアクターのキャストを行って関数やイベントを呼ぶ」ことがしたいわけであり、 その「何らかのアクター」をobject入力ピンにつなげる、ということになります! 伝わりますかね…?
@rtktkt748
@rtktkt748 2 жыл бұрын
@@kuriemeiku ありがとうございます! 2人設定でプレイヤーアズリスンサーバーで起動した時にそれぞれ別のポーン(コピーでなくレベルにそれぞれ配置した)を操作するにはどうしたらいいでしょうか? セルフコンポーネント>詳細>入力>auto receive inputでそれぞれプレイヤー0とプレイヤー1を入れてみたんですけど0って入れた方しか動かせないです…(どっちも0に接続されてサーバーとクライアントで処理は同期してません)
@kuriemeiku
@kuriemeiku 2 жыл бұрын
@@rtktkt748 オンラインマルチの場合、auto receive inputを設定するのではなく、別の方法が必要、という理解です…!(間違ってたらすみません!) ・GameModeでプレイヤーとして使いたいポーンを設定する ・プレイヤーとして使用したいポーンはレベル上に置かず、代わりにプレイヤーの開始位置にPlayerStartを配置する とすると、PlayerStartの位置にポーンが初期化されて、それぞれが動かせるようになるはずです! それぞれのプレイヤーを動かすときは、それぞれのプレイヤーのウィンドウに切り替えて一人ずつ操作してください。
【UE4/UE5ゲーム制作講座】超基礎編・これを見ればカスタムイベントと関数がわかる!
16:37
九里江めいく【ゲーム制作VTuber UE4・UE5初心者向け講座】
Рет қаралды 7 М.
【UE4/UE5ゲーム制作講座】超基礎編・これを見ればブループリントインターフェースがわかる!
12:21
九里江めいく【ゲーム制作VTuber UE4・UE5初心者向け講座】
Рет қаралды 10 М.
Car Bubble vs Lamborghini
00:33
Stokes Twins
Рет қаралды 36 МЛН
風船をキャッチしろ!🎈 Balloon catch Challenges
00:57
はじめしゃちょー(hajime)
Рет қаралды 35 МЛН
Real Man relocate to Remote Controlled Car 👨🏻➡️🚙🕹️ #builderc
00:24
【UE4/UE5ゲーム制作講座】超基礎編・これを見れば内積(Dot Product)がわかる!(半分)
11:46
九里江めいく【ゲーム制作VTuber UE4・UE5初心者向け講座】
Рет қаралды 5 М.
【UE4/UE5ゲーム制作講座】超基礎編・これを見れば配列・マップ・セットがわかる!
17:22
九里江めいく【ゲーム制作VTuber UE4・UE5初心者向け講座】
Рет қаралды 7 М.
【UE5.4】Game Animation Sampleを使ってみよう【日本語で軽めに解説】
21:53
よっしーUEゲーム開発
Рет қаралды 2,1 М.
【UE4/UE5ゲーム制作講座】超基礎編・これを見ればコリジョンがわかる!
23:22
九里江めいく【ゲーム制作VTuber UE4・UE5初心者向け講座】
Рет қаралды 8 М.
How To Use a Cast Node in UE4
23:46
UE備忘録本舗
Рет қаралды 5 М.
【UE4ゲーム制作講座】マテリアル入門!溶けて光るディゾルブマテリアルを作る!
11:04
九里江めいく【ゲーム制作VTuber UE4・UE5初心者向け講座】
Рет қаралды 8 М.
【UE4/UE5ゲーム制作講座】シーケンサーを使って必殺技カットを作ろう
18:46
九里江めいく【ゲーム制作VTuber UE4・UE5初心者向け講座】
Рет қаралды 14 М.
【UE4ゲーム制作講座】簡単な会話システムを作ってみる!
11:23
九里江めいく【ゲーム制作VTuber UE4・UE5初心者向け講座】
Рет қаралды 8 М.
【UE4/UE5ゲーム制作講座】超基礎編・これを見ればVectorがわかる!(30%くらい?)【ベクトル】
18:40
九里江めいく【ゲーム制作VTuber UE4・UE5初心者向け講座】
Рет қаралды 3,4 М.