• 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 DM-Games · Oct 27, 2014 at 04:48 PM · gameobjectinstantiate-objects

How to instantiate prefab on top of object

Here is the code i'm using: #pragma strict

var showGUI = false; var laserTurret : GameObject;

 function OnMouseDown()
 {
     if(showGUI == true)
     {
         showGUI = false;
     }
     else
     {
         showGUI = true;
     }
 }
 
 function OnGUI()
 {
     if(showGUI == true)
     {
         var instance : GameObject = Instantiate(laserTurret, transform.position, transform.rotation);
         showGUI = false;
     }
 }
 
 function Start () {
 
 }
 
 function Update () {
 
 }


But the result is that the object spawn's in a random place which is not on top of the gameobject

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
Best Answer

Answer by robertbu · Oct 27, 2014 at 04:50 PM

The position isn't 'random'. Your code places it at the position of the game object this script is attached to. I don't know how you have thing setup. My suggestion is to place an empty game object at the position where you want to instantiate the 'laserTurret'. Then make that empty game object a child of whatever object you want to add a 'laserTurret' to. The script above goes on the empty game object.

Comment
Add comment · Show 9 · 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 DM-Games · Oct 27, 2014 at 06:37 PM 0
Share

$$anonymous$$y spawn object is a flat cube, which the script is attached to.

avatar image robertbu · Oct 27, 2014 at 08:17 PM 0
Share
  • Take the script off the cube

  • Create an empty game object

  • Position the empty game object on top of the cube where you want the 'laserTurret' to be created.

  • $$anonymous$$ake the empty game object a child of the cube

  • Attach your script to the empty game object.

It is possible to do the calculation for the position of the top of the cube, but that solution is no simpler than this one. That is, you can generate the local coordinate of the top of the cube, and then use Transform.TransformPoint() to get the global position.

avatar image DM-Games · Oct 28, 2014 at 06:25 AM 0
Share

Ok thanks i will try

avatar image DM-Games · Oct 28, 2014 at 06:31 AM 0
Share

Doesn't work. Now the On$$anonymous$$ouseDown doesn't work.

avatar image DM-Games · Oct 28, 2014 at 06:38 AM 0
Share

And the turret is still spawning in a random place: Ins$$anonymous$$d of spawning like this: alt text

It is spawning like this: alt text

error.png (360.9 kB)
error2.png (368.1 kB)
Show more comments

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

2 People are following this question.

avatar image avatar image

Related Questions

using Contains(gameObject) to find and destroy a gameObject from a list 2 Answers

How to compare names of two GameObjects to check whether their names are equal or not? 1 Answer

Raycast starts ignoring gameobject after a few seconds 0 Answers

Locking onto enemies with the third person controller 2 Answers

How to only delete one of two collided 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