Unity : Cinemachine and Timeline (Part V)
It’s time to see how access the Virtual Camera with C#.
This is my scene.
Now we add a Virtual Camera, and for test we want to access to the field of view
We create a C# script and call it Field Of View aAnd we attach it directly to the virtual Camera
We open it.
To access the Cinemachine, we need
using Cinemachine;
And we need a reference to our Virtual Camera component
And in Start
AT this point, in my scene the Field of View is set to 60, we want change it to 20.
If we look at inspector we see the Field of View property is under
CinemachineVirtualCamera -> Lens -> Field of View
Know that, we can write
And we press Play
Field of view is now 20.
Now we try to expand this concept.
First of all I create another Cube and change its color to red.
Then I create an Array[] of GameObject and I drag and drop both of them in Inspector.
If now we want to use LookAt directly from the code, we can do it like this :
If we go over LookAt, we see that is a PROPERTY, so it has a get and a set.
To use it, after _camera.LookAt
LookAt ask us for a Transform, that’s why we write
_targets[0].transform.
With this, at the beginning we focus on Orange Cube.
Expand more :
if we press R we change the target from Orange Cube to Red Cube.
If we press again back to Red Cube
How can we do it?
First line is simply this
After we press R, becuase we are good programmer, we check
if the target is not null
if is not null, LookAt at the first target in the Array.
This works perfectly fine one time, because in Start we LookAt
_targets[0].transform;
if we press R
_targets[1].transform;
But we need to go back right?
From [1] to [0]
So after the check for null reference, we need another check :
if we look at [0] go to [1]
To finish the logic, we need an else
If we test it
NOTE : I don’t know if in readability level is a good idea, but technically for every if we have here there is only a “one line of code”.
So what we can do is
It’s not “wrong”, many times when I have an If with one line of code I personally prefer to delete the parentheses, but can be happen sistuation like this where you have three, four or five check and when we delete the parentheses it seems a little “odd”, but it’s ok.
In the next article we finish with Aim and start with Body.