
1.今週の予定
今週もこの順序に従って勉強していきます。
- 映像作成用UE5の勉強
- AIの勉強
- Nvidia Omniverseの勉強
- Gaeaの勉強もしくはVroidとUE5の勉強
- Houdiniの勉強
- AIについての調査(ComfyUIの勉強)
- DirectX12の勉強
それぞれの勉強の最初にその勉強をする目的を一寸だけ書いておきます。
2. 映像作成用UE5の勉強
2.1 PCGを使用した神社の作成
PCGで建物を作成する方法を勉強してるので、その応用としてPCGで神社を作成する事にしました。
最終的にはUEFNのMap内で神社を作成して、だれでも参拝出来るようにするつもりです。
2.1.1 先週の復習
先週は壁の色を赤くしました。

かなり神社っぽくなってきたと思います。
今週は更に見た目を改良します。
2.1.2 更に改良する
壁の後にも板を張り付け、その板の色を白くしました。

以下の様になりました。

外側から見ると以下の様になります。

更に光を放つ灯篭を内部に追加しました。

結果です。

暗くしてみます。

一寸明るすぎるかもしれません。
真っ暗にしました。

これは雰囲気が出ててかなり良い感じです。
今度は灯篭を床に置いてみました。

こっちの方が雰囲気が出てる気がします。
夕焼けにしました。

更に暗くします。

おお、雰囲気がありますね。
2.1.3 楼門を作る
2025-04-20のBlogに一般的な神社の作りとそれぞれの名称がありました。

玉垣の名称がこの図には入っていませんが、どうも楼門がある所の塀を玉垣と呼ぶ事が分かったのはこの次の週みたいです。
2025-04-20のBlogには以下の3つの楼門がまとめられていました。




全部、2階建てですね。
一階部分が門になっていて、参拝する人達のための出入り口になっています。
来週から楼門を作成します。
2.2 PCGの勉強
PCGを使用した建物の作成を勉強しています。
その理由ですが、Luma AIで作成した3D Gaussian SplattingをUE5にImportすると以下の様に、

奥にあるHigh-rise apartment Building(マンション)が歪んでいます。
気持ち悪くなる位曲がっています。
これ直さないと3D Gaussian Splattingは使用出来ない。との結論になりました。
でどのように直すかとなると、PCGを使用してHigh-rise apartment Building(マンション)を作成するしかないのかな。となりPCGで建物を作成する方法を勉強する事になりました。
2.2.1 先週の復習
TutorialのPCG Scale Wall SizeノードのInputにはSeedがあるんですが、私のPCG Scale Wall SizeノードのInputにSeedは無いんです。
Tutorialは何時、PCG Scale Wall SizeノードのInputにSeedを追加したのかを調べました。
そしたら調査中にBlogが見えなくなってしまいました。

そして結局、先週は何時、PCG Scale Wall SizeノードのInputにSeedを追加したのか調べる事は出来ませんでした。
これは今週調べます。
先週は、仕方ないので残りの時間はCreate Procedural Interiors With Full Room Separation | UE 5.4 P5 [1]の続きを勉強していました。
2.2.2 Seedが何時実装されたのかをもう一回確認する
先週のBlogには2025-03-09のBlogのPCG Scale Wall SizeノードにはSeedが無いと書いてありました。

確認します。
確かにこの時点のTutorialのPCG Scale Wall SizeノードにはSeedが無いです。
ところが、2025-05-18のBlogのPCG Scale Wall SizeノードにはSeedがあります。
つまりこの2カ月の間にTutorialではScale Wall SizeノードにSeedを追加したという事です。
2025-03-09のBlogではHere's How to Adjust Your Building Based on the Asset Size | UE 5.4 P2 [2]を勉強しています。
2025-05-18のBlogでは Isolate Corners With PCG To Create Pillars and Roofs | UE 5.4 P3 [3]を勉強しています。
もっと正確に言うと
2025-03-09のBlogではHere's How to Adjust Your Building Based on the Asset Size | UE 5.4 P2 [2]の<05:14 - Scaling Walls Relative to Mesh Size Using Data Assets>の続きを勉強していました。
Here's How to Adjust Your Building Based on the Asset Size | UE 5.4 P2 [2]の動画で確認するとこの節の後に
21:14 - Floor / Ceiling from Data Assets
25:10 - Weight Control
25:50 - Repeating Design Fix
26:51 - Floor Size Hard Code Fix
28:56 - Randomize Windows / Set Seed
があります。
まずはこの辺りで何を勉強したのかを確認します。
05:14 - Scaling Walls Relative to Mesh Size Using Data Assetsを実装していました。
<05:14 - Scaling Walls Relative to Mesh Size Using Data Assets>の続きを勉強していました。
<21:14 - Floor / Ceiling from Data Assets>も勉強しています。
ここではまだPCG Scale Wall SizeノードのInputにSeedは追加されていません。

この週は勉強していませんでした。
2025-03-23のBlogで勉強した内容を実装しています。
Here's How to Adjust Your Building Based on the Asset Size | UE 5.4 P2 [2]の<25:10 - Weight Control>を勉強していました。
ここではPCG Scale Wall Sizeノードの実装を調整していますが、

Seedは追加してはいません。
<25:50 - Repeating Design Fix>の勉強もしています。
ここではSeed関連の話もしていますが、PCG Scale Wall Sizeノードは関係ありません。
<26:51 - Floor Size Hard Code Fix>も勉強していました。
ここにPCG Scale Wall Sizeノードが載っていました。

なんとこの時点でSeedがあります。
Here's How to Adjust Your Building Based on the Asset Size | UE 5.4 P2 [2]の<25:10 - Weight Control>では、
PCG Scale Wall SizeノードのInputにはSeedが無くて
同じTutorialの<25:50 - Repeating Design Fix>ではPCG Scale Wall SizeノードのInputにSeedがあります。
まず動画で確認します。
その通りでした。
突然、PCG Scale Wall SizeノードのInputにSeedが追加されていました。
ただし
Here's How to Adjust Your Building Based on the Asset Size | UE 5.4 P2 [2]の<25:10 - Weight Control>を見ると少しだけSeedに関係した話もしています。
ここから実装を膨らませてPCG Scale Wall SizeノードのInputにSeedを追加してしまいましょう。
これは来週やる事にします。
今週はここまでにします。
2.3 Level Sequence上でAnimationの編集をする方法
Level Sequence上でDragonをAnimation Sequenceを使用するとDragonの爪が地面にめり込んでしまいます。
これを直すには、Animation SequenceではなくControl Rigを使用する必要があるみたいです。しかし私が使用してるDragonには付属のControl Rigがありません。
しかもControl Rigがどういうものなのか全く理解していません。
のでControl Rigがどういうものなのかについての全般的な知識と、その使用方法についての基礎を勉強する事にしました。
その後、今まで勉強してたTutorialはUE5.0用のTutorialで5.5はControl Rig [4]を勉強する必要がある事が判明しました。
のでControl Rig [4]を勉強する事にしました。
2.3.1 先週の復習
Control Rig Component [5]を途中まで実装しました。
以下に重要な内容をまとめます。
まず実装中にAI Assistantに質問出来るので、UE5.7を使用しました。
<Component Setup>の内容を実装しました。
Control Rig Component [5]ではBPのComponentにControl Rigを追加しているんですが、そのBPには既にSkeletal Meshが追加されています。
そのSkeletal MeshにどんなSkeletal Meshをセットすればいいのかとかの解説が全く載ってないです。
かなりいいかげんなTutorialと感じました。
<<Mapping Setup>>の内容も実装しました。
ここでは、On Pre InitializeノードにAdd Mapped Skeletal Meshノードを追加し以下のような実装をしました。

Add Mapped Skeletal Meshノードの機能についてChatGPTに質問しています。
それなりに正しそうな回答が返って来ました。

でSourceを確認したらなんと今勉強してるTutorialでした。
ただし引用した箇所はまだ勉強してないところでした。
ここでAI Assistantにも同じ質問をしています。
本当は、ChatGPTが答えられない
UE5.7のAdd Mapped Skeletal Meshノードには新しくIn DirectionというInputがあるがこの設定はどうしたらいいのか
という質問をしたかったんですが、最初は同じ質問をしました。
そして以下の回答などを得ました。

で、そもそもMappingってどんな意味か忘れてしまっている事に気が付き、Mappingの意味を確認しています。
一対一の関係でLinkするのがMappingです。
ここで、
GTC October 2025 KeynoteのJensen HuangのSpeechが始まったので実装を中止しました。
となると、今週は
<<Mapping Setup>>の実装の続きをやる事になりますね。
2.3.2 Control Rig Component [5]の実装の続きをやる
<<Mapping Setupの続き>>
UE5.7のAdd Mapped Skeletal Meshノードには新しくIn DirectionというInputがあるがこの設定はどうしたらいいのか
という質問をAI Assistantにするところから始めますか?
まず以下の質問をChatGPTにしました。

ここで英文を作ってそれでAI Assistantに質問してみます。
なんと英文を作成してくれただけじゃなくて以下の回答もしてくれました。

凄い。
なんかGPT5が凄い進化してる気がします。
今までの5倍くらい賢くなってるんじゃないでしょうか?
先週まではこんな質問にはHallucinationを起こしていたはずです。
更に以下の説明も追加で出て来ました。

これ読むとInputに設定しないといけない感じですね。
だってSkeletal Mesh側つまりBP側からControl Rigを管理する予定ですから。
確認します。

ChatGPTの回答です。

やっぱりInputが正しいと返っていました。
更に詳しい説明も返してくれました。

Inputに変更しました。

一応、AI Assistantにも同じ質問をしてみます。
回答だけ載せておきます。

はい。
これは一般的なAdd Mapped Skeletal Meshノードの回答と同じですね。

はい。
これも分かります。

これは違うでしょう。
試しにTestというVector型のVariableを作成してIn Directionに繋げてみようとしましたが

当然出来ません。
どんな型ならIn DirectionにPass出来るのか確認したら

EControlRigComponentMapDirectionというEnumだそうです。
公式SiteのEControlRigComponentMapDirection [6]で確認したら

となっていました。
つまりAI Assistantの回答は間違っています。
ChatGPTの回答の方がAI Assistantより正確です。UE5の質問をしてるにも関わらずです。
ChatGPT凄いです。
続きの実装をしていきます。
<Overview>
2025-10-26のBlogを読むと
Get Control Rig Positionノードを以下の様に配置していました。

同様に配置しました。

あれ?
でも私のControl RigにはHead_ctrlなんて無いですよ。
あ
分かった
このTutorial、Control Rig Quick Start [7]で作成したControl RigとBPを使用して実装してるんだ。
ほら、MannequinからControl Rigを作成しています。

そしてそのControl Rig内でHead_ctrlを作成しています。

うーん。
これは来週やる事にします。
今週はここまでにします。
3. AIの勉強
AIの勉強の目的ですが、
生成AIが凄いTrendになってるので、最低限の基礎は知っておくべきと思いこの勉強を始めたんでした。
のでこれを勉強してどうしたいというのは無いです。
今週からCursor AIの勉強もする事にします。Vibe Codingというか、AIによるCodingを知っておく必要がありますので。
3.1 Cursor AIの勉強
Cursor Vibe Coding Tutorial - For COMPLETE Beginners (No Experience Needed) [8]で勉強する事にします。
3.1.1 前回の復習
2025-10-26のBlogで勉強していました。
どうもCursor Vibe Coding Tutorial - For COMPLETE Beginners (No Experience Needed) [8]は既にInstallした状態から始まっているので、色々な所を参考にしてCursorをInstallしたみたいです。
Cursor Vibe Coding Tutorial - For COMPLETE Beginners (No Experience Needed) [8]自体はどこかで勉強してまとめたという事は無いみたいです。
今週はCursor Vibe Coding Tutorial - For COMPLETE Beginners (No Experience Needed) [8]を見ながら実装していきます。
3.1.2 Cursor Vibe Coding Tutorial - For COMPLETE Beginners (No Experience Needed) [8]を実装する
<00:00:00 | A Complete Guide>
特に実装する事は無かったです。
<00:01:01 | What is Vibe Coding>
これも知ってるのでSkipします。
<00:02:05 | Cursor Setup/Install>
Installのやり方も一寸だけ説明していました。
けど口で説明してるだけです。
これじゃどうやってInstallするのか分かりませんね。
Cursorを開いています。
では私もCursorを開きます。
私のCursorは以下の様になっていますが、

Tutorialのは以下の様になっていますね。

ここでFileからOpen Folderを選択し

ProjectをSaveするFolderを作成しました。
Cursorが以下の様に変化しました。

Tutorialと同じような構成になってますね。
<00:05:40 | Assistant & Main LLMs>
ChatGPTを別画面で開けと言っています。
開きました。
<00:06:23 | Free ChatGPT Guide>
ChatGPTの使い方を教えるTutorialの紹介です。
<00:07:28 | Cursor UI Overview & Features>
CursorのUIの使い方を説明しています。

まずAgentです。
ここをAsk Modeに変換します。
私のCursorでも同じ事をします。

あれ?
選択肢が多い。
それぞれの意味も調べておきます。
Planです。

全体的な計画を練るための選択でしょうね。
このTutorialではこの部分はChatGPTにやらせています。

勝手にCodeを書いてくれるって事でしょうか?
凄い。けど怖いですね。
Agent ModeとAsk ModeについてはTutorialで説明しています。
Tutorialと同じAsk Modeを選択しました。
次に使用するAIの選択です。

Tutorialでは

を選択していました。

Claude-4.5-sonnetを選択しました。
<00:12:17 | Making a Plan/Doing Research>
今度はどんなAppを作成するのかを簡単に決めて、その作成のための全体的な計画をChatGPTに質問しろ。と言っています。
しました。

ChatGPTが返した回答から
計画だけ以下に記しておきます。

まずFileは自分で作成する必要があるのか。

Cursorにどんな命令をすれば良いのかの解説もしてくれるのか。





げ、本格的過ぎる。
TutorialはスーパーマリオみたいなGameを作ってと言っています。
そしてBrowser用のGame Engineも使用するみたいです。
ChatGPTは私の場合はGame Engineを使用しないで全部一から作成しろ。と言っています。
<00:17:30 | Prompting Cursor (Code Generation)>
新しいFileを作成して

名前をprompt.txtとしました。

同じく作成しました。
ここに先程ChatGPTが作成した計画表を貼り付けました。

流石にこれ全部やる気はありませんが、どれくらいCursorが便利なのかを判断するのには十分でしょう。
何とこの後、Tutorialではこれを読み込ませてCursor AIに全部やらせています。
凄い。
最初の3つのFileを作成するところだけやってみます。

くっそ。
そういう事か。
Autoで実行しました。

全部やってしまったの?
凄い。
Index.htmlを実行します。

こんなGameが完成していました。
矢印の上と下を押すとBarが動きます。
BarがBallに当たると跳ね返りScoreの点数が1上がります。BarがBallをMissすると画面を超えてBallが消えます。
Barがある左辺以外の壁にBallが当たった場合は、そのまま跳ね返ります。
凄い。
以下の希望をしました。

以下の様になって途中で止まってしまいました。

うーん。
どうしたら良いんでしょうか?
Keep Allを押しました。

止まったままですね。
ChatGPTにどうしたらCursor AIが動くようになるのか聞きました。
すると単に続きをやれ。と命令すれば良い。
と返って来ました。

を完成したみたいです。
凄い。
試してみます。

おお、Start Buttonが出来てます。
Startを押します。

Gameが始まってもStart画面が消えません。
三回BallをミスしたらGame Overになりました。

Gameが始まってもStart画面が消えないのでそれを直すように指示しました。

すでにやってるある。って回答が返って来ました。
それはStartボタンだけの話でしょう。
画像も認識出来るのでしょうか。

出来なかったです。
何度説明しても既に出来てると回答します。
テストしたら消えてないよ。と指摘したら
今度は直してきました。
結果です。

凄い、
これで完成です。
Tutorialの残りは来週にでも見る事にします。
今週はここまでにします。
3.1.2 Cursor AIを使用した感想
圧倒的過ぎてどう感想をまとめて良いのか自分でも分からないですが、思いつくままに書いていきます。
まず、思ったのが勉強にはならない。
という事です。
HTMLやCSSそしてJavaScriptに関して何も理解しないまま、Ping pongが完成してしまいました。
宿題のProgrammingの回答をネットで見つけてそのままCopyして提出してしまった人以上に内容を理解してないです。
しかしこれは重要では無いです。
重要なのは、これは仕事を外注したのと同じという事です。
外注したら、私の代わりに仕事をしてくれますよね。
それとAIは同じという事が重要なんです。
つまり外注用にどれだけ指示を正確に書けるのか?
が重要になった訳です。
Data CenterはAI FactoryになったというJensen Huang氏の主張を私なりに解釈すると
AIはToolではなく人である。
となります。
ここはAIの著作権に関わる重大な問題が潜んでる大切な部分ですが、今回はそれについては論じません。
このAIはToolではなく人である。
というのが、真実である事を、今回のCursor AIを使用して非常に強く感じました。
次に重要なのは、その圧倒的な速度です。
今日Cursor AIを始めたのにも関わらず、既にGameが完成してしまいました。
理論的に言って、これ以上の速度でCodeを書けない人には仕事を頼む必要は無いです。
しかしこんなに早くCodeを完成させられる人いますか?
いませんよね。
AIによる失業は本当に起きますね。
3番目に重要な点、Codeが書ける事の意味が無くなったという事です。
例えばGameだったら今まではそのGameを完成させる事が出来るProgrammingの技術力が重要視されてました。
これからはGameを完成させるのは誰でも出来るので、その完成したGameがどれくらい売れるのか、とかどれくらい面白いのかとかが問われる事になりますね。
IdeaというかCreativeな点がますます重要になります。
最後に、疑問というかこれから確認していくことになりますが、
一般的に言ってAIはInterpolateするのは得意ですが、Extrapolateすると途端にHallucinationとかを起こしてきます。
つまり今回のPing Pongのように誰でも知ってるようなGameを作成するのはInterpolateの範囲だから得意ですが、
誰も思いついたことのないGameを作成する時は、結構苦労する気もします。
この場合、実際に新しい事を開発する時はあんまり役に立たない可能性もあります。
これは来週以降、試していこうと思います。
3.2 Practical Deep Learning for Coders 2022 [9]の勉強をする
3.2.1 前回の復習
Lesson 6: Practical Deep Learning for Coders 2022 [10]を勉強していました。
で、Random Forestの勉強が終わりました。
これでLinear Model、Neural Network ModelそしてRandom Forestの具体的な手順を完全に理解した事になるんですが、実際は全然理解してません。
ので、それぞれを簡単にまとめる事にしました。
と言ってもCopilotに代わりにまとめてもらいました。
まずLinear Modelのまとめです。

ここに書かれているようにこのModelの計算手順はそれなりに覚えています。
次のNeural NetworkのModelの計算手順が問題です。

これ、やったと思ったらすぐに終わってしまい、Copilotのこのまとめを見ても???となってしまいました。

これだけは覚えています。
しかしこれはCopilotのまとめた工程にははいっていません。
この事をCopilotに質問すると

勾配降下法とReLuは全然違うところで使用されてるよ。
と言ってます。
え、そうなの?と驚いていると
更に分かり易く以下の様に説明してくれました。

