• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by redrumx · Oct 28, 2017 at 11:32 PM · c#camerafieldofviewfield of view

Camera Field of View

SOLVED

     float fov;
     public Transform obj1, obj2;
     float distance;
 
 
     // Use this for initialization
     void Start () {
 
         Camera.main.fieldOfView = fov;
         fov = 60;
         
     }
     
     // Update is called once per frame
     void Update () {
 
         distance = Vector3.Distance (obj1.position, obj2.position);
         Debug.Log (distance);
         fov = 60;
 
         if (distance < 4) {
             fov = Mathf.Lerp (fov, 40, Time.deltaTime);
         } else {
             fov = Mathf.Lerp (fov, 60, Time.deltaTime);
         }
 
         if (distance > 10) {
             fov = Mathf.Lerp (fov, 70, Time.deltaTime);
         } else {
             fov = Mathf.Lerp (fov, 60, Time.deltaTime);
         }
         
     }
 }
 


Comment
Add comment · Show 4
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Hellium · Oct 29, 2017 at 03:46 PM 2
Share

You neverreassign fov to Camera.main.fieldOfView so the camera's field of view will never change....

avatar image redrumx Hellium · Nov 21, 2017 at 12:15 PM 0
Share

Thank you, didn't realize it lol.

avatar image Bunny83 · Nov 08, 2017 at 11:32 PM 1
Share

Ok, back to start... Why did you delete all the content of your question? This would render this question and it's answers completely useless. Also you closed the question with the reason "Question answered, right answer accepted" however you haven't accepted any answer. You haven't even upvoted anything.


UnityAnswers is a knowledge base. Removing the original question would mean you don't want anyone else to read it / to learn anything from it. That's not how Unity Answers work. I've reverted your last edit and also reopened the question.


If you found a solution to your problem, feel free to post an answer. It's fine to answer your own question if nobody else did. If your problem is outdated / no longer relevant you can close it with an appropriate reason. However since you replaced your question with the words "Already Solved" it would be nice to actually answer your question.

avatar image redrumx Bunny83 · Nov 21, 2017 at 12:14 PM 0
Share

I didn't put any answer as right cause @Hellium was right. I just messed up with the order in the void Start (). (Already updated my question with the right code).

2 Replies

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by Bunny83 · Nov 08, 2017 at 11:41 PM

Your problem is that you never actually set the fieldOfView of the Camera. In addition you have two seperate distance checks and each one has an else case. So you will always execute two lerps at the same time which will most likely doesn't give you the desired effect. Further more you set your "fov" variable to 60 each update which renders the lerping and your conditions useless. You probably wanted to do something like:

 void Update()
 {
     distance = Vector3.Distance (obj1.position, obj2.position);
     if (distance > 10)
     {
         fov = Mathf.Lerp (fov, 70, Time.deltaTime);
     }
     else if (distance > 4)
     {
         fov = Mathf.Lerp (fov, 60, Time.deltaTime);
     }
     else
     {
         fov = Mathf.Lerp (fov, 40, Time.deltaTime);
     }
     Camera.main.fieldOfView = fov;
 }



Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image MaxGuernseyIII · Nov 08, 2017 at 11:53 PM 0
Share

I don't understand this use of $$anonymous$$athf.Lerp. It seems to me that it should make the b input an asymptote rather than a destination because it is constantly moving the a input and always keeping the t input small.

avatar image MaxGuernseyIII MaxGuernseyIII · Nov 08, 2017 at 11:54 PM 0
Share

Oh, I see. You're just using the lines OP wrote...

avatar image
0

Answer by JasonBennett · Oct 29, 2017 at 03:43 PM

@redrumx

My guess is that you need to remove the line of code at the start of Update() that sets your fov variable to 60. Leave it in Start(). Otherwise your program will conditionally do the Lerp every frame, and then reset the fov value at the start of the next frame, so effectively you will never see the new fov.

      void Update () {
  
          distance = Vector3.Distance (obj1.position, obj2.position);
          Debug.Log (distance);
          // Remove this --> fov = 60;



Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image redrumx · Oct 29, 2017 at 04:11 PM 0
Share

@curious$$anonymous$$oala Still never changes. Even if I put manually field of view for example 30 before clicking play, it's still 30 when I click play.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

474 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

sniper zoom in but not out C# 1 Answer

Changing Camera Field of View 0 Answers

Camera keeps going behind walls/floor 1 Answer

Any way to increase raycast range? 0 Answers

Having text be a child to a game object? 2 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges