• 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 /
This question was closed Oct 31, 2017 at 03:20 PM by sunrisepulp for the following reason:

The question is answered, right answer was accepted

avatar image
0
Question by sunrisepulp · Oct 30, 2017 at 10:36 AM · vector3resetiskinematic

IsKinematic resets my Vector3

I'm trying to stop a object and then start it again with the exact same velocity and direction. I use .isKinematic for stopping and starting the object.

And I tried storing the velocity in a Vector3 (vel), but as soon as BulletRigidbody.isKinematic = true is applied, my vector becomes 0,0,0. I can see the velocity getting stored until IsKinematic is applied.

Anybody knows whats wrong?

 public class enemy_projectile : MonoBehaviour {
 
 
     public Vector3 vel;
 
     public bool beenShoot = false;
     public bool activateShoot = false;
     public bool StoreVel = false;
 
 
     private Rigidbody BulletRigidbody;
 
 
 
     // Use this for initialization
     void Start () {
         BulletRigidbody = GetComponent<Rigidbody>();
     }
 
     // Update is called once per frame
     void FixedUpdate()
     {
         // If it has been shot.
         if (beenShoot == true)
         {
             StartCoroutine(BulletSequence());
         }
 
 
         if (activateShoot == true)
         {
             // Activates it again and apply the old velocity.
             BulletRigidbody.isKinematic = false;
             BulletRigidbody.velocity = vel;
         }
 
     }
 
 
     IEnumerator BulletSequence()
     {
         // Takes the velocity of the bullet into a vector3.
         vel = BulletRigidbody.velocity;
 
         // Waits 1s.
         yield return new WaitForSeconds(1);
         //Disables it.
         BulletRigidbody.isKinematic = true;
 
         //Wait 2s.
         yield return new WaitForSeconds(2);
         //Activate it again.
         activateShoot = true;
         beenShoot = false;
     }
 
 }
 
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

0 Replies

  • Sort: 

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

135 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

Related Questions

Rotation resets on character controller 0 Answers

Camera Reset Script 1 Answer

how to calculate the angle between two vectors? 6 Answers

hi everyone how can i move an object from a point to specific point(point b) by mouse click 0 Answers

How do I get the world coordinates of the top left position of the camera? 2 Answers

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