そもそも順伝播とか逆伝播という概念すら知りません。
前回のまとめはここで終わっていました。
今週は、もうNeural Networkの計算手順の復習をするしかないです。
もう一回しっかり勉強し直します。
そして
- 勾配降下法とReLuの使用した場所の確認
- 順伝播とか逆伝播の理解
- Neural Networkの計算手順をまとめ直す
などをやっていきます。
3.2.2 Neural Networkの復習(Blogの整理)
まずはどの週のBlogで勉強してるのかの確認をします。
Lesson 5: Practical Deep Learning for Coders 2022 [11]でNeural Networkの勉強をしてるのでその辺りを勉強してるBlogから見ていきます。
2025-08-17のBlogではLesson 5: Practical Deep Learning for Coders 2022 [11]をNotebookLMで要約しています。
その中に

と書いてありました。
NotebookLMの要約に

以前、Excelで単純なNeural Networkを構築したと書いています。
という事はこのTutorialより前でNeural Networkを構築してるのか。
ああ、分かりました。
そもそもNeural Networkの計算手順というのは、このTutorial SeriesのLecture1からやってたんです。一番最初に実装したのがNeural Networkですから。
ReLuを最初に使用した時が、最初にNeural Networkを勉強した時と、私が誤解してました。
となるとReLuを最初に勉強したBlogを調べれば良いのか。
2025-04-20のBlogにReLuという言葉が登場します。
Lesson 3: Practical Deep Learning for Coders 2022 [12]を勉強してるところです。
このLectureでは何を勉強したのかを確認します。
2025-04-06のBlogにこのLectureのNotebookLMによる要約がありました。


丁度、2つの分けている境目なので2度Screenshotを取りましたが、この3つは連続して紹介されています。
つまり
Lesson 3: Practical Deep Learning for Coders 2022 [12]で非常に簡単なNeural Networkを勉強しましたが、それは勾配降下法を使用した後にReLuを使用してます。更に係数のセットを2つ用意する事で単純な2層のNeural Networkを構成しました。
この時点では勾配降下法を使用した計算方法はNeural Networkだったんです。
それが
Lesson 5: Practical Deep Learning for Coders 2022 [11]では0から線形モデルとNeural Networkを作成する事になり勾配降下法は線形Modelを作成するのに使用したと言う感じになってしまったんです。
ああ、繋がって来た。
Lesson 3: Practical Deep Learning for Coders 2022 [12]では勉強が足りない箇所があります。それはReLu の計算を行った後でどうやって2層Neural Networkを計算したのかの部分を全く覚えていません。
Lesson 5: Practical Deep Learning for Coders 2022 [11]では、線形モデルの構築を勉強してる時に、これは前に勉強した内容で何でここで繰り返してるのか不明と思っていましたが、前にやった勉強はあくまでもNeural Network内での勾配降下法だったんです。その違いが分かってなかったです。
こうやってLecture3とLecture5の内容で忘れている部分がはっきりしてくると、Lecture4では何を勉強したのか気になります。
それも調べる事にします。
2025-05-25のBlogでLecture4、つまり Lesson 4: Practical Deep Learning for Coders 2022 [13]の勉強を始めています。
ここではNotebookLMのMind Mapの機能を利用して整理しています。
が今読み直すと、Mind MapってNarrative形式じゃないので、前後の繋がりが明確化されないのでContextとしての理解に全く貢献しないんです。
頭に入って来ません。
一体Lecture4は何を目的にしたLectureなんでしょう?
と思ったら以下のまとめがありました。

このLectureはFastAIのLibraryの代わりに最新のHugging Face TransformerのLibraryを使用して事前に学習したNLPモデルのFine Tuningのやり方を勉強するのが目的だそうです。
そうTransformerの勉強をしたんだ。
という事はLecture4は今の目的であるLiner model、Neural Networkモデルの計算方法を理解するにはあまり関係ないですね。
ああ、このLectureでTransformerが出て来たんで、Neural Networkと混乱してNeural Networkがまるでここで新しく習った内容のように勘違いしてしまったんです。
大体理解しました。
以下に整理します。
Lesson 3: Practical Deep Learning for Coders 2022 [12]で、非常に簡単なNeural Networkによる計算方法を勉強しています。その計算方法の内容を簡単に説明すると勾配降下法を適用し、その答えにReLuを適用して更に係数のセットを2つ用意しています。
ここでは今までの2つの見識が間違っていた事が判明しました。
一つは、勾配降下法はLiner Modelの計算のために勉強したと思っていたが、それは間違っていて最初からNeural Networkの計算の一部として勉強したという事です。
もう一つは、ここではやっぱり勾配降下法の結果をReLuしているという事です。
CopilotではNeural Networkの工程を以下の様に説明していて

ReLuを使用するのは順伝播であり、勾配降下法を使用するのは逆伝播の工程である。
と全然別な工程で使用する事を説明していますが、少なくともLesson 3: Practical Deep Learning for Coders 2022 [12]では勾配降下法を使用した後に、ReLuを使用しています。
そしてそれでNeural Networkを作成しています。
Lesson 4: Practical Deep Learning for Coders 2022 [13]では一端、Lecture3の内容と離れて、Hugging FaceのLibraryを使用してTransformerつまりNLPのModelのFine Turingのやり方を勉強しています。
このLectureは今回の内容には得に関係ないのでSkipします。
そしてLesson 5: Practical Deep Learning for Coders 2022 [11]の内容です。
ここでLinear Model、Neural Network ModelをLecture3で使用したTitanicのDataを使用して0から構築しています。
3.2.3 まとめとこれからの予定
最初は以下の様に書きましたが、

そもそも今までの前提が間違っていました。
分からなかったのは、Neural Networkの計算方法ではなく、Lecture3で勉強した2層の非常に単純なNeural Networkの計算方法と、Lecture5で勉強したLinear ModelとNeural Networkモデルの計算方法の違いでした。
これらの事がはっきりしたら、順伝播とか逆伝播に関しての疑問も検証します。そもそもこれらの言葉はまだ習ってない可能性もあります。
ので来週以降の勉強の予定を以下にまとめます。
- Lecture3の復習:
- 勾配降下法とReLuの使用場所の確認。
- 2層の作り方
- 全体の計算方法の確認
- Lecture5の復習:
- Linear Modelの計算方法
- Neural Networkの計算方法
これを来週以降やっていきます。
4. Nvidia Omniverseの勉強
Robotic AIの仮想空間におけるTrainingのための環境設定こそがこれからの3D Graphicsの専門家が生きる場所であると思っています。
のでその仮想空間でRobotic AIがどんなTrainingを行っているかをまず勉強する事にしました。
色々調べると、その部分はNvidiaのOmniverseの中のIsaac Simが担当している事が判明しました。
のでその辺りを勉強します。
2025年9月からIsaac Lab Documentation [5]の勉強に切り替えました。
4.1 先週の復習
先週何を勉強したのか覚えていません。
なんか毎週、先週勉強した内容を忘れている気がします。
これって少年ジャンプで言ったら先週までの展開を全く覚えてない事と同じで、基本的には有り得ない話です。
で何でこんな事になるのか一寸考えたんですが、Narrativeとして覚えてないからかもしれません。
物語としてつながりが無いから忘れてしまう。
勉強の成果をNarrativeとしてまとめる必要がありますね。
これは一寸壮大な話なので一週間考えて来週まとめます。
では、先週のBlogを見直します。
先週何をやったのか大体理解しました。
まず先々週の復習です。
先々週の勉強のまとめを以下に示します。

