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 3kWikiGames · Nov 07, 2020 at 02:35 AM · 2dmovementinstantiatedirection

Instantiate object at position, moving in a direction?

I'm having a tough time getting this to work, i'm trying to create a 2D gun of sorts, depending on what direction the flashlight is pointed in it should instantiate an orb and shoot that orb in the direction its pointing. I cant seem to use the existing position though, any ideas? Thanks!

 private void turnFlashlight()
     {
         Vector3 Temp = new Vector3(0f, 0f, 0.0f);
         Vector3 Target = new Vector3(Input.GetAxis("rHorizontal")*360,-Input.GetAxis("rVertical")*360, 0f);
         if ( Target.sqrMagnitude > m_deadzone * m_deadzone )
             m_lookTarget = Target;
         if (!CharacterSettings.paused)
         {
             flashlight.transform.LookAt(m_lookTarget);
             if(Input.GetAxis("RTrig")>0){
                 Debug.Log("hit");
                 GameObject go = Instantiate(prefab, null, this.transform);
                 Vector3 newPos = Vector3.MoveTowards(go.transform.position, new Vector3(0,0,0), Speed * Time.deltaTime);
                 go.transform.position = newPos;
             }
             else if(!(Input.GetAxis("RTrig")>0)){
 
             }
         }
     }

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 axellolledoering · Nov 07, 2020 at 10:22 AM

@3kWikiGames let me know if it works for you. Also, make sure to delete the tesing regions. They are only there for, well... Testing purposes. Happy coding! This is the script attached to my gun:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class Gun : MonoBehaviour
 {
     [SerializeField] private KeyCode kShoot; // Key to press for the gun to shoot.
     [SerializeField] private GameObject bulletPrefab; // Prefab of the bullet with a Rigidbody attached. The gravity on the Rigidbody is disabled.
     [SerializeField] private Transform bulletSpawn; // An object with a transform located at the end of the gun. Bullet is spawned on this location.
     [SerializeField] private float bulletSpeed; // How much force to add to the bullet when it is instantiated.
     [SerializeField] private float shootDelay; // Minimum wait time between shots. Value is in seconds.
     private bool canShoot;
 
     #region Testing
     [SerializeField] private KeyCode kRotateCW, kRotateCCW; // Keys for rotating the gun. Used only for testing.
     [SerializeField] private float rotSpeed = 5f;
     #endregion
 
     private void Start()
     {
         canShoot = true;
     }
 
     private void Update()
     {
         if (Input.GetKeyDown(kShoot) && canShoot)
         {
             StartCoroutine(Shoot());
         }
 
         #region Testing
         if (Input.GetKey(kRotateCW))
         {
             transform.Rotate(transform.forward * rotSpeed * Time.deltaTime); 
         }
         if (Input.GetKey(kRotateCCW))
         {
             transform.Rotate(-transform.forward * rotSpeed * Time.deltaTime);
         }
         #endregion
     }
 
     private IEnumerator Shoot()
     {
         canShoot = false;
         GameObject newBullet = Instantiate(bulletPrefab, bulletSpawn.position, bulletSpawn.rotation);
         newBullet.GetComponent<Rigidbody2D>().AddForce(newBullet.transform.right * bulletSpeed, ForceMode2D.Impulse); // We use the right (or up in some cases) transform because forward in a 2D space is into the screen.
         yield return new WaitForSeconds(shootDelay);
         canShoot = true;
     }
 }



These are the values I used: alt text

The bulletSpawn is a child of the gun and is placed like this: alt text


bulletspawnlocation.png (51.0 kB)
values.png (28.9 kB)
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

372 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 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 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

Enemy moving left towards player. 1 Answer

Problem with the look direction after Instanciate/Rotate 0 Answers

Random movement direction cycle. 2 Answers

Why isn't my instance of an object moving? 1 Answer

Instantiate object that points to the direction 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