I recently downloaded a train model of the internet that came with a texture map and UV unwrapped. The train looks fine in EEVEE, however the texture looks completely different when switching to a cycles render.
Since they are different rendered the results may vary… this may be for example be a different lighting differently used in the differrent engines ??
( docs.blender manual 3.6 render eevee lighting )
…or any other global light…
You may have to elaborate this to get a more suited answer.
A lot of the difference in your examples is due to lighting. In Eevee Hdri’s and environment textures do not cast shadows, (only actual light objects cast shadows), in Cycles they do, it looks like your Cycles render is in the shadow of the environment lighting.
If you are using an hdri then the cycles render is in the shadow (has the sun behind the train), the Eevee render will not have that shadow.
While I hope that @DNorman’s response is adequate enough to explain why there is a difference between your scene in Eevee and Cycles, I just wanted to share a couple resources to keep in mind when working with both engines so that you can foresee and, hopefully, work around the engines’ differences.
No. I am graphic programmer, and Eevee never can look better, it is impossible. Eevee result can looks good, if it uses right, but never look better than Cycles, if Cycles does not use very bad.
I think it’s pointless to use terms like, “better.” These two built-in renderers are very different in their entire concept and approach, “soup to nuts.” You can, with suitable care, get very good results from either one. But, do not expect to “simply, take” a setup that is designed for one renderer and use it in the other. Because, you will indeed “design it.” You have to know how each render engine approaches the same objective, and give it what it needs.
I routinely use EEVEE because my computer overheats when I use Cycles. I’ve learned to produce "easily good enough" renders with it, and I get the work done at a reasonable pace. My goal isn’t to fool you into thinking that you are looking at a photograph. My goal is to depict something using a visually-pleasing (and, accurate) image. Which EEVEE very easily does, and fairly quickly, and without overheating anything.
Thanks to everyone for your help.
Just clarifying some information:
My goal isn’t to figure out which one looks better, as I already plan on using Cycles
I’m trying to understand why when I’m looking in the material preview/EEVEE, it seems as though the image texture is mapped completely differently. (Look at the copper rim on the EEVEE render, which doesn’t seem to exist on the Cycles render, or at the wood on the right of the render, which looks black in Cycles)
After checking the UV Map, the EEVEE map seems to be the correctly mapped one.
I don’t think it’s just a lighting thing, because I tried doing the Cycles render with much brighter lighting on the wheel to test, and still couldn’t get it to look remotely similar.
The train uses a simple UV texture where all of the parts are UV mapped onto one tile image.
The only thing I can think might cause the problem is that I separated the train model that was originally one Mesh into all of the separate objects, however I don’t see why that would work in EEVEE and not Cycles
If you place a point light next to those elements, do they become visible in Eevee? If the copper and wood stay completely black even with a light directly shining on them, you will know the problem is actually in the material.
However, I am thinking it could also be because of Eevee’s lack of indirect light and accurate reflections.
It could be something with the recognition of the UV attribute, I remember that sometimes between eevee and cycles there are errors there. If you can, could you share a part of the model (perhaps the wheel with the error) and a texture to better see the problem?
Well, something is weird here, because I don’t see why the material would react that way even as a non-metal. I would probably need to see the scene to understand.
Also, the “metallic” is usually intended to be set either to 0 or 1, not in between .