で、先週の勉強では、
これらを復習してると、Worldの定義やSceneの定義が間違ってる可能性がある。
と述べて新しい定義を紹介しています。
しかし、例え間違っていたとしてもこれらの定義を理解するために役に立つ事は事実なので、今の時点では両方を併記してどちらかが正しいと言う感じで行く。と宣言していました。
更にこの後にEnvironment Design [14]の勉強もしていました。
ここでは、以下の事を勉強するそうです。

そして<Define the Robot>と<Environment Configuration>の途中まで勉強して終わっていました。
最後に

と書いて終わっていました。
4.2 Environment Design [14]の続きを勉強する
<Environment Configurationの続き>
先週は、以下のCopilotの説明を解釈する途中で終わっていましたが、

特にここで新たに勉強する内容ってなかったです。

学習に使用するRobotのAddressをここで指定してるだけでした。
次のSceneの構成です。

ここも生成する環境の数とかそれぞれの環境の距離などを指定してるだけです。先々週に既に勉強した内容です。
最後に関節名の指定をしています。

これはどのJointを動かすのかを指定してるはずです。
このRobotは車輪が2つあるだけなので、それぞれの車輪名を指定しています。
ここで先週のCopilotの勉強は終わっています。
今週は、性能がダンチでよくなってるChatGPTを使用して勉強します。
続きをやっていきます。

最近気が付いたんですが、日本語のAIの説明ってオカシイのがあります。
例えば推論ですが、これは通常学習の終わったModelを未知のDataに対して使用するInferenceを指しますが、なんとAIモデルが答えに至るまでの中間的なステップを生成するReasoningも推論と呼んでいます。
こんなの学習者は混乱しますよ。
更に、Decision Tree(決定木)の勉強でも、何故AIを勉強してるのにDecision Tree(決定木)のような原始的な分類方法を勉強しないといけないのか?の説明が全く無いです。
前節で勉強してるPractical Deep Learning for Coders 2022 [9]では、真っ先に何故今更、Decision Tree(決定木)のようなある意味幼稚は分類方法を勉強する必要が有るのかの説明がされています。
それは、その幼稚な分類に従って予測をした方が、最新のAIの技術を使用した予測よりも精度が高い場合が多いからです。
特に表のDataを元にした予測に関しては、Decision Tree(決定木)を利用した予測にAIが勝つのは結構大変です。
更にDecision Tree(決定木)を作成するのは簡便で即効性が有り、費用という面から見てもAIより優位です。
だからAIの勉強をしてるのに、今更Decision Tree(決定木)のようなある意味幼稚は分類方法を勉強する必要があるんです。
この点をしっかり強調してる日本語のAIのTutorialの動画が無かったです。
何が言いたかったかというと、日本語だけでAIの勉強をするのは危ういという事です。
これからは、一応英文も読んでおく事にします。

はい。
英文も読みました。特に疑問は無いです。
文章の内容に関しては、先週勉強した事を簡単にまとめたって感じです。
知らなかったのはSpace ParameterがVectorとして解釈されているという事です。
でもこれってどんな意味があるんでしょうか?
ChatGPTに質問してみます。

で、回答が凄かったです。
やっぱりChatGPTの性能上がってます。

一つ目の回答は、Vectorで扱う事により、高速になるという事だそうです。

2つ目の理由は計算が楽になるからだそうです。

PPOが出て来ました。
PPOはUE5の強化学習で一寸だけ勉強しましたね。

PPOなどのRL Algorithmとの互換性が出来るのか。
最後の理由です。

凄い。もうグゥの音も出ない位の説得力です。
一応、まとめも貼っておきます。

次の文章です。

これは先週勉強した内容ですね。
一応、英文も読んでおきます。

日本語訳と特に違う部分とかは無いですね。
これで<Environment Configurationの続き>は終わりです。
次の節を勉強します。

最初の文章です。
これは単に_init_ methodと _setup_scene Methodの実装を書き換えるだけですね。
英語の文章も一応確認しておきます。

同じ事しか言ってないです。
付属の実装です。

はい。
ではこの実装の内容を勉強していきます。
実装部を全部、Copyして以下の質問をChatGPTにしました。

全体構造の説明です。

_init_ methodと _setup_scene Methodの実装内容だけ説明して。と言いましたが一応、この部分の説明もしていますね。
ここの説明でcfgが設定Class IsaacLabTutorialEnvCfgのInstanceとありますが、こんなのをここで指定してるなんて気が付きませんでした。
で疑問です。
このClassはcfgも継承してるんですかね。
という言う意味なんでしょう?

だそうです。
もうChatGPT様様です。何でも教えてくれます。
次です。
_init_ methodの解説です。

①の super().__init__(cfg, render_mode, **kwargs)の説明は分かりました。
次のCodeですが、そもそもself.dof_idx, _の意味が分かりません。_にはどんな意味があるんですか?
これもChatGPTに聞きます。

回答です。

だそうです。
そういう意味だったのか。
更に今回の場合はこうなってますよ。と説明してくれました。

つまり、Self.dof_idxにそれぞれの関節のDegree of FreedomのIndexが保持されている訳です。

しかしここでIndexって何?という疑問が出て来ます。
関節のDegree of Freedomそのものは保持してないって事なんでしょうか?

で丁寧ですが非常に長い説明が続きます。
なので結論だけ以下に示します。
Robotは関節を以下の様に管理しています。

Indexとはこのそれぞれの関節の自由度に対しての番号の事です。
これが返って来るそうです。
ここまでか。
なんか眠くなってしまったので続きは来週やります。

からは来週やる事にします。
5. Gaeaの勉強もしくはVroidとUE5の勉強
5.1 PowerPointの作成
以下のPowerPointを作成しました。

今週は公式SiteのShaper & Thermal Shaperを勉強しました。

勉強した感想をここにまとめています。

