🔥

【Unity6.2】Unity AI ベータはVFX Graphに恩恵はあるのか

に公開

Unity6.2からUnity AI ベータが一時的に開放されており、一定のトークンが付与されてUnityに組み込まれた生成AIを利用することができるようになりました。
これまでChatGPTやClaude等の外部AIツールで生成したに内容を元に操作をしたりすることはありましたが、それがUnityだけで完結する状態に組み込まれました。
回数制限はありますが、無料である程度利用可能なようです。

音楽を作ったり、テクスチャを作ったり様々なことができるようになっているようですが、個人的にはVFXGraphについて恩恵がどこまであるのかを着目していきたいと思います。

UnityAIでのVFX Graphについての恩恵を考える

いろんなことを考慮するとAIを使ってメディアコンテンツを作ると著作権が~と燃える可能性が高いですが、現時点で生成したものを売るわけではない且つ学習目的のためこれらの件に関しては一旦無視します。
前途の様にAIを利用するとある程度の品質の音楽も作れますしテクスチャも生成できるようになりました。
つまり、VFXGraphを学習するので覚えるのはしんどいなと思っていた効果音やテクスチャの作成が自動化できるようなイメージです。
この時点で1回でもエフェクト作りをした人は恩恵を受けられるとすぐ感じられるかと思います。
例えば、津波のエフェクトを作るときに最低限必要になるのが

  • 波のモデル(Blenderで簡単に作れるレベルではある)
  • 波のテクスチャ

ここでBlenderスキルとペイントソフトのスキルが必要になります。
どちらもそんなに高度なスキルは求められないですが、完全初見の人にとってはBlenderはだいぶ良くなったとはいえ3Dモデリングの基礎が必要ですしペイントソフトに至ってはやれなくはないですが無料のものは正直微妙です。
何事も新しく手を出すとそれだけで時間を奪われるわけなのでVFXGraphだけを学びたい人にとっては壁がいきなり2つもできてしまうので本質を忘れてしまってVFXGraphにたどり着くまでに挫折してしまう人も多くなると簡単に予想できます。
生成AIを使うことによって作るための素材をある程度のクオリティで準備してくれるのはかなり恩恵があるんじゃないでしょうか?
欲しいものが分かっていれば、プロンプトで伝えてあげれば大体作ってくれるのが生成AIのいいところです。
今までは欲しいものが分かっていてもそれを作るためのスキルがないので諦めてしまうか、頑張って他のツールを覚えて作るかしかなかったのですが生成AIによってその問題はある程度は解決できると思います。

実際にUnityAIを使ってみる

  • 前提として
    • Unity6.2がインストールされていること
    • URPでプロジェクトを作成したところから開始

Unity AIを使えるようにする

プロジェクトを開いた直後の画面でゲーム再生マークがあるラインの左側に「AI」のプルダウンメニューが追加されています。

クリックすると、利用規約が表示されるので同意してインストールを開始します。
少しインストールまで時間がかかるので待ちましょう。
コンソールにインストール中のログが表示されている間はインストール中で、消えたら完了になります。特段インストール完了の表示はないです。
使えるようになると先ほど「AI」のプルダウンメニューから様々なメニューが表示されるので1つずつ見ていきます。

Unity AI メニュー

  • 25K Point (Free During Beta)
    • 一番上にあるこれは25000ポイント使用可能という感じです。
    • 生成AIを使ったことがある人は利用可能トークン数だと思ってください。
    • 実際1回でどれだけ消費されるかはわかりません。
    • ※ 最後に見てみたら75Kになってたので残量ではない……?
  • SeeWhat's New
    • 新機能の紹介
    • このAIによって何が出来るのかを説明してくれてます。
    • かいつまむと
      • アシスタント
        • タスクの自動化
      • ジェネレーター
        • テクスチャ・スプライト・マテリアル・アニメーション・サウンドアセットの生成
      • 推論エンジン
        • ローカルマシンで動かしているAIモデルをUnityエディタで使える?
        • これは正直よくわからないですがChatGPTとかを使えるようにするものでしょうか。後で軽く調べてみます
  • View Documentaiton
    • 公式のUnityAIの解説ページがブラウザで開きます。
    • 日本語版は今のところ存在していません。
  • Manage Account
    • Unity Cloudのアカウント設定を開く
    • いまのところは不要?
  • Check for Updates
    • アプデがあるか調べる
    • アセットマネージャーが開くがインストール直後だとおそらく最新なので特に気にせずでよし
  • Open Assistant
    • いわゆる生成AIとチャットでUnityを操作できるモード
    • Cursorみたいな感じでやれるかも
    • チャット毎にポイントが消費されるはず
  • Generate New
    • テクスチャ・スプライト・マテリアル・アニメーション・サウンドアセットの生成
    • プロンプトを入力して生成できる
    • 生成単位でポイントが減りそう

ここで注目するのは「Open Assistant」でしょうか。
GenerateNewでは決まった項目しか今は作成できないため、後で使おうと思います。
一旦チャットモードでUnityを操作してみてVFXGraphを作成できるかを確認してみます。

VFXGraphの制作をアシスタントに頼んでみる

本来は英語のほうがいいらしいですが、一旦日本語で試してみました。

入力プロンプト

Vifual Effect Graphを使用してパーティクルが回転しながら上昇していくエフェクトを作成してほしいです。

雑に入力してしまったのでVisualの綴りがおかしいことになりましたがAIは優秀なので自動的に補正して認識してくれたようですw

作り方を解説してくれるのですが、正直これだとChatGPTやClaudeを使ったほうが良いものが出来あがると思います(生成AIの有料版を使っている人に関してはですが)

問題はその後自動で作ってくれるのかと思ったら「アニメーション」のアセットを作ろうとしてるのでVFXGraphに関しての作成はおそらく現時点ではできないんだろうなと思います。
大人しく諦めて今度はエフェクト作りに使えるテクスチャを作れるか試してみます。

エフェクト用のテクスチャ生成チャレンジ

エフェクト用のテクスチャは大体白黒でぼやけたようなテクスチャを作ることが多いです。
というのもVFXGraph側で色々弄ることが多いのでパキッとしたテクスチャよりもぼやけたテクスチャを使うのが基本となっています。
果たしてプロンプトを伝えるだけで理想のテクスチャを作ることはできるのでしょうか。

おそらく「火のエフェクトを作るためのテクスチャを作ってください」だけだと火のイラストが出来上がるだけだと思うのでもうちょっと工夫をしてプロンプトを考えて伝えてみます。

VFXGraphに使用するテクスチャの生成
テクスチャはろうそくの火のエフェクトを作るために使用する
シンプルな火のイラストではなく、VFXGraph側で色などを調整できるようにエフェクトに利用しやすい形で生成してください
テクスチャのサイズは 512x512

と思ったらいわゆるStableDiffusion的な感じの入力にする必要がありました。
つまりプロンプトとネガティブプロンプトを用意する必要があります。

おそらくこのタイプはまだ日本語に対応していない感じがするので、翻訳で英語にしてみます。
Stablediffusionの場合は単語をカンマ切りで渡して生成するのですが、一旦テストとして文章ベースで投げてみます
ネガティブプロンプトもなしでどこまでできるのかを見てみましょう。

上記のプロンプトをGoogle翻訳してみました。

Please generate a texture to be used in VFXGraph.
The texture will be used to create the candle fire effect.
Rather than a simple illustration of fire, please generate it in a form that is easy to use for effects so that the color and other aspects can be adjusted on the VFXGraph side.

サイズはエディタ側で指定できるみたいなので割愛しました。
512がなかったので1024にしてみます。

何か他にもいろいろ弄られるところが多いのですが、ベースグラフィックっぽいところをVFXのものにしてみました。(意味があるのかは不明)

いざ生成。

うー------ん、普通の画像生成AIですね……
特段ゲームアセット作りに特化した感じはないようです。

やはりベースとなる画像を元にプロンプトで生成されるっぽいのでもうちょっと注文をふやしてみましょう。

一応今の時点でろうそくの火という要件は満たしてくれているので火の部分にフォーカスさせて白黒でアルファがきいた画像という風に命令を調整してみます。

Please generate a texture to be used in VFXGraph.
The texture will be used to create a candle fire effect.
Rather than a simple illustration of fire, please generate it in a form that is easy to use for effects so that the color and other details can be adjusted on the VFXGraph side.

The candle itself is not necessary.
Please focus on the fire itself.
Color is not necessary. Black and white please.
Please use an image with transparency

追加した原文

ろうそくそのものは不要です。
火そのものにフォーカスしてください。
カラーは不要です。白黒でお願いします。
透過情報がある画像にしてください

先ほどの条件に加えてみましたが理想の画像は出来上がらないようです。

おそらくネガティブプロンプトに色々いれたりしないとダメそうですね。
これであれば自分の建てたStableDiffusionで生成したほうがいいかなって感じました。

結論 VFX Graphに利用するにはまだ早い

おそらく頑張ってプロンプトを練って設定を細かくやれば出来なくはないレベルではあるのですが、ある程度Blenderやペイントソフトを扱える人であれば自分で作ったほうが早い状態です。
なんなら有料版のChatGPTで作らせた方が良い気がしますね。

おまけ ChatGPT5にテクスチャを作らせてみた

有料版チャッピーにテクスチャ作りを頼んでみたら誰がそこまでやれと言ったというぐらいテクスチャのアニメーションスプライトを生成してきました。

なんだこれはたまげたなぁ……
普通に使えそうな感じがするクオリティのものが出来てしまったので利用してみたいと思います。

なんか左側でPythonのコードを書いているのは放っておきましょうって思ったのですが、スクロールしてみると頼んでもないのにどうやらVFXGraph想定で作ってくれたようです。
(おそらく過去にVFXGraphについて尋ねてるからそれのせいかも)

Pythonのコードはちょっと謎ですが、軽く読んでみるとエフェクトを描画するためのコードぽいのでこちらも時間があるときに動かしてみたいと思います。

Discussion