I’ve created a page-turning book script by taking a single texture and splitting into two and having it display on 2 different quad’s. Each quad shows only 1/2 the texture, but when they are next to each other the entire texture is shown. Then I can open and close the book just by rotating the quads. This works fine in Unity and I also didn’t have any problems when I ported it to a Windows Store app.
But when I ported it to my iPhone the texture doesn’t get scaled correctly. The image is smaller and the top and right edges of the image get stretched to the edges of the quads which causes these long streaks.
Here is my code for loading the texture:
private void LoadPageTexture(Texture texture, GameObject page, bool isFront, bool isLeft)
{
GameObject pageContent;
if(isFront)
{
pageContent = page.transform.FindChild("ContentFront").gameObject;
}
else
{
pageContent = page.transform.FindChild("ContentBack").gameObject;
}
pageContent.SetActive(true);
float offX = 0;
if(isLeft)
{
offX = 0;
}
else
{
offX = 0.5f;
}
Material ma = pageContent.GetComponent<MeshRenderer>().material;
ma.mainTexture = texture;
ma.SetTextureScale("_MainTex", new Vector2(0.5f, 1));
ma.SetTextureOffset("_MainTex", new Vector2(offX, 0));
}
See the following images (first is iOS, second is what it’s supposed to look like):

Any ideas why I am having the problem with scaling on the iOS only?