Shaperノードの機能をここで解説しています。

ShaperノードのLocal Effect並びにLocal Areaの機能をここで説明しています。

ChatGPTによるShaperノードのLocal Effect並びにLocal Areaの機能の解説をここにまとめました。

ShaperノードのMaintain Fine Detail並びにDetail Sizeの機能について解説しました。

Thermal Shaperノードの解説です。
6. Houdiniの勉強
Houdiniの勉強を始めた理由は、これからの3D GraphicsはProceduralな3Dの生成だという風潮が2年前ぐらいに起きて、それで慌てて勉強を始めたんです。
生成AIブームが起きて、Proceduralな3Dの生成のブームはすっかりなくなってしまいましたが、Nodeを使用して3Dを生成する手法は、職人的な技術が無くても3D Objectの生成が出来るのでかなり便利という事に気が付きました。
のでHoudiniの勉強は続けています。
しばらくHoudiniの勉強はお休みして木の生成について調査していましたが、やっぱりHoudiniの水のSimulationの勉強をする事にします
木を自分で実装してもその凄さに気が付く人はほとんどいません。
それに対して水のVEXを作成したら誰が見ても凄いと思うからです。
6.1 先週の復習
先週は Houdini is HIP - Part 14: Flip Fluids I [15]を最後まで実装しました。
で、問題なく実装出来たんですが、なんと、本物の水のようなRenderingの設定方法はここでは教えてくれないで終わってしまいました。
更に言うと生成したFrame毎のImageをExportする方法も教えてくれません。
どうもこれらを知りたかったら次のTutorialを勉強するしかないみたいです。
ああ、一寸騙された感があります。
で、ここで勉強を終了してしまうと、勉強した成果が無くなってしまうので、今週はHoudini is HIP - Part 14: Flip Fluids I [15]の勉強した内容をここにまとめる事にします。
6.2 Houdini is HIP - Part 14: Flip Fluids I [15]の勉強した内容をここにまとめる(Blogの復習)
なんとこのTutorialもう1年位勉強してる気になっていましたが、勉強を始めたのは7月の最後からでした。
4カ月しか勉強してません。
うーん。
まあこんなものかもしれませんね。
ここでは、NotebookLMを使用してこのTutorialの要約をしています。
Mind Mapを見て内容を理解しようとしていますが、これって悪手です。
Mind Mapは自分の頭を整理するには役に立ちますが、文章や動画の内容を理解するには役に立ちません。
その理由ですが、一般人は難しい内容を理解するためにはNarrative(物語)として理解する必要があるからです。
Context(前後関係)が重要なんです。
Mind Mapはその一番大切なNarrative(物語)が抜けてるんです。
そうだ。
ここではNarrativeを大切にしてまとめる事にします。
水の作成を勉強するか、それとも木の生成方法を勉強するか
悩んだ結果、水の作成を作成出来るようになった方が、みんなから凄いと言われるはず。との考えから水の作成方法の勉強を始める事にしました。
で、Houdiniで水のSimulationはFLIPと言う機能を使用して作成してるらしい。という事が判明しました。
じゃFLIPを勉強しようとしてこのTutorialに流れ着いたんです。
でこのTutorialは最初に、FLIPがどんな計算方法であるのかを説明していました。
でFLIPがどんな計算方法かというと
はParticleを使用してSimulationを行うLagrangian法と、Gridを使用してSimulationを行うEulerian法の両方を使用してSimulationを行うという事が判明しました。
それ以外にここでは、Mind Mapの全ての要素についても勉強していますが、NarrativeとしてContextを理解しないで勉強したものは全部忘れてしまいました。
今、見ても?って感じで何を勉強したのか全く覚えていません。
<13:45 Flip Fluid Sourcing and Setup>を勉強しています。
ここから実際の実装方法の勉強を始めたんですね。
Narrativeを大切にまとめる。
となるとそれぞれの週の結果をまとめるのが最も重要ですね。

ここでは最終的にこのような形状になってました。
ここは先週の内容を実装してるだけでした。
ただし最終結果が、

となってしまいました。
おお、物語が動き始めました。
前回のBugが何故起きたのかの原因を解明しています。
ScatterノードのForce Total Countの値が10000になっていました。これの値を100000に変更したら以下に示した様にTutorialと同じような結果になりました。

ちなみに、ここではBugの原因をNotebookLMに聞いていますが、見当違いな回答を返していました。
Lectureの続きを勉強しています。
以下のようなSimulation結果になるまで勉強しました。

前回勉強した内容を実装しています。
以下のような結果になっていました。

これ見るとLectureの結果と一寸違うように見えますが、この一つ前のScreenshotの結果は

となっています。
撮影してる角度が違ってるのと、細かいParameterの設定が違っているだけでしょう。
Lectureの続きを勉強しています。
最後のScreenshotは以下の様になっていました。

これは液体のSimulationの内、Pressureを可視化したものです。
前回勉強した内容を実装しました。
特に問題もなく実装出来たみたいです。
PressureのScreenshotも以下の様に綺麗に出てました。

この週はHoudiniの勉強はお休みして新しく公開されたUE5.7について調べています。
<2025-10-05のBlog>
Lectureの続きを勉強しています。
最後のScreenshotを以下に示しておきます。

渦が追加されていますね。
前回勉強した内容を実装しています。
以下の部分まで実装しました。

まだLectureの内容は全部終わっていません。途中です。
この週はLectureでは以下の結果になってるところで

以下のような結果になってしまい

途方に暮れています。
色々調べた結果、
PolyFrameノードのTangent NameにセットするVは小文字にする必要が有る事を思い出しました。
これを直すと

のような結果になり、Tutorialの結果とほぼ同じになりました。
こんな事があったのでLectureの内容を全部実装する事は出来なかったんです。
前回、実装出来なかった残りをやっています。
最後のScreenshotです。

Tutorialと同じ結果になっています。
残りのLectureを勉強しています。
最終結果です。

このLectureの最終結果が、これで怒り心頭に達しています。
これじゃ勉強した価値半減です。
全然、水に見えないじゃないですか!
と。
今考えると、ここでFLIPの基礎とかFLIPをどうやってHoudiniで実装するのかについては勉強出来てるはずなのでそんなに怒る事はないはずです。
先週のBlogになります。
前回勉強した内容を実装しました。

