我为我的游戏编写了这段代码,我希望在Unity中翻转纹理。我有一个模型和一张贴图,希望贴图在球形模型内部而不是外部。我想通过移动相机浏览在球体内上下翻转后的贴图来创建360全景效果。
现在,当我第一次点击播放按钮时,它可以完美地运行,但当我停止并要再次播放时,我看不到棋盘和周围环境。
看起来每两次尝试播放才有效。由于我刚开始接触这个,我不知道我的错误出在哪里。
现在,当我第一次点击播放按钮时,它可以完美地运行,但当我停止并要再次播放时,我看不到棋盘和周围环境。
看起来每两次尝试播放才有效。由于我刚开始接触这个,我不知道我的错误出在哪里。
using UnityEngine;
using System.Collections;
public class InvertObjectNormals : MonoBehaviour
{
public GameObject SferaPanoramica;
void Awake()
{
InvertSphere();
}
void InvertSphere()
{
Vector3[] normals = SferaPanoramica.GetComponent<MeshFilter>().sharedMesh.normals;
for(int i = 0; i < normals.Length; i++)
{
normals[i] = -normals[i];
}
SferaPanoramica.GetComponent<MeshFilter>().sharedMesh.normals = normals;
int[] triangles = SferaPanoramica.GetComponent<MeshFilter>().sharedMesh.triangles;
for (int i = 0; i < triangles.Length; i+=3)
{
int t = triangles[i];
triangles[i] = triangles[i + 2];
triangles[i + 2] = t;
}
SferaPanoramica.GetComponent<MeshFilter>().sharedMesh.triangles= triangles;
}
}