grasys blog

UNITY で 3D AI キャラクターエージェントを 0 から作る! [プロローグ]

プロローグ

AI キャラクターエージェントとは

長い説明してもあれなんで、
ぶっちゃけこんな感じ

自由にチャットができ、反応や返事をしてくれる。
役割を与えてもよし、ゲーム内での使用でもよし。
個人での会話を楽しむのもよし。

いろんなサイトで既にこういうタイプのキャラクター付き AI サービスを提供していますが、
機能が足りなかったり、2Dだけだったり。気に入りのキャラクターがなかったり。
思っていたのと違う! だったり

いっそう自分で作れば?
カスタマイズの可能性が無限大だ!
どこまで作るか自分自身に決めればいいしー

構成を考える

基本必要最低限はこんな感じ

最低限はクライアントとAPIがあればOK

サーバーの方は API などを使えば安上がりだし、インフラなど考えなくても済みます。
その代わりに API の使用料金が発生したり、無料 API 枠だと不安定だったり、機能が不安定だったりします。また、使っている API が廃止される可能性もあります。

サーバー側をもっと突き詰めるとこうなります。

サーバー拡張構成図

これは自分でサーバーを立ち上げ、インフラ設定し、API サーバを作ります。
極めようとするならサーバーも自分で作った方がいいです。

API 使わないで自分でサーバー管理すると下記のメリット、デメリットがあります。

メリット

  • 非常に自由度が高い
  • 細かく LLM モデルや、Finetuned モデルなども使用可能。
  • 音声合成や感情解析モデルなどのオプションも

デメリット

  • 非常に時間がかかる。
  • VPS や Cloud など、GPU を使うと大変莫大な使用料金になります。

自宅サーバーの場合、ランニングコストの中心は電気代になりますが、
サーバーマシンの購入費や回線費用なども含めると、
トータルではそれなりのコストがかかります。
また、サーバーマシンの選定や熱・火災リスクへの配慮も必要になるため、
運用の手間は小さくありません。

なので、今回は API を使う前提で先に説明しますが、
後半ではサーバー作成方法なども紹介していきます。

UNITY で 3D キャラクターエージェント作りましょう!

なんで UNITY?

最近のゲーム開発ツールといえばいろいろありますが、UNREAL が人気ですねー
ですが、UNREAL は使いません。理由は下記のとおりです。

UNREAL は入門として難しい。
UNREAL は C++ プログラミング言語を使っているため、
C# を使用している UNITY と比べれば難易度が高いと感じています。
加えて UI や操作性も上級者向きな印象です。
機能性は大変優れていますが、作りたいのは AAA 大型タイトルではないので、今回は UNITY の方が合っていると考えています。

UNREAL は WebGL に出力できない
可愛い我が AI キャラクターエージェントを作ったら当然人に見せたい。
UNREAL だとアプリという形でしか出力できない。(正確にはできますが、非常に難しい)
知らない人からもらったアプリをインストールするのは抵抗があるかと思います。
そこで、簡単にウェブ上で遊べる UNITY WebGL を選択しました。

上記の理由で今回は UNITY を使っています。

まずは 3D キャラクター選定からだ!

3D キャラクターモデルを提供する場所はいくつがありますが、概ね2つの種類に分けられます。

  • 無料モデル
     mmd モデルや無料配布しているモデル。利用規約が比較的厳しめだったり、クオリティにばらつきが大きいものも多い印象です。ですが、たまにダントツクオリティが高いものもあります。
非常にクオリティ高い無償モデルヌタチさん(かわいい)
  • 有料モデル
      販売サイトや特注で作るモデルなど。有料モデルは総じてクオリティや自由度が高い傾向がありますが、用途や予算に応じて選ぶのが良さそうです。

その他、デザイナーの方に依頼する方法や、自分で作成する方法もありますが、
今回はインターネット上でダウンロードできるものからの選定方法を紹介します。

取得できるサイトなどは無限にあるので、全て紹介できませんが、
今回は有料、無料モデル両方とも配布している booth.pm を紹介します。

booth.pm は無料、有料を含めてかなりの数の 3D キャラクターモデルを発売しています

3D モデルを選ぶ基準

キャラクターエージェントを使用するにあたり、色々考慮しないといけません。
もちろん見た目も非常に大事ですが、その他にも考慮しないといけない点がいくつがあります。
booth.pm の例でモデルの詳細確認方法を説明します。

