This is prolly just a n00b thang, but I can’t crack it and it’s doing my head in.
I made a very quick low-poly model in Blender as a place holder for some Unity Testing.
It “renders” fine in Blender, but imports with empty materials in Unity and displays with half the faces invisible.
I tho’t this was a Unity-Blender Import issue, as it “rendered” as expected in Blender. BUT - then I noticed in “textured” mode, it was incorrect in Blender as well.
I’ve checked (or so I think) normals. I’ve recalculated them (in and out), I’ve flipped them, I’ve invited them out for a pint. Checked for duplicates…
I did make this model in quadrants, as it was symmetrical - doing 1/4, mirroring, then adding the bow, then mirroring again, but if that were the problem, you’d expect mirror problems, not opposite checkerboarding…
I’m not so sharp on Materials and Textures, so I’m sure I’m missing something. I’ve followed several steps from blender tutorials and hit a brick wall on #blenderchat (makes me happy that Unity attracts such good people…).
Here’s the screen cap with the various modes showing the issue and the expected render.
The Renderer in Blender uses the materials system, but Unity only reads the UV information from the model. So, if you have good normals and a material aplyed you will get a good render, as you did. But for using the model inside Unity you don´t need any material at all, you need to set up the options at the “Texture Face” tab from the buttons window in Edit mode…
In Edit mode, switch to face select mode and select all. Make sure you have a face re-selected to turn it the Active one. Then setup the needed options at the Texture Face tab (usually Tex, Light, Collision, Shadow and Opaque), which are asigned by default to the active face only. Finally go back to the 3D view and, still with all the mesh selected, press Control + C to get the Copy Face Selected menu. I usually use it first to copy the Active mode and then again for Active Transp.
As for getting “empty” materials, it happens usually and not only with Blender. But all you need to do is to drag and drop the textures on the materials once, then they will be remembered.
I need to sit down and rtfm about some of these issues. I clearly don’t know what the “recalculate normals” actually does. >_< It certainly didn’t, and doesn’t, simply fix my normals. I got so frustrated I finally tried manually flipping some of the faces, and it solved the invisibility problems. After thinking about it - the normals as a checker board make sense with the mirroring technique. 1st quadrant out, second quadrant in, third out, fourth in. There are still some flipped normals in the detail work on the ends, but it’s unimportant for testing…
I’m not sure how some of the normals in the end pieces got randomly flipped. This was probably in my vain use of “recalculate normals” I was doing. I’ll have to think thru a workflow based on mirroring, if every time it will screw with the normals… (I guess dupe, mirror, flip every time? But I’ve never had this happen in any of the tutorials I’ve done with mirroring…)
When it comes to the materials, you are correct, all I needed to do was import the image file and re-attach it.
I have my test object now, but clearly is draws differently in Unity than Blender (rtfm @ Unity Shaders?) and the textures seem to be applying in quadrants rather than on the object as a whole (rtfm @ blender?).
Little Angel adjusts his pack as the peers down into the valley that’s crossed his path on the climb up the mountain.
“I wonder if anyone down there will have any biscuits, or perhaps a cup of tea…”
Gus: Thanks for the suggestions. It’s made me realize I need to rtfm @ UV mapping. (Unwrapping this object out of curiosity made a painful pile of spaghetti…)
Kattkieru: Seems like a waste to post the file now, but when I really hit a brick wall, I’ll take you up on the offer! Raincheck? (~.^)