表示テーマ
ParticlePaintReceiver Component
GPU Particleの描き込みを受ける表面とTextureの解像度を設定します。
設定する手順
- 描き込み先のGameObjectに追加し、UVまたは平面投影と解像度を選びます。
- SceneViewまたはGameViewで結果を確認します。
- 編集中のSceneまたはPrefabを保存します。
項目の説明
| 項目 | C#名 | 型 | 操作 | 定義時の初期値 | 意味 |
|---|---|---|---|---|---|
| 有効 | enabled | bool | 読取・変更 | true | このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。 |
| 投影方式 | projection | ParticlePaintProjection | 読取・変更 | ParticlePaintProjection::PlanarXZ | UVまたは平面座標などの投影方式です。 |
| Texture解像度 | resolution | uint | 読取・変更 | 512 | 描き込みTextureの解像度です。 |
| 投影範囲 | planarSize | Vector2 | 読取・変更 | {10.0f, 10.0f} | 平面投影の範囲です。 |
| 塗装の不透明度 | opacity | float | 読取・変更 | 1.0f | 描き込みの不透明度です。 |
Inspectorの設定と使い方
「Editor / C#」は両方から変更できる設定、「Editorのみ」は公開C# APIのない編集操作です。「Editor表示のみ」は計算結果や統計などの確認欄です。「C#のみ」は、このInspectorに編集欄のない操作です。
| 設定・操作 | 編集場所 | C#の入口 | 意味・使い方 |
|---|---|---|---|
| 投影方式・投影範囲 | Editor / C# | projection / planarSize | MeshのUVか平面投影で描き込み先を決めます。UVの重複箇所へは同じ塗装が現れる場合があるため、モデルのUVと合わせて方式を選びます。 |
| Texture解像度・塗装の不透明度 | Editor / C# | resolution / opacity / enabled | 描き込みTextureは32〜2048の編集範囲です。解像度を上げるほどメモリが増えます。Particle側のfeedback.paintも有効にします。 |
| 塗装を消去 | C#のみ | Clear | 実行中に描き込まれた内容を消去します。元のMaterialや元画像を削除する操作ではありません。 |
初期値はEngineのComponent定義時の値で、C++表記を含みます。C#へ貼り付ける実行例ではありません。既存Sceneの保存値や既定Assetがある場合はそちらが優先されます。数値の編集範囲はInspectorで制限される場合があります。
C#から使う
操作型はParticlePaintReceiverです。 GameObjectから取得する基本操作はGameObjectの操作を参照してください。以下には基本プロパティだけでなく、公開関数・追加の設定API・継承した共通操作も掲載します。
選択値(Enum)
| 型・各値の詳説 | 使える値 |
|---|---|
| ParticlePaintProjection | PlanarXZ / UV |
ParticlePaintReceiver
| 宣言・詳説 | 種類・操作 | 役割 |
|---|---|---|
public void Clear() | 関数 | 保持する要素・粒子・個別設定などを消去します。対象型の説明を確認してください。 |
public static ParticlePaintReceiver FromEntity(GameObject gameObject) | 関数 | 既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。 |
public static int componentTypeID | プロパティ(読取専用) | 組み込みComponentの接続識別子です。通常のゲームコードではGetComponentで取得します。 |
public bool enabled | プロパティ(読取・変更) | このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。 |
public float opacity | プロパティ(読取・変更) | 描き込みの不透明度です。 |
public Vector2 planarSize | プロパティ(読取・変更) | 平面投影の範囲です。 |
public ParticlePaintProjection projection | プロパティ(読取・変更) | UVまたは平面座標などの投影方式です。 |
public uint resolution | プロパティ(読取・変更) | 描き込みTextureの解像度です。 |
継承する共通操作:Component
継承する共通操作:Object
使用時の注意
Particle側のPaintを有効にします。MeshのUV重複は描き込みの重複として見える場合があります。
Play中の変更は実行用Worldへ反映します。Scene編集のUndoと実行中の値の変更は別です。保存方法は編集と実行時変更を参照してください。