Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 Xeroux · May 12, 2014 at 11:04 AM · c#animation

Can't move character. C#

Hi there guys, I have been following along with a few tutorials and the most recent one that I have been trying to complete is the stealth game tutorial. I found my self stuck at the "character movement" section. I copied and pasted the exact text from the video, but for some reason I can't move my avatar like the person does in the video. I have about 15 errors but here are the only two that pertain to the character.

"NullReferenceException: Object reference not set to an instance of an object PlayerHealth.Awake () (at Assets/Scripts/PlayerHealth.cs:25)"

"NullReferenceException: Object reference not set to an instance of an object PlayerMovement.Awake () (at Assets/Scripts/Player/PlayerMovement.cs:19)"

Also here is the movement code.

using UnityEngine; using System.Collections;

public class PlayerMovement : MonoBehaviour { public AudioClip shoutingClip; // Audio clip of the player shouting. public float turnSmoothing = 15f; // A smoothing value for turning the player. public float speedDampTime = 0.1f; // The damping for the speed parameter

 private Animator anim;              // Reference to the animator component.
 private HashIDs hash;               // Reference to the HashIDs.
 
 
 void Awake ()
 {
     // Setting up the references.
     anim = GetComponent<Animator>();
     hash = GameObject.FindGameObjectWithTag(Tags.gameController).GetComponent<HashIDs>();
     
     // Set the weight of the shouting layer to 1.
     anim.SetLayerWeight(1, 1f);
 }
 
 
 void FixedUpdate ()
 {
     // Cache the inputs.
     float h = Input.GetAxis("Horizontal");
     float v = Input.GetAxis("Vertical");
     bool sneak = Input.GetButton("Sneak");
     
     MovementManagement(h, v, sneak);
 }
 
 
 void Update ()
 {
     // Cache the attention attracting input.
     bool shout = Input.GetButtonDown("Attract");
     
     // Set the animator shouting parameter.
     anim.SetBool(hash.shoutingBool, shout);
     
     AudioManagement(shout);
 }
 
 
 void MovementManagement (float horizontal, float vertical, bool sneaking)
 {
     // Set the sneaking parameter to the sneak input.
     anim.SetBool(hash.sneakingBool, sneaking);
     
     // If there is some axis input...
     if(horizontal != 0f || vertical != 0f)
     {
         // ... set the players rotation and set the speed parameter to 5.5f.
         Rotating(horizontal, vertical);
         anim.SetFloat(hash.speedFloat, 5.5f, speedDampTime, Time.deltaTime);
     }
     else
         // Otherwise set the speed parameter to 0.
         anim.SetFloat(hash.speedFloat, 0);
 }
 
 
 void Rotating (float horizontal, float vertical)
 {
     // Create a new vector of the horizontal and vertical inputs.
     Vector3 targetDirection = new Vector3(horizontal, 0f, vertical);
     
     // Create a rotation based on this new vector assuming that up is the global y axis.
     Quaternion targetRotation = Quaternion.LookRotation(targetDirection, Vector3.up);
     
     // Create a rotation that is an increment closer to the target rotation from the player's rotation.
     Quaternion newRotation = Quaternion.Lerp(rigidbody.rotation, targetRotation, turnSmoothing * Time.deltaTime);
     
     // Change the players rotation to this new rotation.
     rigidbody.MoveRotation(newRotation);
 }
 
 
 void AudioManagement (bool shout)
 {
     // If the player is currently in the run state...
     if(anim.GetCurrentAnimatorStateInfo(0).nameHash == hash.locomotionState)
     {
         // ... and if the footsteps are not playing...
         if(!audio.isPlaying)
             // ... play them.
             audio.Play();
     }
     else
         // Otherwise stop the footsteps.
         audio.Stop();
     
     // If the shout input has been pressed...
     if(shout)
         // ... play the shouting clip where we are.
         AudioSource.PlayClipAtPoint(shoutingClip, transform.position);
 }

}

I'd love some help with this, thanks in advance.

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 zeroblackstar · Oct 01, 2014 at 08:14 PM

Hi Xeroux, the code given with the Unity tutorials seem to be buggy, for instance I've noticed a few missing curly braces "{" and semi-colons ";".

I would read through and check your basics like ensuring statements finish with a ";" and your functions/methods have correct braces "{}", also carefully check your variable names etc

I was also running into a null pointer exception and after triple checking the code I found that just restarting Unity fixed the problem! Not sure what was going on there but did the trick for me.

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

21 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

Related Questions

Multiple Cars not working 1 Answer

Distribute terrain in zones 3 Answers

changing animations on an object without the script. 0 Answers

Help with character movement and camera 1 Answer

[C#] Unity 2D: Changing animation when player is in motion. 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