Unity资源文件夹并在3D对象上加载下一个纹理

时间:2015-10-11 13:18:38

标签: c# unity3d

首先,我不是专业编码员,但过去曾做过一些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个图像渲染为纹理。

干杯!

0 个答案:

没有答案