UnityのNPCをローカルLLMで喋らせてみた〜ゲームの中で動くAI会話〜
ゲームのNPCに、決められた台詞ではなくその場で考えた返事を喋らせたい。UnityからローカルLLMを呼んでNPCに人格と記憶を持たせ、ゲームループを止めずに動かせるかを実測しました。同期呼び出しは描画フレーム0枚、平均fpsは2.4%しか落ちないのに1% Lowは20%落ちる、記憶を切り詰めると入力が半分なのに待ち時間は1.8倍——予想が2つ外れた記録です。
プログラミングや3DCGで何か作りたいと思っているエンジニアがいます
ゲームのNPCに、決められた台詞ではなくその場で考えた返事を喋らせたい。UnityからローカルLLMを呼んでNPCに人格と記憶を持たせ、ゲームループを止めずに動かせるかを実測しました。同期呼び出しは描画フレーム0枚、平均fpsは2.4%しか落ちないのに1% Lowは20%落ちる、記憶を切り詰めると入力が半分なのに待ち時間は1.8倍——予想が2つ外れた記録です。
ARは実機がないと試せない…と思っていませんか。UnityのAR FoundationとXR Simulationなら、スマホ実機なしでもエディタの“仮想の部屋”でARを検証できます。平面を検出してタップした面に3Dモデルを置く最小サンプルを、仕組み・コード・XR Simulationの有効化・つまずきまで解説します。
p929の宿題「Unityも上位パイプラインならUnrealとの差は縮む」を実証。同じシーンをビルトインRP・URP・HDRPの3つで作り、反射・ブルーム・光の回り込み・光芒の見た目と、GPU時間で測ったFPSを同一Windows(RTX3060)で比較。設定は画像+数値で再現でき、いちばん軽いのはURPだった意外な結果やHDRPの露出・ライト単位のクセも解説します。
p921〜923でUnityに取り込んだ丸の内(東京)を、今度はUnreal Engineに「PLATEAU SDK for Unreal」で直接インポート。Blender経由+手作業のUnityと、SDK直接取込を比較。画質(Lumen)は公平な土俵で並べ、同一Windows(RTX3060)で性能も実測しました。
p927で地面・道路・橋梁まで整備したPLATEAUの丸の内を、Unity(ビルトインRP)で夜景化。月明かり・街灯・ビルの窓の光の作り方、窓を計算で光らせる専用シェーダー(簡易版と本格版の比較)、Bloom有り/無しの比較まで、設定値つきで解説します。
建物だけで宙に浮いて見えたPLATEAUの丸の内(東京)に、地形(地面)・道路・橋梁を足して“本物の街並み”に整備。広域データを街の範囲に切り出すコツ、形だけの道路をアスファルト質感で道路らしくする方法、建物との座標・高さ合わせの注意点までUnityの画面付きで解説します。
落ちてくる玉をタップして得点する2Dミニゲームを、Unity(C#)とXcode(Swift/SpriteKit)で全く同じに作成。iPhoneシミュレータで動かし、見た目・操作感・アプリサイズ(164MB vs 240KB)・起動・開発の手間を徹底比較。ゲームエンジンとネイティブの使い分けを結論します。
ライティング・影・反射のある3D空間でボールを発射し、積み上げた箱を物理で崩す——全く同じミニゲームをUnity(6000.4.5f1)とUnreal Engine(5.7.4)で作り徹底比較。Mac vs Windows(RTX3060)の実機FPS検証つき。
Unity ML-Agentsを使って強化学習エージェントを育ててみました。環境構築のハマりポイント(Python 3.10.12固定・grpcio・protobuf競合)から、RollerBallシーンの作り方、PPO学習の実測ログまで一部始終を記録しています。