首先,我不是专业编码员,但过去曾做过一些C#。我目前的Unity项目有问题。我从我的资源文件夹加载图像并在3D对象上渲染它们。问题在于我的nex纹理"按钮"应该看看变量" n"并根据图像文件夹中的顺序确定哪个图像作为纹理加载到3D对象上。目前,当我单击下一个图像按钮时,它会渲染下一个纹理,但仅针对文件夹中的前两个图像。之后它确实进入了我用debug.log检查的循环,但它不会将下一个图像渲染为纹理。代码如下:
对于下一个按钮(调用渲染纹理并更改变量' n'值):
void OnMouseDown() {
if (this.name == "NextTexture") {
LevelSelect.n=+2;
LevelSelect.RenderTextures();
}
if (this.name == "PreviousTexture") {
LevelSelect.n-=2;
LevelSelect.RenderTextures();
}
和图像到纹理渲染:
public static void RenderTextures(){
Mesh mesh = staticMeshFilter.mesh;
Vector3[] vertices = mesh.vertices;
Vector2[] uvs = new Vector2[vertices.Length];
for (int i=0; i < uvs.Length; i++) {
uvs[i] = new Vector2(vertices[i].x, vertices[i].y);
}
mesh.uv = uvs;
rend.material.mainTexture = loader.LoadImages ("images") [n];
transformTexture.renderer.material.mainTextureOffset = new Vector2(0.4f, 0.28f); // +0.1x
transformTexture.renderer.material.mainTextureScale = new Vector2(0.8f, 0.8f);
}
所以目前我很困惑我的代码如何以及为什么不将图像文件夹中的第3和第4个图像渲染为纹理。
干杯!