こんにちは! 今回はUnityでデスクトップマスコットキャラクターをつくってみましょう。実はUnityはゲーム開発だけではなく、デスクトップアプリや常駐ツールのような用途にも柔軟に使うことができます。
3D表現や入力制御、外部ライブラリとの連携まで1つの環境で完結できるのは、Unityならではの強みですね。サンプルコードも一緒に紹介するので、Unityでこんなアプリもつくれるんだなと、参考になれば嬉しいです!
黒河 建
ボーンデジタルのテクニカルサポート担当。前職ではIT企業にて基幹システムの導入に従事。現在はRevitを中心に、建築業界向けのサポート業務を担当している。
X:@BD_SoftwareDiv
※本記事は、月刊『CGWORLD + digital video』vol.331(2026年3月号)掲載の連載「TECH ROOM:このソフト、どこまでやれる?」を再編集したものです。
INFORMATION
Unity(ユニティ)
ゲームや映像、建築、XRなど幅広い分野で使われるリアルタイム3D開発プラットフォーム。直感的なエディターとC#による開発環境を備え、複数のプラットフォームへ効率良くコンテンツを展開できる。個人から大規模チームまで、アイデアを素早く形にする制作環境を提供。
www.borndigital.co.jp/product/unity
Step① デスクトップにオブジェクトを表示してみよう!
今回は「ユニティちゃん」をモデルにした、AIデスクトップマスコットの制作を追っていきます。まずは画面透過処理を行い、オブジェクトのみをデスクトップ上に表示する処理をつくるところからです。
今回は「Windows API (WinAPI)」を利用するため、Windows上でしか動作しない点はご容赦ください。画面透過の処理については、下記URLのページでも詳しく記載があります。透過処理のスクリプトもしっかり記載されていますので、合わせて参考にしてみてください。
「【Unity】ビルドしたウインドウを透明化する方法を紹介します!」(うにぉらぼ)
unixo-lab.com/unity/transparent_window.html
サンプルコード「TransparentBuildController.cs」
Step② UnityからローカルLLMにアクセス!
キャラクターを透過処理させて表示するだけでは味気ないので、ここにローカルLLMを利用して、不定期に呟くような処理を追加してみましょう。
今回はユーザーからの入力や会話などのインタラクティブな処理は行いません。ローカルLLMを実装すると、外部サーバとの通信を行わず、全ての文章生成処理がローカル環境内で完結します。まずは、環境構築を行なっていきましょう。
Unityプロジェクトのディレクトリ>cd Assets/StreamingAssets/python-3.12.7-embed-amd64
// pipの導入
curl -L https://bootstrap.pypa.io/get-pip.py | .\python
▲フォルダ内にある「python312._pth」をテキストエディタで開き、「# import site」の「#」を消去して、保存します。その後、CLIツールを開き、Unityプロジェクトのディレクトリに移動後、上のコードを順に実行します
// カレントディレクトリは "\Assets\StreamingAssets\python-3.12.7-embed-amd64"
.\Scripts\pip install <ダウンロードした.whlファイルのPath>
//入力例: .\Scripts\pip install "C:\Users\<Username>\Downloads\llama_cpp_python-0.3.2-cp312-cp312-win_amd64.whl"
▲GitHubページから「llama_cpp_python-0.3.2-cp312-cp312-win_amd64.whl」をダウンロードします。ダウンロード後に、再度CLIツールで上のコマンドを実行します
Step③ Pythonを通してローカルLLMを動作!
ここまでのセットアップが完了したら、Pythonを利用しローカルLLMを動作させるScriptを作成します。Python実行のためのC#スクリプトとPythonスクリプトを記述する必要がありますので、サンプルコードをぜひ確認してみてください。あとは、作成したスクリプトをGameObjectにアタッチするだけです!
▲ポイントは、PythonのローカルLLM実行スクリプトを読み込み、モデル推論を行うことです。下にサンプルコードをアップしているので、ご参照ください
C#サンプルコード①:「LocalLLMManager.cs」
C#サンプルコード②:「PythonRuntimeInitializer.cs」
Pythonサンプルコード:「localLlmPython.py」
次回予告|TouchDesigner
次回は、TouchDesignerを取り上げます。プログラミングの知識がない方でも「映像、3Dグラフィックス、音、センサー入力、外部デバイス」などを直感的に組み合わせることができるソフトです。
インタラクティブなコンテンツやVJに使用されるソフトというイメージだけをもっている方も多いかと思うので、簡単な作例を使って制作の実演をしてみたいと思います。慣れてくると様々なアイデアが浮かんでくる楽しいソフトなので、魅力をお伝えできれば嬉しいです。お楽しみに!
INFORMATION
月刊『CGWORLD +digitalvideo』vol.331(2026年3月号)
特集:デジタルファッション制作ハンドブック2026
定価:1,540円(税込)
判型:A4ワイド
総ページ数:112
発売日:2026年2月10日
SUPPORT ROOM
■気になるソフトウェアがある方
製品の購入や導入におけるご質問はこちらからお寄せください。
■すでにソフトウェアを活用中の方
使用におけるお困りごとやご質問はこちらからお寄せください。
TEXT_中島真之介/Shinnosuke Nakajimama(ボーンデジタル)、黒河 建/Takeru Kurokawa(ボーンデジタル)
EDIT_李 承眞/Seungjin Lee(CGWORLD)、高橋拓也/Takuya Takahashi(CGWORLD)