Enable Shadows turns on shadow casting on lights, it does not darken reflections if lights are casting shadows on objects receiving the reflection probe. Create a reflection probe in a room with a light outside casting in and enable shadow on the reflection probe.
I am wondering how this works in a room with multiple mirrors. Would I have to use also multiple probes layering each other with same position and same extents, but each one with a different offset (to match all mirrors' positions)?
I really should have covered that.. crap! The best method is to have one probs for each mirror. With them overlapping slightly. If you duplicate and cover the same area with your bounds it will duplicate the reflected object so in this case if you had one for the room and one for the mirror you will have 2 tubs in your mirror. So to prevent that you need to use your visual instance and masks to help mitigate that. When there is an overlap it will attempt to blend between the bounding boxes so you may see a little bit of blur as it transitions to the other reflection probs.
@@FinePointCGI How about this- create a script on the reflection probe, where on ready, you create an array with all objects in the scene labelled as "-mirror" (check name string maybe?) Then, on frame update, check proximity of the main camera to these mirrors, and position the offset to the origin transform of the closest mirror. Or even better, instead of camera position, use a camera child node3d placed around 1m in front of camera. This would ensure that the closest mirror would be the one closest to that reference node.
I wonder if they also gave the option to update every few frames. So not only can update once, or always, but you can also update every 30 frames or a few intervals, so to be the best of both accuracy and performance.
It's possible (but clunky) to setup yourself, the docs says the following: "You can force a ReflectionProbe update by moving the ReflectionProbe slightly in any direction." So use a timer and nudge the probe back and forth, or count frames in _process. Would have been nice to have a method to trigger a manual update instead though.
oh jeez! Not so long ago i decided to make my own engine based on godot 4.0.3, basically, just a modified version. The reasons were that godot doesnt have many tool and has some stuff i didnt like. One of them was the fact that godot didnt have cubemapsProbes built in. Now watching your video, realising that, in fact, they were in godot long time ago im in philosophical dabate with myself whatever i should keep doing stuff or not. sorry for bad writing, kinda in a rush here.
also its wierd that cube projection doesnt have a parallax corrected cubemap. it works EXACLTY like it would but for some reason you still need to adjust it like typical sphere-like cubemap.
Hi, i'm trying to make a realistic 3 rooms interior scene, i'm using an hdri, directional light for the sun and a giprobe to bake lighting, ideally i set the reflection as interior, but it get everything flat and washed out if i change the default black ambient color into the probe, like i selected an unlit preview. If i keep it deselcted it's fine but the mirror effect faint.
Try rebaking your light and or probes Godot vers very finicky when you have both. For fps in your view port upper left hand corner there's three dots click on those halfway down that menu is view FPS
@@FinePointCGI I tried, but it's an all or none :D It's funny because i have a pan on the kitchen with the same material of the two mirrors, 1 metallic 0 roughness, and the pan have a nice and crisp reflection, the mirrors are like a frosted glass, i have to go right near the mirror to see somer eflection in the mist. maybe depend by the size of the mesh? Or it's the gi probe messing? I have ssr enabled too, or it's redundant with the refl probes? I'm new to Godot, i started a couple of days ago so i'm still testing things out.
Does anyone know why the game window flickers with a green overlay at run when using reflection probes? Without its not flickering…just like its loading something for a millisexond…
I really should have covered that.. crap! The best method is to have one probs for each mirror. With there bounds overlapping slightly. If you duplicate and cover the same area with your bounds it will duplicate the reflected object so in this case if you had one for each mirror and they overlap the the mirrors you will have 2 tubs in your mirrors. So you dont want the bounds to overlap a lot just a tiny bit. When there is an overlap it will attempt to blend between the bounding boxes so you may see a little bit of blur as it transitions to the other reflection probs.
@@FinePointCGI if you have more than one reflective surface the reflecsions will look incorect.Adding reflection probe as a child to camera will result in reflections looking good everywhere and it will starts updating 1/5th of frames or updating realtime if update mode is set to allways
That is a good way to do it. The only issue with that method is distance if you have a larger scene doing that update is going to be very expensive since it's going to raycast for a huge distance. I think a balance between the two may be the way to go.
@@FinePointCGI You can change the distance in the editor and without this method i dont really see how can you recreate reflection for somthing like a moving metalic car
@@moioyoyo848 You are correct using that method would work for cars but you still need environment reflections. How I would handle car reflections is attach a reflection probe for the car that updates ever x frame at a medium/small distance then I would have reflection probes that are baked for the environment itself that way at a distance you still have some gi and reflections.I think both methods have there uses and it is a great suggestion that I will need to cover in the future.
Love all these tutorials, they really help. Keep at it man! Much appreciated
You can use max distance so you can affect the lighting inside your extend but raycast outside with max distance so you can see object further
Oh really? Ive never used it like that! Thats really cool!
Enable Shadows turns on shadow casting on lights, it does not darken reflections if lights are casting shadows on objects receiving the reflection probe.
Create a reflection probe in a room with a light outside casting in and enable shadow on the reflection probe.
Well explained tutorial.. Thank you..
You have explained it very well. ❤😊
I am wondering how this works in a room with multiple mirrors. Would I have to use also multiple probes layering each other with same position and same extents, but each one with a different offset (to match all mirrors' positions)?
PS: nice video as always. 👍
I really should have covered that.. crap! The best method is to have one probs for each mirror. With them overlapping slightly. If you duplicate and cover the same area with your bounds it will duplicate the reflected object so in this case if you had one for the room and one for the mirror you will have 2 tubs in your mirror. So to prevent that you need to use your visual instance and masks to help mitigate that. When there is an overlap it will attempt to blend between the bounding boxes so you may see a little bit of blur as it transitions to the other reflection probs.
@@FinePointCGI How about this- create a script on the reflection probe, where on ready, you create an array with all objects in the scene labelled as "-mirror" (check name string maybe?)
Then, on frame update, check proximity of the main camera to these mirrors, and position the offset to the origin transform of the closest mirror.
Or even better, instead of camera position, use a camera child node3d placed around 1m in front of camera. This would ensure that the closest mirror would be the one closest to that reference node.
I wonder if they also gave the option to update every few frames. So not only can update once, or always, but you can also update every 30 frames or a few intervals, so to be the best of both accuracy and performance.
So they don't that's one of my major complaints.
It's possible (but clunky) to setup yourself, the docs says the following: "You can force a ReflectionProbe update by moving the ReflectionProbe slightly in any direction."
So use a timer and nudge the probe back and forth, or count frames in _process.
Would have been nice to have a method to trigger a manual update instead though.
That's not ideal lol
@@FinePointCGI Agreed. I haven't looked if there's an issue for this, it's not something I care enough about to add either way though.
can I use as mirror to reflect Player? or reflection of water in floor.
what I need to do is make sure to assign cull mask for player right?
If you want to only reflect the player yes you can do that
oh jeez! Not so long ago i decided to make my own engine based on godot 4.0.3, basically, just a modified version. The reasons were that godot doesnt have many tool and has some stuff i didnt like. One of them was the fact that godot didnt have cubemapsProbes built in. Now watching your video, realising that, in fact, they were in godot long time ago im in philosophical dabate with myself whatever i should keep doing stuff or not.
sorry for bad writing, kinda in a rush here.
also its wierd that cube projection doesnt have a parallax corrected cubemap. it works EXACLTY like it would but for some reason you still need to adjust it like typical sphere-like cubemap.
Hi, i'm trying to make a realistic 3 rooms interior scene, i'm using an hdri, directional light for the sun and a giprobe to bake lighting, ideally i set the reflection as interior, but it get everything flat and washed out if i change the default black ambient color into the probe, like i selected an unlit preview. If i keep it deselcted it's fine but the mirror effect faint.
On a side note, how do you show pfs in the editor? I can't find any options.
Try rebaking your light and or probes Godot vers very finicky when you have both.
For fps in your view port upper left hand corner there's three dots click on those halfway down that menu is view FPS
@@FinePointCGI I tried, but it's an all or none :D
It's funny because i have a pan on the kitchen with the same material of the two mirrors, 1 metallic 0 roughness, and the pan have a nice and crisp reflection, the mirrors are like a frosted glass, i have to go right near the mirror to see somer eflection in the mist. maybe depend by the size of the mesh? Or it's the gi probe messing? I have ssr enabled too, or it's redundant with the refl probes?
I'm new to Godot, i started a couple of days ago so i'm still testing things out.
Are the probes still relevant in godo4, with the new renderer?
Always, you can use them with baked lights
Yes baked lighting does not give you reflections so you need to use reflection probes for the reflections of your scene.
Does anyone know why the game window flickers with a green overlay at run when using reflection probes? Without its not flickering…just like its loading something for a millisexond…
YEEEEESSSSSS!
I wonder what would happen if we scripted the reflection probe to follow a character
what if i have two mirrors in the scene? Do I use 2 reflection probes?
I really should have covered that.. crap! The best method is to have one probs for each mirror. With there bounds overlapping slightly. If you duplicate and cover the same area with your bounds it will duplicate the reflected object so in this case if you had one for each mirror and they overlap the the mirrors you will have 2 tubs in your mirrors. So you dont want the bounds to overlap a lot just a tiny bit. When there is an overlap it will attempt to blend between the bounding boxes so you may see a little bit of blur as it transitions to the other reflection probs.
How does it work when the ReflectionProbe is a child of a camera node? For instance I'm seeing it being used as a child of an FPS camera.
You would need to refresh the probe as the player moves our the reflections would be static and moving around with the player and would not make sense
Welp TH-cam release this one eairly on me I must have missclicked!
Your logic breaks whe you have more than 2 reflective surface
Hey! Im not sure what you mean I would love to learn more. If my logic is faulty I want to know how I can do better!
@@FinePointCGI if you have more than one reflective surface the reflecsions will look incorect.Adding reflection probe as a child to camera will result in reflections looking good everywhere and it will starts updating 1/5th of frames or updating realtime if update mode is set to allways
That is a good way to do it. The only issue with that method is distance if you have a larger scene doing that update is going to be very expensive since it's going to raycast for a huge distance. I think a balance between the two may be the way to go.
@@FinePointCGI You can change the distance in the editor and without this method i dont really see how can you recreate reflection for somthing like a moving metalic car
@@moioyoyo848 You are correct using that method would work for cars but you still need environment reflections. How I would handle car reflections is attach a reflection probe for the car that updates ever x frame at a medium/small distance then I would have reflection probes that are baked for the environment itself that way at a distance you still have some gi and reflections.I think both methods have there uses and it is a great suggestion that I will need to cover in the future.