私はユニティスフィアを作成し、アルベドテクスチャで標準物質を適用しました。今、私はここでメッシュ回転中の奇妙なアーティファクト
(これはテクスチャを回転させる最も単純な方法であるように見える)、メッシュUVを回転させるようにしようとしているコード
using UnityEngine;
public class GameController : MonoBehaviour {
public GameObject player;
public float rotationValue;
void Start() {
Mesh mesh = player.GetComponent<MeshFilter>().mesh;
Vector2[] uvs = mesh.uv;
mesh.uv = changeUvs(uvs);
}
private Vector2[] changeUvs (Vector2[] originalUvs)
{
for (int i = 0; i < originalUvs.Length; i++)
{
originalUvs[i].x = originalUvs[i].x + rotationValue;
if (originalUvs[i].x > 1)
{
originalUvs[i].x = originalUvs[i].x - 1f;
}
}
return originalUvs;
}
}
これは私にこの奇妙なアーティファクトを与えています。私は間違って何をしていますか?
'changeUvs()'の条件を削除します。ユニティは[0,1]以外の範囲をサポートでき、[0.95,1.05]は[0.95,0.05]になるので、テクスチャを伸ばします。 – pleluron