🎥投影(Projector)機能の使い方

Projector機能は画像を3Dモデルに投影する機能です。

これにより生成した2D画像を3Dモデルに貼り付け3Dモデルの衝突判定や遮蔽を使用しながら2D画像で制作した絵柄を利用することが出来ます

下記サンプルのシーンとプレハブご参照ください

  • サンプルシーン

Assets/Plugins/Witchpot/Packages/Projection/Examples/Demo/Scenes/3DIsometricCityDemo

  • サンプルのプレハブ

Assets/Plugins/Witchpot/Packages/Projection/Examples/Demo/Prefab/Projector.prefab

3Dモデルの準備

Unity上でTerrainやAssetStore、ProBuilder、DCCツールなどを使用してステージを準備します

Depth/Normal to Imageによる画像生成

3Dモデルの形状に合わせた画像を生成、調整します。

細かい制作方法は下記 Text2ImgWithControlNetによる画像生成を御覧ください

Text to Image With ControlNet

Projector機能を使用して3Dモデルに投影を行う

CameraImageProjector.csコンポーネントを使用して画像を3Dモデルに投影します

下記プレハブを参考に設定を行ってください(そのままプレハブの利用が一番簡単です)

Assets/Plugins/Witchpot/Packages/Projection/Examples/Demo/Prefab/Projector.prefab

まず初めに投影する対象のオブジェクト(ステージとなる作成した3Dモデルのオブジェクト)に専用マテリアルを設定する必要があります。

MaterialApplyer.cs コンポーネントを使用するとカメラ範囲内のアクティブなオブジェクトに専用マテリアルが設定されます。※手動でマテリアルを設定することも可能です

CameraImageProjector.csコンポーネントのパラメータ設定は下記です

マテリアルが適用されていれば自動的に投影されます。

パラメータ内容

Texture Projection

投影するテクスチャを設定します。 投影したい生成した画像(StreamingAssets/StableDiffusion内)を任意のフォルダに移動してTextureTypeをSpriteにして設定してください

Camera Projection

画像生成に使用したカメラを設定します(位置・角度など設定が同じであれば別カメラでも使用可能です)

Projection Type

基本はGlobalで使用します。もし複数のProjectorを使用したい場合TargetRenderesを設定してください

Last updated