I have a model in Blender with perfectly highres textures. I export it as fbx, import it to Unity, import textures to unity at full res (and no mipmapping, point, no compression, etc) and still the texture looks extremely blurred. Any hints why that might be?
Here's a comparison of the face in Blender vs Unity.
Here are the relevant, currently applied settings. I've tried many, but imho those (extreme) settings should make 100% sure that the texture is on maximum quality.
EDIT: Interestingly, a close-up image reveals a seemingly high detail on the clothes below the face, yet not on the face itself. Maybe that's just my imagination. Have a closer look here
Thanks for some help!
It's really hard to tell in the comparison shot you linked (as that itself is so low resolution), but the texture resolution looks the same. It doesn't look any more blurry in the Unity image.
To me it looks more like a shader + lighting issue. Are you using the Standard shader? Do you have additional maps that are not applied in the Unity material (like a normal map)?
Try lighting him with some point lights instead of just a hard directional light.
On a side note, 8192 is an absurdly high resolution for that guy. With how blurry the texture looks (in both Blender and Unity) you should be able to get the same detail with 512, at most 1024.
Related
I have this image generated thanks to PowerPoint:
We can see here, the image is not pixelated.
But when I import this in Unity 3D, the result is:
Here you can see the sprite's parameters:
Am I using the correct tool for my sprite creation? (PowerPoint)
If the answer is "No", which tool can I use for avoid this kind of problem?
If the answer is "Yes", how can I avoid this pixelization of my sprite in Unity 3D?
Thanks a lot for your help!
PowerPoint is not the best image editor :D But your sprite looks correct, possible you just set small scale in Unity Scene window for it.
Try increasing your sprite Scale in Scene window. Select it, next in Inspector increase X Y Z Scale parameters in Transform component (it should be on top).
I just tried your image in my Unity editor and it seems fine. Make sure your Sprite Renderer transform scale is set to (1,1,1). For me even that seems not to affect the quality but it is a best practice not to have different distorted scales for everything in your scene.
One tip for improving your sprite quality is to export it in a POT resolution. Meaning that the resolution of the image should be divisible with 4. This way Unity will be able to compress the image with a much higher precision and quality. One resolution example of that is 800x800 or 1920x1080 etc.
Make sure your build target is set to Standalone and not other platform. If you are set to Android for example. check the Android specific compression in your sprite import inspector. That might also affect the quality.
To answer your question on what image editor to use, the best one, in my opinion, is Adobe Photoshop. If you don't want to pay for it, just search for any free image editing tool. But stop using PP, I'm not exactly sure how you have come up with that.
I'm having trouble figuring out how to light up large area(s) of sprites in Unity 2D. My previous knowledge on Unity's lighting is zero.
I first tried using a large amount of point lights and using the "Sprites/Diffuse" material, but about only five would actually render at a time, so I guess there's a limit on that.
Then I tried putting in an area light. That didn't do anything, so that's when I started doing research about baked lighting on sprites (and baked lighting in general). I found stuff like this but I couldn't get it to work either because it's outdated or because I don't know what I'm doing. Other answers I've come across seem to assume that the reader knows anything about lighting in Unity in the first place which, to be honest, I don't. Unity's documentation website had some information on it, but no tutorials that go into how to set up baked lighting.
I've tried a bunch of different combinations of materials (like using the "Standard" shader for the sprites instead of "Sprites/Diffuse", emission, ect.) and I enabled "Baked Global Illumination" in Lighting>Settings.
If baked lighting isn't possible on sprites (or isn't worth the trouble), what are the alternatives?
Edit: I made sure not to have the lights pointing the wrong direction, and I do realise that Unity2D is just like painting onto a piece of paper in Unity3D. I was able to get point lights to work, but only a few at a time. I don't need to do the entire screen at once, I need to do a large specific area at once.
some tips...
working with sprites your in 2d... when you add a light, switch to 3d mode, and rotate to make sure your light is pointed at your objects, and oriented so as not to be on the same plane, or level with them, as this will cast all the light behind them.
if your trying to light up everything on the screen(in camera) attach an area light to the camera at the cameras position, point it where the camera points, and then in the inspector on the right, you can change its variables. intensity, range, width, height etc.
Emissive Texture:
https://www.youtube.com/watch?v=oa6kW5HhRd4
For some reason, I never even thought about going into the asset store. I found this for free, and it looks like it will work: Light2D.
Am using a 1024x1024 texture, which am mapping to a quad in Unity3d. The target platform as of now is PC standalone. This is how it looks:
You can see how pixelated and blurry the objects in the screen are, how can I make it more readable and less pixelated?
Import settings, quality settings and a screenshot of the scene with mip-map turned off here. The texture and the quad asset can be found here.
The image looks fine to me: it looks like a 3D video game.
Note that 1k is very small to use as a PNG for the texture for an object which will appear that large in your final scene.
Secondly click on the texture, and then Inspector.
Note particularly the "Max Size" setting, which indeed should be bigger than the literal size of your PNG. Learn about the "Mip Maps" concept as anim_it says. Also note your "Filter Mode". And indeed the "Texture Type". These settings all need to be "just right" for a given game situation.
Particularly read the two comments by Kolanda above which well-explain anisotropic handling: If you see an object at low angle, like a floor or your cards, it tends to lose texture resolution fast. Try to use "anisotropic" as your filtering mode and see if it helps - it was invented for such situations. As a test move the camera, to view the table from above, to separate texture-related issues from view-related issues.
You should probably include a screenshot of your Inspector for the texture, to get more detailed help. BTW the quad you are using is totally unrelated.
Remove the tic "Generate Mip Maps"
I'm creating an app to show 360 images with Cardboard.
I created a scene in Unity using Cardboard camera and sphere. I mapped 360-image to a sphere texture.
When viewing the texture is low quality and has sawtooths so the details are not good quality.
Any ideas to solve this texture problem? I tried a script which creates a different kind of sphere but it didn't solve the problem.
You need to use an icoshpere for this to work, you'll still gonna get some distortion near the polls, but it's far better than the uv ones that Unity provides.
The second thing is that you'll need a high detail icoshpere for this to work, as you'll need more vertexes.
The third thing is the textures quality and size. I think the default fov for Unity is around 60, but you'll map the texture for a fov of 360, so you'll need textures of higher size compared to the on screen texture you are using.
You can look over this article if you want more details about the differences between icoshperes and uv spheres, or just go to the bottom of the article and download the unity project. The project includes already made icoshperes and you can experiment with them to find out which one is best suited for your project. I'm using the Octahedron Sphere 4 R1. Any less polys and there are too many distortion, any higher one and the fps drops to much.
I have a model with 3 elements, each one has a different texture, when in real time everything looks awesome (both in designed and playing) but if I go and bake my lights I get the ugly mess you can see in the bottom part of the picture.
I'm pretty new to blender/unity. The game is aimed to android phones (google cardboard)
BAKED GI true
Using: Blender 2.7
Unity 5
Backed resolution 1 (increasing doesnt help)
Baked padding 2
Compressed true
Indirect Resolution 2
Ambient occlusion 0
I don't even know what parameters are really helpful here. Can someone help?
Setting Generate Lightmap in the importsettings should solve the problem.