3D モデルの詳細の解説

3D モデルのページに入るといろんな情報が飛び出ます。
作品によって情報が近いますが、確認すべきものが確認できれば問題ありません

下記は某モデルの詳細のサンプルとなります。

1. Polygon 数
3D モデルを構成するポリゴンの数です。多ければ多いほどモデルが繊細になってきれいに見えますが、PC 側の負担が高いです。特に WebGL は通常のアプリと違ってかなり PC パワーがいるので、Polygon 数が少なければ少ないほど PC の処理能力はいらないです。自分一人で楽しむ目的ならいいですが、WebGL などでウェブ上で公開したい場合は考慮した方がいいですね。

目安はこんな感じです。

  • 5,000 ポリゴン未満
    いわゆるローポリゴンモデル。最近はかなり数が減っていますが、たまに見かけます。
    処理がめっちゃくちゃ早いです。
  • 10,000 ~ 40,000 程のポリゴン数
    通常のモデルはこのあたりが多いかもしれません、WebGL などでも動作に支障はありませんが、
    豪華な設定や複数のモデルを使うような設定だと PC のパワーが結構いるかもしれません。
  • 50,000 ポリゴン以上
    いわゆる高解像度モデルです。
    使う場合はできる限りモデル単体にしましょう。

2. 対応 UNITY バーション
基本的に対応 UNITY バーション2019 以降でしたら問題ありませんが、注意点があります。

  • モデルの UNITY バーションが新しすぎると古い UNITY では不具合が発生する
    例えば UNITY6 対応のモデルを UNITY 2021 でインポートすると、何らかの不具合が発生するかもしれません。モデルによってはインポートすらできない場合もあります。
    ですが、その逆はほとんどの場合、問題ありません。

3. Blendshape の数

Blendshape は多ければ多いほどそのモデルの表情は豊になり、したしみやすいです。
注意すべき点は「あ、い、う、え、お」という口の形の Blendshape の有無、
または「リップシンク対応」の項目です。

これがないとキャラクターの口が思う通り動かないかもしれません。
日本の販売サイトや VRChat 対応のモデルはほぼ問題ないですが、海外サイトはたまにあります。
これがないとキャラクターが口閉じたまましゃべることになります。
かなり不自然になるので、気を付けましょう。

ヌタチさんは表情ゆたかでかわいいモデルです

4. 利用規約

モデルによって使える用途が違うのでちゃんと利用規約を確認しましょう。
3D キャラクターエージェントとして利用する場合、
ソフトウェア組み込みあたりの規約が「許可します」と記載がないと使えません。
キャラクターエージェントを使って利益が発生する場合、商用関連の規約も確認しましょう。
また、あまりないと思いますが、
成人向け表現を含むコンテンツの場合はセンシティブな表現のセクションもちゃんと確認しましょう。
もし、どうしても使いたいが、「問い合わせください」などでの記載でしたら、作者に直接連絡して確認するのがいいでしょう。

上記の利用規約はソフトウェアへの組み込み場合、作者の許可が必要です。(上記は2025年11月17日時点のものとなります)

その他、設定による注目すべき点

  • Blend ファイルの有無
    ダウンロードしたモデルを Blender(3D モデル作成ソフト)で修正する場合、blend ファイルがないとかなり難しいです。fbx ファイルはある程度代用できますが、いろんな不具合が発生しますので、blend ファイルがあるかどうかによってはモデルを編集できる確率がグーンと上がります。また、Blender モデルのバーション互換性が非常に微妙ですので、バーションの記載があった場合大変ありがたいです。
  • シェーダー
    3D モデルのシェーダーとは、物体の表面の色や質感、光の反射などを計算・描画するためのプログラムです。ぶっちゃけ、後でいくらでも変えられますが、WebGL では描画できないシェーダーは存在しますので、気を付けましょう。liltoon や Unity Shader などなら安心だ。
    特に DirectX 系のシェーダーは Windows 環境しか動作しないので、WebGL や MacOS では真っ暗のモデルに表示されるので、気を付けましょう。

モデル選定が終わったら次はようやく UNITY に突入だ!

次回の記事につづきます。

転載元:UNITY で 3D AI キャラクターエージェントを 0 から作る! [プロローグ]


採用情報
お問い合わせ