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 A20T3M4 · Mar 16, 2017 at 04:50 AM · physicsinstantiatequaternionrotation axis

Unity Rotations not working properly? Help....

Hey, everyone. I'm experiencing a rather annoying bug and I was hoping someone could offer some help because this just isn't making sense to me. The Ballistic script tells the bullet to move in its forward direction, which should be whichever way the gun is pointing. When the playerAttack scripts calls for the bullet to spawn, it sets the bullets position to that of bulletSpawn's transform, which is a child of the gun.

OnShootEnter is being properly called, bulletSpawn is properly assigned, and yet when the bullet spawns, instead of it facing bulletSpawn's forward, its facing Vector3.forward???

These two scripts are the only things affecting bullet's spawn, rotation, and direction. Everything looks in order to me. What am I missing????

PlayerAttack extends MonoBehaviour, handles bulletspawning when the correct input is given.

 public class PlayerAttack : MonoBehaviour {
 
     public GameObject bulletPrefab;
 
     public Transform gun;
     public Transform bulletSpawn;
     public float damage;
 
 
     // Use this for initialization
     void Start () {
     }
     
     // Update is called once per frame
     void Update () {
     }
 
     void OnShootEnter(){
         GameObject bullet = Instantiate(bulletPrefab, bulletSpawn.position, bulletSpawn.rotation);
         //bullet.GetComponent<Ballistic> ().forward =;
         Debug.Log("Player Forward: "+ transform.forward+", BulletSpawn Forward: "+bulletSpawn.forward+", Bullet Forward: "+ bullet.transform.forward);
 
     }
 }

Ballistic extends MonoBehaviour, handles bullet's physics.

 public class Ballistic : MonoBehaviour {
 
 
 
     public GameObject model;
     public float range;
     public float accuracy;
     public float speed;
 
     Vector3 dir = Vector3.zero;
 
     // Use this for initialization
     void Start () {
         model.transform.SetParent (this.transform);
         //Vector3 dir = new Vector3 (transform.forward.x + Random.Range (-accuracy, accuracy),
         //                  transform.forward.y + Random.Range (-accuracy, accuracy),
         //                  transform.forward.z + Random.Range (-accuracy, accuracy));
         dir = transform.forward;
         Debug.Log ("Bullet Forward: " + transform.forward+", Direction: "+dir.normalized);
 
     }
     
     // Update is called once per frame
     void Update () {
         transform.GetComponent<Rigidbody> ().velocity = dir.normalized * speed;
         range -= Time.deltaTime;
         if (range <= 0)
             Destroy (this.gameObject);
     }
 
 
     void OnCollisionEnter(Collision obj){
         Destroy (this.gameObject);
         //Debug.Log ("Bullet hit "+ obj.gameObject.name);
     }
 }








Comment
Add comment · Show 1
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 Arkaid · Mar 16, 2017 at 04:52 AM 0
Share

SetParent tends to reset transformations. Try this ins$$anonymous$$d:

 model.transform.SetParent (this.transform, true);    

To keep the position and rotation assigned in Instantiate

0 Replies

· Add your reply
  • Sort: 

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

6 People are following this question.

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

Related Questions

How to make any dice have a given face(int) face up? 1 Answer

Issue with Instantiate and the instant that spawns on a moving object that rotates 1 Answer

Instantiated Object Rotating Strangely 0 Answers

Player Control. Roller Ball with Cube Acceleration. 1 Answer

Retina specific framerate drop on specific function 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