• 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 FPSworrior · Nov 13, 2013 at 05:34 PM · errorcamera.main

Need help! Error in script.

Assets/Scripts/BackgroundParallax.cs(19,30): error CS0117: Camera' does not contain a definition for main'

 using UnityEngine;
 using System.Collections;
 
 public class BackgroundParallax : MonoBehaviour
 {
     public Transform[] backgrounds;                // Array of all the backgrounds to be parallaxed.
     public float parallaxScale;                    // The proportion of the camera's movement to move the backgrounds by.
     public float parallaxReductionFactor;        // How much less each successive layer should parallax.
     public float smoothing;                        // How smooth the parallax effect should be.
 
 
     private Transform cam;                        // Shorter reference to the main camera's transform.
     private Vector3 previousCamPos;                // The postion of the camera in the previous frame.
 
 
     void Awake ()
     {
         // Setting up the reference shortcut.
         cam = Camera.main.transform;
     }
 
 
     void Start ()
     {
         // The 'previous frame' had the current frame's camera position.
         previousCamPos = cam.position;
     }
 
 
     void Update ()
     {
         // The parallax is the opposite of the camera movement since the previous frame multiplied by the scale.
         float parallax = (previousCamPos.x - cam.position.x) * parallaxScale;
 
         // For each successive background...
         for(int i = 0; i < backgrounds.Length; i++)
         {
             // ... set a target x position which is their current position plus the parallax multiplied by the reduction.
             float backgroundTargetPosX = backgrounds[i].position.x + parallax * (i * parallaxReductionFactor + 1);
 
             // Create a target position which is the background's current position but with it's target x position.
             Vector3 backgroundTargetPos = new Vector3(backgroundTargetPosX, backgrounds[i].position.y, backgrounds[i].position.z);
 
             // Lerp the background's position between itself and it's target position.
             backgrounds[i].position = Vector3.Lerp(backgrounds[i].position, backgroundTargetPos, smoothing * Time.deltaTime);
         }
 
         // Set the previousCamPos to the camera's position at the end of this frame.
         previousCamPos = cam.position;
     }
 }

Assets/Scripts/BackgroundParallax.cs(19,30): error CS0117: Camera' does not contain a definition for main'

Comment
Add comment · Show 2
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 robertbu · Nov 13, 2013 at 05:43 PM 0
Share

Compiles fine on my machine. Can you copy the error message(s) from the console and add them to your question?

avatar image jacobschellenberg · Nov 13, 2013 at 06:34 PM 0
Share

What is the error?

3 Replies

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

Answer by FPSworrior · Nov 14, 2013 at 01:02 AM

I just deleted the script and everything works just fine.

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
avatar image
0

Answer by shigidaMark · Nov 13, 2013 at 06:40 PM

You are calling Camera.main -- so you need a main camera. You can do this by selecting the camera you want as your primary camera, and changing the tag to MainCamera.

--edit-- Alternatively if you are creating your camera object by script, you can set the tag using this prior to calling Camera.main:

[cameraVariable].tag = "MainCamera";

Comment
Add comment · Show 3 · 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 FPSworrior · Nov 13, 2013 at 06:45 PM 0
Share

The camera gameObject is called $$anonymous$$ainCamera, and it's tagged $$anonymous$$ainCamera. So I don't know what the problem is.

avatar image jacobschellenberg · Nov 13, 2013 at 06:47 PM 0
Share

not the gameObject, the Tag of the camera should be $$anonymous$$ainCamera. It's a built in tag.

avatar image FPSworrior · Nov 13, 2013 at 07:21 PM 0
Share

I said it's tagged $$anonymous$$ainCamera if that's what your trying to mean.

avatar image
0

Answer by LeviDSmith · Oct 21, 2016 at 08:43 PM

For everyone's reference, I ran into this error after importing Playmaker into one of my old Unity projects. The problem in my case was that one of the Playmaker scripts (CutToCamera.cs) has an instance variable of type Camera, and I also had a custom script class also called Camera, which caused a naming conflict. I copied the code from my Camera script to a new script called GameCamera, deleted my old Camera script, and assigned the new GameCamera script to my camera GameObject which fixed the error.

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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

20 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

Related Questions

Ending my game 3 Answers

Why is this player script not working 1 Answer

Debug.Log error 2 Answers

Tutorial script problem 1 Answer

GetComponent Picking up multiple scripts from differrent objects? 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