Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • 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 /
avatar image
0
Question by fdDavid18 · May 12, 2019 at 03:19 AM · inputcamera follow

Switch camera positions from input

Hello, I'm attempting to have the camera of the player switch to the vehicle (tank) when pressing E.

The Main Camera object has the camera follow script

 public class CameraFollow : MonoBehaviour
 {
     [SerializeField] Transform player;
     [SerializeField] Vector3 offset;
     private float smoothSpeed = 0.125f;
 
     void FixedUpdate()
     {
         //lowercase transform refers to current object
 
         Vector3 originalCameraPosition = player.position + offset;
 
         //Lerp - linear interpolation (one point to another)
         //Vector3.Lerp(position1, postion2, value);
         Vector3 smoothCameraPosition = Vector3.Lerp(transform.position, originalCameraPosition, smoothSpeed);
 
         transform.position = smoothCameraPosition;
         transform.LookAt(player);
     }
 }

I also have a vehicle class: I've attempted to have refer to the CameraFollow class within Vehicle and the OnCollisionEnter (upon input) will switch camera positions.

 public class Turret : MonoBehaviour 
 {
     // This is just a snippet of the code, I removed irrelevant code
     private CameraFollow cameraReferece;
 
     void Update () {
 
     }
 
     void OnCollisionEnter(Collision c)
     {
         if (c.collider.gameObject.tag == "Player" && Input.GetKey("e"))
         {
             cameraReferece = new CameraFollow();
             //cameraReferece.player = this.cameraReferece;
             CheckInput();
         }
     }

Thanks.

Comment
Add comment
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

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by wyatts · May 12, 2019 at 04:54 AM

First, why OnCollision? With that the player would have to be holding E when he first collides with the tank.

As far as the camera, you are not reaching the camera gameObject with your turret script - you only create a new instance of the CameraFollow script. There's a number of different ways to actually reference the CameraFollow script that's on your camera gameobject:

  • Make the CameraFollow script static so any reference to CameraFollow will reach the original (a bit risky but it works).

  • Put a serialize field in front of your cameraReference variable [Serialize Field] private CameraFollow cameraReferece; Then you can drag the camera with the CameraFollow script onto that field in the inspector (can be a bit tedious depending on how many turrets you have).

But in a perfect world your camera would just have different states that were triggered by your interactions and you wouldn't need to put camera code on different game objects.

Comment
Add comment · 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

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.

Follow this Question

Answers Answers and Comments

126 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

Related Questions

Help In Making a SphereCast for 3D Tire! Working RayCast Script included! 0 Answers

Trying to create a camera that follows player and mimics headset tracking(HTC Vive) 1 Answer

Write custom input manager 0 Answers

How to Detect Swipes using the VRInput Script 0 Answers

Fingerprint authentication 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges