![見出し画像](https://assets.st-note.com/production/uploads/images/88971572/rectangle_large_type_2_0a994bb038520d6651d0b172075318eb.png?width=800)
Stable Diffusion と Google Colab によるテキストからのテクスチャ生成
「Stable Diffusion」と「Google Colab」によるテキストからのテクスチャ生成の方法をまとめました。
・Stable Diffusion v1.4
・diffuser v4.1
1. Stable Diffusion
「Stable Diffusion」は、テキストから画像を生成する、高性能な画像生成AIです。
2. ライセンスの確認
以下のサイトでライセンスを確認し、「Access Repository」を押し、「HuggingFace」にログインして(アカウントがない場合は作成)、同意します。
3. テクスチャの生成
テクスチャの生成手順は、次のとおりです。
(1) メニュー「編集→ノートブックの設定」で、「ハードウェアアクセラレータ」に「GPU」を選択。
(2) 「Stable Diffusion」のインストール。
# パッケージのインストール
!pip install --upgrade diffusers==0.4.1 transformers scipy
(3) HuggingFaceにログイン。
リンク先のHuggingFaceのトークンをコピーして、テキストボックスに入力して、Loginボタンを押します。
# HuggingFaceにログイン
from huggingface_hub import notebook_login
notebook_login()
(4) シームレスなテクスチャを作成するための設定。
以下のコードを実行することで、シームレスな (上下・左右がつながっている) テクスチャを作成できるようになります。
import torch
def patch_conv(cls):
init = cls.__init__
def __init__(self, *args, **kwargs):
return init(self, *args, **kwargs, padding_mode='circular')
cls.__init__ = __init__
patch_conv(torch.nn.Conv2d)
(5) 「Stable Diffusion」パイプラインの準備。
from diffusers import StableDiffusionPipeline
# StableDiffusionパイプラインの準備
pipe = StableDiffusionPipeline.from_pretrained(
"CompVis/stable-diffusion-v1-4"
).to("cuda")
(6) テクスチャの生成の実行。
from torch import autocast
# テキストからのテクスチャ生成
prompt = "green ground texture"
with autocast("cuda"):
images = pipe(prompt).images
images[0].save("output.png")
(7) 生成した画像の確認。
左端のフォルダアイコンでファイル一覧を表示し、output.pngをダブルクリックします。
![](https://assets.st-note.com/img/1665734839065-YPwrIfc7C4.png?width=800)
512x512のテクスチャが生成されます。
解像度が足りないときは、「Real-ESRGAN」で画像の解像度をアップコンバートすることもできます。
4. Unityでのテクスチャ画像の配置
Unityでテクスチャ画像を配置する手順は、以下のようになります。
(1) UnityプロジェクトのAssetsにテクスチャ画像を配置。
(2) Materialを作成して、Albedoに追加したテクスチャを指定し、Tilingにリピート回数を指定。
![](https://assets.st-note.com/img/1665744633572-sMpV11pCgk.png?width=800)
(3) 3DオブジェクトのMeshRendererのMaterialsに作成したMaterialを指定。
![](https://assets.st-note.com/img/1665744645985-2XNXjEXyW3.png?width=800)
配置結果は、次のようになります。
・green ground texture
・wood plank texture
![](https://assets.st-note.com/img/1665734917630-gDMwCpMLEl.png?width=800)
"CompVis/stable-diffusion-v1-4" を "hakurei/waifu-diffusion" に変更することで、「Waifu Diffusion」のモデルでテクスチャを作成することもできます。
・cute hatsune miku wallpaper
・cute floral wallpaper
![](https://assets.st-note.com/img/1665734965249-1LvAFOWbh3.png?width=800)
5. 参考
この記事が気に入ったらサポートをしてみませんか?