表示テーマ
UVTransform Component
Rendererへ渡すUVの位置・回転・拡縮を設定します。
設定する手順
- Textureを持つRendererと組み合わせ、UVを移動・回転します。
- SceneViewまたはGameViewで結果を確認します。
- 編集中のSceneまたはPrefabを保存します。
項目の説明
| 項目 | C#名 | 型 | 操作 | 定義時の初期値 | 意味 |
|---|---|---|---|---|---|
| 位置 | Position | Vector2 | 読取・変更 | Vector2::AnyInit(0.0f) | 位置のオフセットです。 |
| 回転 | Rotation | float | 読取・変更 | 0.0f | 回転です。 |
| スケール | Scale | Vector2 | 読取・変更 | Vector2::AnyInit(1.0f) | 拡縮倍率です。 |
Inspectorの設定と使い方
「Editor / C#」は両方から変更できる設定、「Editorのみ」は公開C# APIのない編集操作です。「Editor表示のみ」は計算結果や統計などの確認欄です。「C#のみ」は、このInspectorに編集欄のない操作です。
| 設定・操作 | 編集場所 | C#の入口 | 意味・使い方 |
|---|---|---|---|
| 位置・回転・スケール | Editor / C# | Position / Rotation / Scale | 物体のTransformではなくTextureのUVを動かします。位置はUV上のずらし、Scaleは貼り方の倍率、回転は度数です。TextureのSamplerがRepeatかClampかでも端の見え方が変わります。 |
初期値はEngineのComponent定義時の値で、C++表記を含みます。C#へ貼り付ける実行例ではありません。既存Sceneの保存値や既定Assetがある場合はそちらが優先されます。数値の編集範囲はInspectorで制限される場合があります。
C#から使う
操作型はUVTransformです。 GameObjectから取得する基本操作はGameObjectの操作を参照してください。以下には基本プロパティだけでなく、公開関数・追加の設定API・継承した共通操作も掲載します。
実用例:川やベルトのTextureを流す
Textureを持つRendererとUVTransformのあるGameObjectへ追加します。画像を繰り返すにはSamplerをRepeatへ設定します。
cs
using NEMEngine;
public sealed class UVScroll : MonoBehaviour {
[SerializeField] private Vector2 speed = new Vector2(0.2f, 0.0f);
private UVTransform? uv;
void Start() {
// Textureの座標を変更するComponentを保持
uv = GetComponent<UVTransform>();
}
void Update() {
// 長時間動かしてもUV値が大きくなりすぎないよう周回
if (uv == null) return;
Vector2 position = uv.Position + speed * Time.deltaTime;
position.x -= MathF.Floor(position.x);
position.y -= MathF.Floor(position.y);
uv.Position = position;
}
}UVTransform
| 宣言・詳説 | 種類・操作 | 役割 |
|---|---|---|
public static UVTransform FromEntity(GameObject gameObject) | 関数 | 既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。 |
public Vector2 Position | プロパティ(読取・変更) | 位置のオフセットです。 |
public float Rotation | プロパティ(読取・変更) | 回転です。 |
public Vector2 Scale | プロパティ(読取・変更) | 拡縮倍率です。 |
public static int componentTypeID | プロパティ(読取専用) | 組み込みComponentの接続識別子です。通常のゲームコードではGetComponentで取得します。 |
継承する共通操作:Component
継承する共通操作:Object
使用時の注意
Transformは物体、UVTransformは画像の貼り方を変えます。
Play中の変更は実行用Worldへ反映します。Scene編集のUndoと実行中の値の変更は別です。保存方法は編集と実行時変更を参照してください。