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 iaind78 · Dec 19, 2011 at 06:39 PM · rotationinstantiateprojectileplane2.5d

Rotation troubles

Hello there.

I'm trying to create a 2.5d game

The player can throw strawberries from a game object, x = right, y = up, z=away.

I've created a plane prefab which is textured with the strawberry image. The plane has been rotated so that it faces the player, standing up, rather flat. x = right, y = up, z=away

This is all fine and when the prefab is in the scene it is displayed as I would like it.

I've written a script that will fire the plane prefab from the player game object, which works but, the plane is projected flat.

So I'm having difficulty getting the plane to face the player when fired.

It seems to me that this might be a problem or my understanding of how to instantiate the prefab, in that I'm not able to control the rotation.

Can anybody point me in the right direction on where the problem is coming from and how I might solve this.

Here is the code used on the player game object to project the prefab.

 var speed = 3.0;
 var PreFab:Transform;
 
 
 function Update () 
 {
     //find out if a button is pressed
     if(Input.GetButtonDown("Fire1"))
     {    
             //create the prefab
             var strawberry = Instantiate(PreFab, transform.position, transform.rotation);
                                   
             //add force to the prefab
             strawberry.rigidbody.AddForce(transform.forward * 1000);                
     }
 }

Kind Regards

Iain

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

2 Replies

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

Answer by aldonaletto · Dec 19, 2011 at 07:24 PM

You must rotate the front direction of the plane to the player direction. If you created the plane in Unity, it probably is "looking" to the up direction. To create a suitable rotation, you should do something like this:

    ...
    if(Input.GetButtonDown("Fire1"))
    {  
         // this rotation will rotate a plane that "looks" to the up direction
         // to be facing the player
         var rot = Quaternion.FromToRotation(Vector3.up, -transform.forward);
         //create the prefab
         var strawberry = Instantiate(PreFab, transform.position, rot);
         //add force to the prefab
         strawberry.rigidbody.AddForce(transform.forward * 1000);          
    }
    ...
If the plane with zero rotation is "looking" to any other direction, replace Vector3.up with the correct reference direction.
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 iaind78 · Dec 19, 2011 at 10:53 PM

Cheers Aldo, that's worked beautifully.

I'm not quite sure I understand everything that's happening, but I always find it easier to work something out when there's a solution. Off to the reference manual I go, then some tinkering with your code.

Thanks for taking the time to help me join the dots.

Kind Regards

Iain

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

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

Fire Projectile based on Model rotation 1 Answer

Gun Projectile Shooting In Wrong Direction (Javascript) 1 Answer

Firing a rocket - flight problem 2 Answers

Create plane from 2 Vectors of a symmetry line segment 1 Answer

Objects Instantiating at wrong position 3 Answers


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