Hello, when I export a gltf file from the blender to the threejs, it looks very ugly even if I add lights, it receives them badly. Is there a way to get the same cycles rendering in Blender?
Is there a way to get the same cycles rendering in Blender?
short answer is no.
long answer: it depends, and it’s probably either complicated or costs you performance. you can see some solutions here: Performant soft shadows THREE Js
the ugly look from the get go is linear encoding btw. blender uses srgb colorspace. without turning a threejs project to srgb you will always have that cheap cgi look. see Color management in three.js that doesn’t change how harsh lights look but it’s the first step to good looking scenes.
ps. forgot to say, you can bake your scene in blender. this will give you cycles without the slightest loss of performance. but that’s only good for static scenes. the process is very complicated, but doable. bruno simons threejs journey course has a tutorial that is very detailed. it looks like this: Threejs journey - CodeSandbox
If you haven’t yet, try opening the model in a three.js-based viewer like https://gltf.report/, to get some idea what the model will look like with a good lighting and camera setup in three.js.
All online glTF viewers are going to use an environment map (see this example: three.js examples) which is a better lighting source for PBR materials than just point/spot/ambient lights.
But as drcmda comments, a path-tracer like Cycles is able to do more realistic renders “automatically” than real-time rasterizing engines like three.js. To get similar effects in a rasterizer you will need to do extra work like choosing lighting carefully, baking lights or shadows, etc. For a more specific answer you may need to share more details, e.g. a demo or the model.
I fixed some thing as you said thank you , but still i need to improve some thing thank you so much!
I will share it if i stuck , thank you for help