これでこのTutorialの勉強が終わりました。
6.3 Houdini is HIP - Part 14: Flip Fluids I [15]の勉強した内容をまとめた感想
今回は、Narrativeにまとめる事を重視し、それぞれの週で勉強した後の結果の画像を中心にまとめてみました。
それぞれの週における進み具合が、可視化されどのようにこのLectureを勉強していったのかが分かるようになりました。
しかし、今回のまとめではFLIPにおける実装方法、特にParticleとGridの両方を使用して実装する部分についてはまったく述べていません。
これは来週やります。
後、それぞれの週で分からない事をAIに質問しています、AIのそれらの質問に対する回答はまとめておく価値があるので、それもやる事にします。
これは来週以降やります。
こうやって見るとそれなりに勉強にはなっています。
焦らずじっくりやって行くことにします。
7. AIについての調査(ComfyUIの勉強)
AIを使用するためのSoftが大量に公開されていますが、それらについて全く理解していません。
3Dやイラストそして動画関連のAI Softについて、どんなSoftが公開されているのか?それらのSoftを使用するとどんな事が出来るのか、どんな方法で操作するのか、
などの一通りの事を勉強しておこうと思い、この章を特別に作りました。
特にComfyUIの使用方法やそれに関して生成出来るイラストや映像について集中して勉強していこうと思っています。
2025-03-30のBlogでUE5でもReinforcement Learningが出来る事を知りました。
のでComfyUIの勉強は一端中止してこっちを勉強する事にします。
今週も前に勉強した Learning to Drive (5.5) [16]の勉強の復習をします。
7.1 先週の復習
Headless Training & Network Snapshots (5.5) [17]の最初の部分だけ読んでそれで終わりになっています。
ここで以下の2つ用語が出て来たのでまとめます。
- Headless Mode:画面を表示しない(Renderingしない)でSimulationをするMode
- Network Snapshot:Headless ModeでAIのTrainingを行った時のように、Editor外で動かした場合、直接AssetにDataを保存する事は出来ません。そのような場合に学習Dataを保存するために使用する機能
更にCompatibility Hash(互換性ハッシュ値)についても説明がありました。
まずHashそのものの定義を忘れてしまったのでそれについても以下にまとめておきます。
Hashとは、あるDataを固定長の短い文字列に変換する仕組みの事です。

そしてHashには以下の特長があります。
- 同じ入力―>同じ出力
- 少しでも入力が違うとまったく違う出力
- Hash値から元のDataは復元できない
これを理解した上でCompatibility Hash(互換性ハッシュ値)についての説明をします。
Neural Networkモデルの構造情報を元に生成されたHash値をCompatibility Hash(互換性ハッシュ値)と言います。
そのCompatibility Hash(互換性ハッシュ値)をSnapshootに保存しておくと、
後でそのSnapshootの値を使用する時に、今のNeural NetworkモデルがそのSnapshootで保存された値を計算した時のNeural Networkのモデルが同じ物であるかどうかの確認が出来る。
このためにCompatibility Hash(互換性ハッシュ値)は使用されます。
更に、Snapshootを使用する事によって
Training中のさまざまな時点での重みを保存する事も可能
になるそうです。
これが先週勉強した内容でした。
一寸しか勉強してないと思ったら結構勉強してました。
7.2 Headless Training & Network Snapshots (5.5) [17]の続きを勉強する
<Saving & Loading Snapshots>

だそうです。
もう少し具体的にどう実装してるのかとかも知りたいです。
これだけではどうやって使用すれば良いのが分からないです。

以下のScreenshotが付属で付いてきました。

こっちは出来そうですね。
更に以下の説明がありました。

Encoder、Policy、DecoderそしてCriticの読み込みはどうやってするんでしょうか?
具体的にやり方を見せてもらわないと出来ないですよね。
<Headless Training>
お、ここでやり方を見せてくれそうです。

Headless Trainingの説明です。
<<Learning to Drive Headless>>
ここで実際の手順が説明されていますね。
長いんですが、一個ずつ見ていきます。

手順の1~3です。
Network Assetが再初期化される設定ってどんな設定の事なんでしょうか?
やっぱりこれ、このTutorialだけで実装するのはかなり難しいそうです。
話メインで聞いておくだけにしておいた方が良いかもしれません。

うーん。でも今はAIがあるからな。
この程度の情報でも再現しようとしたら出来るかもしれませんね。
どちらにしても今回は軽く見て終わりにします。

続きをみます。

まあ、こんな風にやったら筆者は出来ましたよ。位に聞いておきます。
<<Loading the Snapshots>>
今度は、生成したSnapshotsをLoadする方法を勉強します。

この後、以下のCodeが載っていました。

うーん。
Criticは?
前にCriticもLoadしないと駄目だって言ってなかったですか?

学習済みModelを読み込むときはCriticは要らないのか。
この部分だけは理解しました。

これは先程の実装の内容を補足説明してますね。
<Summary>
最後のまとめです。

うーん。
私にとってのこのTutorialのまとめは、
これは大変でやる価値あるかどうか不明です。
以上です。
8. DirectX12の勉強
3D Graphicsを作成するのにOpenGLを使ってるとバカにされるからDirectX12の使い方も勉強しようとしたら、Windows 8ではDirectX12が使用出来なくてずっと勉強を我慢していました。
で新しいPCを買ってやっとDirectX12を勉強できる環境になったら、もうDirectX12を勉強する人がいなくなっちゃってたんです。
のでこれも出来たら何したいというのは無いですね。
ああ、昔MMDを自分で作りたいというのはありました。それを目的にします。
8.1 Lötwig Fusel氏のD3D12 Beginners Tutorial [D3D12Ez]を勉強する
8.1.1 Input Assembler | D3D12 Beginners Tutorial [D3D12Ez] [18]の続きを実装する
先週勉強した内容を実装していきます。
<Vertex Layout>
以下の箇所にStruct Vertexを作成しました。

要素はFloat型のxとyがあります。
ここでは二次元のPositionを示す情報だけを保持できる最低限の要素が入っています。
次にそのStructを使用した配列を作成します。

Verticesの配列の要素に数字を追加しました。

三角形を作成するための座標です。

当然、Hello WorldのVerticesは要らないので消します。
今気が付きましたが、このTutorialとSample CodeのVerticesのSpellが間違っていますね。
でも直すと全部直さないといけないのでこのままにしておきます。
以下のCodeがErrorになりました。

直しました。

以上です。
8.1.2 Visual StudioをUpdateします
またVisual studioのVersionを更新しろ。と出て来ました。
今日はまだ時間があるのでこれもやってしまいます。

終わりました。
Visual Studioを起動してこのProjectを実行してみました。
何の問題も無く実行しました。
終了してもErrorとか全く無かったです。

はい。更新できました。
8.2 「DirectX 12の魔導書」を勉強する
8.2.1 今まで使用してたWriteToSubResource()関数関連の実装を消す
今まで使用してたWriteToSubResource()関数関連の実装を消します。
とは言ってもいきなり消すと間違える可能性が高いのでSample Codeの

