1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Maya 2026のGenerative Texture APIについて

Posted at

環境

  • Windows
  • Autodesk Maya 2026

Generative Texture API

Maya 2026からLookDevXに生成AIのサービスをインテグレートしやすくするための仕組みとしてGenerative Texture APIが提供されました。
注意点は、このAPI自体は生成AIではなく、あくまで統合用のAPIという点です。

導入手順

Windowsでは下記のファイルに概要や利用方法についての記載があります。

C:\Program Files\Autodesk\LookdevX\Maya\2026\1.7.0\plug-ins\lookdevx\python\generative\README.md

そちらを参考に導入手順について記載します。

関連ライブラリのダウンロード

Qtの設定でQtのバイナリディレクトリが必要になるため、Autodeskのウェブサイト から Maya 2026 の DevKit を入手します。
zipを解凍すると Autodesk_Maya_2026_DEVKIT_Windows\devkitBase 内にQt.zip があるので、解凍して任意の場所に配置します。

examplesディレクトリのコピー

プラグイン例を編集して試せるように、以下のパスのディレクトリをコピーして任意の場所に配置します。

C:\Program Files\Autodesk\LookdevX\Maya\2026\1.7.0\plug-ins\lookdevx\examples

環境変数の設定

PYTHONPATHPY_GENERATIVE_TEXTURES_PLUGINS_PATH を設定します。

PYTHONPATH には C:\Program Files\Autodesk\LookdevX\Maya\2026\1.7.0\plug-ins\lookdevx\python\generative を追加、PY_GENERATIVE_TEXTURES_PLUGINS_PATH には examplesディレクトリのフルパス をセットします。

環境変数の設定例
set PYTHONPATH=C:\Program Files\Autodesk\LookdevX\Maya\2026\1.7.0\plug-ins\lookdevx\python\generative
set PY_GENERATIVE_TEXTURES_PLUGINS_PATH=<配置先のパス>\examples\python\reference_plugins\plugins

QtとLookdevXの設定

C:\Program Files\Autodesk\LookdevX\Maya\2026\1.7.0\plug-ins\lookdevx\python\generative\config.pyQT_SHARED_LIB_DIRLOOKDEVX_GENERATIVE_TEXTURES_API_DIR の値を適切なパスに書き換えます。

元のファイルが復元できるよう、書き換え前に必ずコピーしてバックアップを取ってください。

QT_SHARED_LIB_DIR はQtのバイナリディレクトリ (Qt/bin) を指定、LOOKDEVX_GENERATIVE_TEXTURES_API_DIRC:/Program Files/Autodesk/LookdevX/Maya/2026/1.7.0/plug-ins/lookdevx/bin を指定します。

設定例
QT_SHARED_LIB_DIR = "<配置先のパス>/Qt/bin"
LOOKDEVX_GENERATIVE_TEXTURES_API_DIR = "C:/Program Files/Autodesk/LookdevX/Maya/2026/1.7.0/plug-ins/lookdevx/bin"

設定状況の確認

Maya2026を起動してLookdevXのプラグインをロードし、ScriptEditorで DLLディレクトリの追加状況と LocalPluginServicePlugin のロード状況を確認してください。

Example Pluginsの試し方

LookDevXのUI版のLocal PluginとService Pluginの試し方について記載します。
(その他の例も同梱されておりますが、説明は割愛します)

Local Plugin

Local Pluginはプラグインのみでテクスチャ生成可能なシンプルな例です。

LookdevX Graph Editorから利用可能で、ノードとして使用できます。
Experimental > GenTex Local Plugin からマテリアル内でノードを作成し、generateボタンを押すと画像が生成されます。

ただし、こちらのサンプルプラグインは、プロンプトから画像を生成しておらずexamples\python\reference_plugins\plugins\samples 内のファイルをランダムで表示するだけの処理となっています。

Service Plugin

Service Pluginは外部サービスを利用してテクスチャを生成するサンプルです。

サンプルプラグインの確認用に FastAPIを用いた外部サービスの例が examples\service に同梱されているので、事前に導入します。

