2
\$\begingroup\$

I'm trying a really simple test in Unity 3D. I want to render a texture on the simplest plane possible.

So, I've created a two-triangle plane in Blender, then imported it into Unity. From there, I put that mesh on a GameObject, and then drop a texture on top of that. Every time I do this, the texture is rotated 90 degrees when drawn on the plane.

By contrast, if I just create a plane in Unity and drop the texture on that, it is not rotated.

Here is a screenshot showing the simple plane in front of the stock Unity plane:

http://cl.ly/0X052y1G0L1G0a181M1d

I noticed that the triangles in the stock Unity plane's mesh are oriented differently than the ones in the mesh I created (the hypotenuses go from bottom-left to top-right instead of bottom-right to top-left). I went into Blender, rotated the plane 90 degrees, then reimported it unto Unity, but it doesn't seem to make a difference.

What am I missing here?

\$\endgroup\$

1 Answer 1

2
\$\begingroup\$

You seem to be missing the UV mapping stage. You have to specify texture coordinates in your modeling program.

\$\endgroup\$
1
  • \$\begingroup\$ Thanks for answering! I was missing UV mapping and tried to set it up, but I had a lot of trouble finding a tutorial that matched my Blender version. Eventually, I found this: answers.unity3d.com/questions/26831/… Which explained that Blender and Unity orients their axes differently. Just rotating on export appears to be the simplest way to fix this. \$\endgroup\$
    – Jim
    Dec 15, 2011 at 3:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .