Add it to your asset browser! Link: robinsquares.gumroad.com/l/focalrig Make sure to mark the camera itself as an asset. All the other elements will follow. Some people say that doesn't work, and I don't know what's going wrong for them. But if that's you, mark the whole collection as an asset. When appending that collection from the asset browser, uncheck "instance" in the context menu that pops up. (the little window on the bottom left of the 3D viewport.)
Brilliant! When I saw this I started looking for how much this was going to cost. Surprise, surprise! You are donating this to everyone. Thank you so much!
This is brilliant. You can also add another empty in front of camera, and add constraint Dumped Track to it (-Z) on parent. Now camera will orbit around empty. Very useful to put empty on your object and orbit around, picking the best angle.
@@verydisc33tthe empty functions like a lock to target. So you can keep the camera steady. But when you move the empty. The camera tracks the empty. I also use this method a lot. You can also use this same empty as a depth of field target then.
A hidden gem! You have the ability to break down complex topics into easily digestible pieces. Your explanations are both intelligent and entertaining, making learning a fun experience. Thanks a lot
Wow, so simple yet extremely effective; I wonder if the developers can be persuaded to build this rig into the cameras in Blender by default? It is certainly going into my default Blender scene file. Thank you!
Mathematical fun fact: when you implemented the scale into the driver, instead of "distance*36*(1/scale)" you could have just divided by scale like so: "distance*36/scale".
I'm going to expect these intros for every single coming video, and it makes me even more excited for all of them. Keep up the amazing content! I learn a bunch of new tools and techniques every time
This looks somewhat more user friendly once you finish setting it up, but Blender does actually already have camera rigs built in, one of which uses the same sort of driver set up as here. You have to enable the addon (or install the extension in 4.2+) Add Camera Rigs, which'll expand the list of cameras you can add to the scene in the shift - A menu. The 2D Camera Rig has the same sort of controls as this one, plus a toggle in the Camera Rig dropdown menu in the Item N-Panel tab to switch between rotation and shifting, where setting it to Shift will utilise the camera's Shift X and Y fields to obliquely compensate for panning the camera left and right or up and down. They are bone rigs, so you have to enter pose mode to use the controls, and the camera settings are exposed in that same dropdown menu, so you don't have to keep coming in and out of pose mode to select the camera again. The corner frame (bone widget) controls should be kept level with each other on the camera's Y plane as well, according to the docs. It's worth that you will still need to enable the Camera Parent Lock checkbox for direct control same as here, though, which the rigs don't automatically do. This bypasses the drivers, though, which are driven by the rig controls, so there is that to keep in mind.
Awesome timing! I was struggling with that for the Dolly Zoom effect and divided to create the rig and went to bed last night. And saw this tut when I woke up this morning. Magic! Thanks! 🙏
I know that I'm late to the party but this Camera Parent Lock thing is awesome. It lets you even use blender's "Fly Mode" - it blocks your mouse movements, but you can adjust your camera position with WASD keys. Normally when you use TrackTo constraint it blocks you from adjusting the camera's view that way because of the constraint. Of course you need to have a null with camera as a child that's tracking another null (your target). BTW. Your camera rig is also brilliant of course :)
Genius. That's a prototype for a new camera in 3D, and as if camera aren't already freakn creamy smooth kick ass already. Cameras in Blender just got even better! (I'm shouting from my office window)
Very cool, thank you. I added the sensor width as a variable in the expression so that if I change the camera preset and the sensor size changes, it will still work. I had trouble with this at first, getting an "invalid python expression" error if I just tried copying the path from the settings. Using " *data.sensor_width* " as the path worked for me.
For anyone using imperial as their scene units, you must multiply the distance in the camera driver by 3.281. The driver equation should look like '(distance * 3.281) * 36.0'
Thank you! I was having this issue, as I live in Ohio, so I've set my Blender defaults to Imperial. Apologies to my fellow creators across the globe; I don't know Metric, even though I'm told it makes more sense (and I have no doubt that it does). Unfortunately, I was born into a country that insists on making things harder, because here we use the alias of "Patriotism" for our Narcissistic Personality Disorder.
scaling the whole thing is useful because you want your plane aligned with your subject (at least sometimes) and if it's too small it's not good. So scaling is actually usefull. I copied your rig and been using it.
Fantastic! Instead of DIY hack, this should be the next default blender camera... + built in option with turn on/off or pick target instead of adding constraint.
The camera rigs addon that ships with blender has this ability. It just needs to be enabled and added to a scene. My preference is just to use empties with a focal length and target vector. But I do think your idea is intuitive. And clearly lots of people seem energized by it.
Nice upgrade of this rig is this: add new control empty where camera supposed to point by adding to the empty sphere of camera a "Track To" Constrain with target to the newly created empty :o
Amazing video with brilliant solution! you my friend certainly know how to look at things from a different angle and find a solution for it!!! thanks for sharing it
if you could adjust the aspect ratio by using scale this rig would be near perfect. As a guy who makes concept art and matte paintings for animation, having a variable aspect ratios on this rig would be a godsend, but i cant figure out a way to drive the aspect ratio and input a resolution without it being cumbersome. EX: If i wanted it to be 1:1 at 1080p i could scale the rig and then input the x resolution at that ratio
Very nice idea and execution. I dont know much about blender rigging (comming from maya) but a very nittpicky thing is that by pure chance the scale of the plane would go to 0, what would happen with the rig? There must be a way of clamping the value. Thank you for the excellent tutorial!
hahaha the intro is EPIC and then you saying "it´s just a camera rig" is a LOT more EPIC hahahaha now this is a really cool idea to manage the camera on the viewport!!
Excellent! Thanks for this, Robin! For 3.4.0 ERROR. Copying Copy Data Path will give you "scale" which is actually wrong. You need to add the "[0]" by hand. In case you need to know the index of [x] by copying the Full Data Path and erasing the rest except scale[index].
Great vid. Can you actually show a use case or how to use it in a scene or your workflow? I imagine it's not ideal for every scenario but, I am fairly new to using the camera in Blender. subscribed
👍🏻 This is an extremely educational post, especially for newbies (like me). With a little practice and repetition, I'll soon be promoted to "Alfred Hitchcock's camera assistant" 😉. Thank you for that.
There is an addon that focal locks your camera so you can change the lense and its automatically changing the distance of the camera to the focal point
Thanks for the amazing tutorial - I'm finding the only way of saving it - is to save the whole thing as a Blender scene. When I mark (all of it) as an asset only one of the components appears in the asset browser and if I mark the whole collection as an asset it restores it as a fused combination that cannot be adjusted. I'm using Blender 4.2. If you could pin a quick explanation of how to save it that would brilliant. Thanks!
Done! Mark the camera itself as an asset. If you want to append a collection, you can do it "un-fused." When you drag it into the viewport, the little window on the bottom left has a checkbox for "instance." Turn that off.
Perhaps adding camera data in the camera view helps a user. So when you look through the camera you see focal length, aspect ratio and what not. This can all be done with drivers as well. Im going to test this theorie and make this into aarmatire so all animatrd parts are also in one action file and not one for every empty
Hi @robinsquares, this is a great tutorial. It would help us a lot if you could show how to do the same thing on all axes, including Shift X and Y. I tried it with a friend, but there are too many interferences, and we can't find the right drivers to make the distance and scale work properly on all axes. Do you think it's possible?"
It works! The reason it breaks is that moving it on the X and Y axes changes the distance to the camera, as you noticed. So replace the distance function with one that references the control plane's Z location (relative to the master empty) and then just hook up X and Y to the offset sliders. 1m movement equals 1 in the offset.
I would suggest makijg an armature with custom bone props. This way if you animate it, its in one single action file. If you use empties. You get tons of actions files and its one big mess
I would Also add x and y transform to mimic camera shift. I get so many ideas for this. I have the addon save-cam and have added all camera data. This addon allows to easily switch camera positions and all settings. No need to add tons of cameras. Just record all settings. I'm gonna check if 8 can combine bother of these into one addon
I love this camera rig and I'm using it on a project but I cannot make it work, as I want the camera to rotate from the 3D cursor, I tried parenting it to an empty because transforming pivot point doesn't seem to do the trick. Any idea how to solve this? Thanks in advance!
Add it to your asset browser! Link: robinsquares.gumroad.com/l/focalrig
Make sure to mark the camera itself as an asset. All the other elements will follow.
Some people say that doesn't work, and I don't know what's going wrong for them. But if that's you, mark the whole collection as an asset. When appending that collection from the asset browser, uncheck "instance" in the context menu that pops up. (the little window on the bottom left of the 3D viewport.)
I tried it but it only brings the sphere empty....
@@danialsoozani You must put all in a collection and mark that collection as Asset.
@@danialsoozani You need to mark the camera as the asset, not the rig controller. Assets work up parent trees, not down them.
I'm going to be doing more than that, I replaced my start up file camera with this one!
@@danialsoozani I try it ,it's ok.
Ducking genius
Well, that's quite an endorsement right here...
Ur also genius
❤❤🎉🎉🎉🙏 thank you and him for all the free knowledge
Hi all
Starts recording, gives straight up value, ends the recording
What a chad
giga chad
Great video! 10 years in Blender, and I never knew about the "Camera parent lock" option.
me neither
Yeah, that was gold!
Ingenious. This should get a default in Blender.
Brilliant! When I saw this I started looking for how much this was going to cost. Surprise, surprise! You are donating this to everyone. Thank you so much!
It's also worth paying for such useful info! Watched the video and still bought it. 😊
This is brilliant. It's the sort of functionality that should be built into the core Blender camera. That's how good it is. 🙌
This is brilliant.
You can also add another empty in front of camera, and add constraint Dumped Track to it (-Z) on parent. Now camera will orbit around empty. Very useful to put empty on your object and orbit around, picking the best angle.
i not follow what you say, can you pls show pls? may be it can solv my cam anim problem. this tutorial already a big life save :)
@@verydisc33tthe empty functions like a lock to target. So you can keep the camera steady. But when you move the empty. The camera tracks the empty. I also use this method a lot. You can also use this same empty as a depth of field target then.
Excellent tip.
A hidden gem! You have the ability to break down complex topics into easily digestible pieces. Your explanations are both intelligent and entertaining, making learning a fun experience. Thanks a lot
Wow, so simple yet extremely effective; I wonder if the developers can be persuaded to build this rig into the cameras in Blender by default? It is certainly going into my default Blender scene file.
Thank you!
Mathematical fun fact: when you implemented the scale into the driver, instead of "distance*36*(1/scale)" you could have just divided by scale like so: "distance*36/scale".
Camera parent lock option is soooo neat!!!
Absolutely fantastic! Thanks Robin.
I'm going to expect these intros for every single coming video, and it makes me even more excited for all of them. Keep up the amazing content! I learn a bunch of new tools and techniques every time
Brilliant. Thank you!
This looks somewhat more user friendly once you finish setting it up, but Blender does actually already have camera rigs built in, one of which uses the same sort of driver set up as here. You have to enable the addon (or install the extension in 4.2+) Add Camera Rigs, which'll expand the list of cameras you can add to the scene in the shift - A menu. The 2D Camera Rig has the same sort of controls as this one, plus a toggle in the Camera Rig dropdown menu in the Item N-Panel tab to switch between rotation and shifting, where setting it to Shift will utilise the camera's Shift X and Y fields to obliquely compensate for panning the camera left and right or up and down. They are bone rigs, so you have to enter pose mode to use the controls, and the camera settings are exposed in that same dropdown menu, so you don't have to keep coming in and out of pose mode to select the camera again. The corner frame (bone widget) controls should be kept level with each other on the camera's Y plane as well, according to the docs.
It's worth that you will still need to enable the Camera Parent Lock checkbox for direct control same as here, though, which the rigs don't automatically do. This bypasses the drivers, though, which are driven by the rig controls, so there is that to keep in mind.
Awesome timing! I was struggling with that for the Dolly Zoom effect and divided to create the rig and went to bed last night. And saw this tut when I woke up this morning. Magic! Thanks! 🙏
You are the GOAT, i was needing something like this! Pretty cool trailer :)
I know that I'm late to the party but this Camera Parent Lock thing is awesome. It lets you even use blender's "Fly Mode" - it blocks your mouse movements, but you can adjust your camera position with WASD keys. Normally when you use TrackTo constraint it blocks you from adjusting the camera's view that way because of the constraint. Of course you need to have a null with camera as a child that's tracking another null (your target).
BTW. Your camera rig is also brilliant of course :)
That intro trailer was amazing, I want the full feature film.
This is brilliant. This will be my default camera. Thank you!
This is excellent, thank you. I have never used drivers in Blender, looking forward to testing this.
Genius. That's a prototype for a new camera in 3D, and as if camera aren't already freakn creamy smooth kick ass already.
Cameras in Blender just got even better! (I'm shouting from my office window)
This was incredibly helpful. Thank you for making it available.
Very cool, thank you. I added the sensor width as a variable in the expression so that if I change the camera preset and the sensor size changes, it will still work. I had trouble with this at first, getting an "invalid python expression" error if I just tried copying the path from the settings. Using " *data.sensor_width* " as the path worked for me.
This is one of the most useful tutorial I watched in blender it is simple and really great thank you
Thank you so much for sharing this wonderful tutorial!
this is actually so useful
Pretty Cool Explanation!, Thanks for sharing!
That,s great, thanks, you are truly a professional.
Amazing! This should be standard! Works great
For anyone using imperial as their scene units, you must multiply the distance in the camera driver by 3.281. The driver equation should look like '(distance * 3.281) * 36.0'
Thank you! I was having this issue, as I live in Ohio, so I've set my Blender defaults to Imperial. Apologies to my fellow creators across the globe; I don't know Metric, even though I'm told it makes more sense (and I have no doubt that it does). Unfortunately, I was born into a country that insists on making things harder, because here we use the alias of "Patriotism" for our Narcissistic Personality Disorder.
Is there à million like button on youtube ? fantastic rig, thanks a lot
I swear I was literally wondering how to achieve this yesterday. Thanks
You give very unique techniques in blender
Why is this free ❤
Puts most rigs to shame. Thanks for sharing and explaining so well !! 🙂🙃😉
scaling the whole thing is useful because you want your plane aligned with your subject (at least sometimes) and if it's too small it's not good. So scaling is actually usefull. I copied your rig and been using it.
This is awesome! Thank you!!!!
I am your exact target audience/ avatar. This is exactly what I want to learn.
instant subscription. Where's the LOVED IT! button???
Fantastic! Instead of DIY hack, this should be the next default blender camera... + built in option with turn on/off or pick target instead of adding constraint.
The camera rigs addon that ships with blender has this ability. It just needs to be enabled and added to a scene.
My preference is just to use empties with a focal length and target vector. But I do think your idea is intuitive. And clearly lots of people seem energized by it.
Very handy, brilliant idea🔥
This is awesome!
Thank you for sharing this!
OMG that's so much better!
Thanks Mate!!! that's VERY NICE
What a joyful intro. Thanks for sharing.
"a*(1/scale)" is the same as "a/scale" so you can just type "distance*36/scale" or "36*distance/scale".
He didnt simplify 😂
Extremely useful stuff as always, thanks Robin!
Nice upgrade of this rig is this: add new control empty where camera supposed to point by adding to the empty sphere of camera a "Track To" Constrain with target to the newly created empty :o
Amazing video with brilliant solution! you my friend certainly know how to look at things from a different angle and find a solution for it!!! thanks for sharing it
I didn't know I needed this. Now I know.
Thank you!
if you could adjust the aspect ratio by using scale this rig would be near perfect. As a guy who makes concept art and matte paintings for animation, having a variable aspect ratios on this rig would be a godsend, but i cant figure out a way to drive the aspect ratio and input a resolution without it being cumbersome.
EX: If i wanted it to be 1:1 at 1080p i could scale the rig and then input the x resolution at that ratio
Very impressive ! Thank u
Very nice idea and execution. I dont know much about blender rigging (comming from maya) but a very nittpicky thing is that by pure chance the scale of the plane would go to 0, what would happen with the rig? There must be a way of clamping the value. Thank you for the excellent tutorial!
This is brilliant!
hahaha the intro is EPIC and then you saying "it´s just a camera rig" is a LOT more EPIC hahahaha now this is a really cool idea to manage the camera on the viewport!!
amazing! thanks for sharing.
Insanely intresting intro
This is so cool, thx for sharing it
Excellent! Thanks for this, Robin!
For 3.4.0 ERROR. Copying Copy Data Path will give you "scale" which is actually wrong. You need to add the "[0]" by hand. In case you need to know the index of [x] by copying the Full Data Path and erasing the rest except scale[index].
That's really cool, but I prefer default dolly camera rig :)
this is a game changer
Mind blown.
I didn't know why transform space was not working for me byt when I change it to world space it's work just fine
Thanks man
BRILLIANT !!!
You are my herou!!!
No more Jumping Around menus for the Camera! Wooooo.....
Thanks You! Woooo
wonderful
The PewDiePie of blender
Not quite first but I’ll take it. Compositor video was life changing. Let’s goooo.
Thank you! I'm sure there are some awesome compositor things you can do to get that warpy microscope look too.
so smart!
Thanks!
amazing 👏 🧡
very few things make me feel like life is worth the effort these days and this video at 2x speed was one of them
it's really incredible, it would be great in terms of time to develop an add-on where we can equip the camera with this rig in one click
You can get pretty close to one click with the asset browser and copy attributes addon
There's a free add-on called "focal lock" which does pretty much the same thing.
@@Matthiesis Why didn't you tell me about that before I made a whole video!
Nice one!
Sweet
"9:25 in OpenGL which blender uses for viewport rendering, camera projection 2D plane lies on XY plane, and camera look in the -Z direction.
Great!!!
Great vid. Can you actually show a use case or how to use it in a scene or your workflow? I imagine it's not ideal for every scenario but, I am fairly new to using the camera in Blender. subscribed
Way to stick to your "non-click baity" pledge! 😅 Great content as always.
👍🏻 This is an extremely educational post, especially for newbies (like me). With a little practice and repetition, I'll soon be promoted to "Alfred Hitchcock's camera assistant" 😉.
Thank you for that.
There is an addon that focal locks your camera so you can change the lense and its automatically changing the distance of the camera to the focal point
We can finally do a rack-focus, truckin/pullout with greater ease!
You're a god
Yes the camera can be frustrating 😂
Thanks for the amazing tutorial - I'm finding the only way of saving it - is to save the whole thing as a Blender scene. When I mark (all of it) as an asset only one of the components appears in the asset browser and if I mark the whole collection as an asset it restores it as a fused combination that cannot be adjusted. I'm using Blender 4.2. If you could pin a quick explanation of how to save it that would brilliant. Thanks!
Done! Mark the camera itself as an asset. If you want to append a collection, you can do it "un-fused." When you drag it into the viewport, the little window on the bottom left has a checkbox for "instance." Turn that off.
Perhaps adding camera data in the camera view helps a user. So when you look through the camera you see focal length, aspect ratio and what not. This can all be done with drivers as well. Im going to test this theorie and make this into aarmatire so all animatrd parts are also in one action file and not one for every empty
Hi @robinsquares, this is a great tutorial. It would help us a lot if you could show how to do the same thing on all axes, including Shift X and Y. I tried it with a friend, but there are too many interferences, and we can't find the right drivers to make the distance and scale work properly on all axes. Do you think it's possible?"
It works! The reason it breaks is that moving it on the X and Y axes changes the distance to the camera, as you noticed. So replace the distance function with one that references the control plane's Z location (relative to the master empty) and then just hook up X and Y to the offset sliders. 1m movement equals 1 in the offset.
I would suggest makijg an armature with custom bone props. This way if you animate it, its in one single action file. If you use empties. You get tons of actions files and its one big mess
I would Also add x and y transform to mimic camera shift. I get so many ideas for this. I have the addon save-cam and have added all camera data. This addon allows to easily switch camera positions and all settings. No need to add tons of cameras. Just record all settings. I'm gonna check if 8 can combine bother of these into one addon
This is mad. 🤙🤙🤙
Perhaps also drive the sensor size with a driver so its nore widely useabke
As a Blender noob of a few months: 🤯
As a photographer for decades: 🤯
I love this camera rig and I'm using it on a project but I cannot make it work, as I want the camera to rotate from the 3D cursor, I tried parenting it to an empty because transforming pivot point doesn't seem to do the trick. Any idea how to solve this? Thanks in advance!
Was working before, now in 4.2.1 for me it started moving picture in camera closer/farther without locking the distance to objects ...
What about deleting the face instead of unchecking rendering and visibility features?