下記以下の導入例のコードについては、Pythonは Maya2026のmayapy を使用、Pythonの関連ライブラリは examples\service\python にインストールするものとして記載していますので、その点ご注意ください。

外部サービスのサンプルの導入と起動方法

examples\service\requirements.txt を利用して必要なPythonライブラリを導入します。

ライブラリのインストール例
cd /d <配置先のパス>\examples\service
"C:\Program Files\Autodesk\Maya2026\bin\mayapy.exe" -m pip install -r requirements.txt -t python

ライブラリを導入したら、FastAPIサーバを起動します。

FastAPIサーバの起動例
cd /d <配置先のパス>\examples\service
set PYTHONPATH=%CD%\python
python\bin\uvicorn.exe main:app

http://127.0.0.1:8000/docs にアクセスできれば成功です。

Service Pluginの使用方法

こちらの例もLocal Pluginと同様LookdevX Graph Editorを使用して Experimental > GenTex Service Plugin からノードを作成し、generateボタンを押すと画像が生成されます。

こちらのプラグイン例も、プロンプトから画像を生成しておらず、ランダムな単色画像上にオプション情報を表示するだけのものとなっています。

Service Pluginの画像生成処理を生成AIに置き換える簡単な例

プラグイン例の導入だけでは味気ないので、Service Pluginの生成処理を生成AIに置き換えるシンプルな例を記載します。なお、置き換え例では、試しやすさを重視しており、実践的な実装例を示したものではない点にご注意ください。

置き換え例では、StableDiffusionを使用するため、Diffusers を導入します。インストール方法の詳細は Installation から確認できます。

環境に合わせて関連ライブラリをインストールします。

Diffusers (CPU) のインストール例
cd /d <配置先のパス>\examples\service
"C:\Program Files\Autodesk\Maya2026\bin\mayapy.exe" -m pip install torch torchvision torchaudio -t python
"C:\Program Files\Autodesk\Maya2026\bin\mayapy.exe" -m pip install diffusers transformers accelerate -t python
Diffusers (CUDA利用可能環境) のインストール例
cd /d <配置先のパス>\examples\service
"C:\Program Files\Autodesk\Maya2026\bin\mayapy.exe" -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 -t python
"C:\Program Files\Autodesk\Maya2026\bin\mayapy.exe" -m pip install diffusers transformers accelerate -t python

Service Plugin では、examples\service\main.pygenerate_random_image 関数が画像生成を行っています。生成処理を簡単に置き換えて試すために、この関数を直接調整します。

下記にStable Diffusion 1.5のモデルを利用してプロンプトから画像生成するコード例を記載します。

from diffusers import StableDiffusionPipeline


def generate_random_image(request: GenerateRequest) -> Image.Image:
    model_id = "stable-diffusion-v1-5/stable-diffusion-v1-5"
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    dtype = torch.float16 if torch.cuda.is_available() else torch.float32
    pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=dtype)
    pipe.to(device)

    # わかりやすさを重視してプロンプト以外のオプションは割愛しています
    output = pipe(prompt=request.prompt)
    return output.images[0]

元の generate_random_image 関数は、引数はありませんが、調整して request: GenerateRequest を引数として受け取れるようにしたため、呼び出し元である generate_image 関数も調整する必要があります。
image = generate_random_image() の箇所を image = generate_random_image(request) と書き換えてください。

def generate_image(request: GenerateRequest) -> str:
    # image = generate_random_image()
    image = generate_random_image(request)
    ...

書き換え後、FastAPIサーバを起動し、GenTex Service Plugin ノードのgenerateボタンを押すとStableDiffusionで画像が生成されるようになります。


繰り返しとなりますが、上記の置き換え例は、試しやすさを重視しており、実践的な実装例を示したものではない点にご注意ください。詳しくは C:\Program Files\Autodesk\LookdevX\Maya\2026\1.7.0\plug-ins\lookdevx\python\generative\README.mdCreating Your Own Plugin の項目に説明がありますので、そちらをご覧ください。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?