Chapter05(TextureMapping)のMain.cppと

Chapter05(TextureMapping_CopyTexture)のMain.cppを比較して
Chapter05(TextureMapping)のMain.cppにあってChapter05(TextureMapping_CopyTexture)のMain.cppにない実装が
WriteToSubResource()関数関連の実装で
消す必要がある実装になります。
まずこれを確認します。
ChatGPTにやり方を質問したら

以下の方法で出来るそうです。

お、比較出来ました。
以下に2つのFileを比較した結果を乗せます。

これ見ると右側がCopyTextureRegion()関数を使用してるのか。
となると左にあって右に無い実装が消すべき実装になりますね。
最初の違いです。

これは右にあって左にない実装なので、これから追加する実装ですね。
ありました。

CmdList->Close();
が左にあって右にありません。
うーん。
でもこれって右のFileでは単に忘れただけかもしれません。
次です。
Verticesの値が違います。

これはどうでも良いです。
次に行きます。

LoadしてるTextureが違います。
これは何で変えているんでしょうか?
後で確認します。
以下のNoise Textureの作成とWriteToSubresourceで転送する用のHeap設定

の部分が左にあって右にありません。
これは消して良い実装ですね。
そして同じ箇所に右にあって左にない実装があります。


これはCopyTextureRegion()関数を使用してTextureのDataをCPUからGPU側のMemoryに送るための実装ですね。
一部は既に実装してるかもしれません。
D3D12_HEAP_PROPERTIES型のStructであるtexHeapPropの設定の違いです。

左の設定を右の設定に変更すれば良いだけです。
D3D12_RESOURCE_DESC型のresDescの設定です。

右のFileに変数は使いまわしてる。って書いてあますけど。
この実装の前に作成してるんでしょうか?
それってVertexで使用したやつでしょうか?
それって良いんですか?
この辺の疑問は後で調べる事にします。
この辺の設定はそのままでも問題ない気もします。
これについても後で確認します。
CreateCommittedResource()関数の設定が微妙に違います。

D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE
が
D3D12_RESOURCE_STATE_COPY_DEST
になっていますね。
この後、ずっと右にあって左に無い実装が続きます。


これはこれから追加する実装ですね。
この実装のすぐ後に以下の実装がありました。

こいつは消す実装です。
WriteToSubresource()関数を使用してますし。
以上でした。
分かり易い。
これ見る限りでは、絶対に消さないといけないのはWriteToSubresource()関数の設定だけですね。
残りの実装は転用して使ってます。
来週までに、この要らない実装を先に消すか、それとも後から消すかを決定しておきます。
今週はここまでにします。
9. まとめと感想
なし。
10. 参照(Reference)
[1] Procedural Minds. (2024, September 9). Create procedural interiors with full room separation | UE 5.4 P5 [Video]. YouTube. https://www.youtube.com/watch?v=yefxdWg_GTo
[2] Procedural Minds. (2024, August 11). Here’s how to adjust your building based on the asset size | UE 5.4 p2 [Video]. YouTube. https://www.youtube.com/watch?v=xVMz-LW1SJw
[3] Procedural Minds. (2024, August 18). Isolate corners with PCG to create pillars and roofs | UE 5.4 p3 [Video]. YouTube. https://www.youtube.com/watch?v=x0J_i56zaOw
[4] Epic Games. (n.d.). Control Rig in Unreal Engine, from https://dev.epicgames.com/documentation/en-us/unreal-engine/control-rig-in-unreal-engine
[5] Epic Games. (n.d.). Control Rig in Blueprints in Unreal Engine. November 4, 2025, from https://dev.epicgames.com/documentation/en-us/unreal-engine/control-rig-in-blueprints-in-unreal-engine
[6] Epic Games Developers. (n.d.). EControlRigComponentMapDirection [Enumeration]. Retrieved November 4, 2025, from https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Plugins/ControlRig/EControlRigComponentMapDirection?application_version=5.6
[7] Epic Games Developers. (n.d.). Control Rig Quick Start [How-to guide]. Retrieved November 4, 2025, from https://dev.epicgames.com/documentation/en-us/unreal-engine/how-to-create-control-rigs-in-unreal-engine
[8] Tech With Tim. (2025, January 12). Cursor Vibe Coding Tutorial – For COMPLETE Beginners (No Experience Needed) [Video]. YouTube. https://www.youtube.com/watch?v=8AWEPx5cHWQ
[9] Howard, J. (Instructor). (n.d.). Practical Deep Learning for Coders [Video playlist]. YouTube. https://www.youtube.com/playlist?list=PLfYUBJiXbdtSvpQjSnJJ_PmDQB_VyT5iU
[10] Howard, J. (n.d.). How random forests really work – Part 6 [Video]. YouTube. https://www.youtube.com/watch?v=AdhG64NF76E
[11] Howard, J. (2022, Jan 15). Lesson 5: Practical Deep Learning for Coders 2022 [Video]. YouTube. https://www.youtube.com/watch?v=_rXzeWq4C6w
[12] Howard, J. (2022, July 21). Lesson 3: Practical Deep Learning for Coders 2022 [Video]. YouTube. https://www.youtube.com/watch?v=hBBOjCiFcuo
[13] Howard, J. (2022, July 21). Lesson 4: Practical Deep Learning for Coders 2022 [Video]. YouTube. https://www.youtube.com/watch?v=toUgBQv1BT8
[14] Isaac Lab Project Developers. (n.d.). Environment Design. Retrieved from https://isaac-sim.github.io/IsaacLab/main/source/setup/walkthrough/technical_env_design.html
[15] Nine Between. (2024, June 18). Houdini is HIP – Part 14: Flip Fluids I [Video]. YouTube. https://www.youtube.com/watch?v=DJfkTV3Pivc
[16] Learning Agents (5.5). (n.d.). Unreal Engine. https://dev.epicgames.com/community/learning/courses/GAR/unreal-engine-learning-agents-5-5/7dmy/unreal-engine-learning-to-drive-5-5
[17] Unreal Engine. (n.d.). Headless Training & Network Snapshots (5.5). Epic Games Developer Community. https://dev.epicgames.com/community/learning/courses/GAR/unreal-engine-learning-agents-5-5/DPDd/unreal-engine-headless-training-network-snapshots-5-5
[18] Lötwig Fusel. (2023, August 1). Input Assembler | D3D12 Beginners Tutorial [D3D12Ez] [Video]. YouTube. https://www.youtube.com/watch?v=qmT98sWHe6o