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 FPSworrior · Jan 17, 2014 at 02:21 AM · raycastcrosshairgun scriptmodify

Raycast to crosshair. Script change.

So I made a gun shooting script that uses raycast, but I want to make it where the gun shoots at the crosshair at the middle of the screen no matter where the gun is positioned. I have a gun script made already I just need it modified to shoot like I want it to.

 #pragma strict
 
 
     var spawnPoint : Transform ;
     var speed : int;
     var nextFire = 0.0f;
     var fireRate = 0.1f;
     var ammo = 150;
     var ammoText : GUIText;
     var shotSound : AudioSource;
     var wood : Transform;
     var sand : Transform;
     var dirt : Transform;
     var water : Transform;
     var enemy : Transform;
     var range = 100;
 
     
     // Update is called once per frame
     function Update () {
         
         if(Input.GetKey(KeyCode.Mouse0) && Time.time > nextFire)
         {
             if(ammo > 0)
             {
                 Shot();
                 audio.Play();
                 ammo --;
             }
         }
 
 
     
     }
 
     function Shot()
     {
         nextFire = Time.time + fireRate;
 
         var hit :  RaycastHit; 
         var fwd = spawnPoint.TransformDirection(Vector3.forward);
 
         Debug.DrawRay(spawnPoint.position, hit.point);
 
         if(Physics.Raycast(spawnPoint.position, fwd, hit, range))
         {
            
            if(hit.collider.tag == "Dirt")
            {
                Instantiate(dirt, hit.point, Quaternion.FromToRotation(Vector3.forward, hit.normal));
            }
             if(hit.collider.tag == "Sand")
            {
                Instantiate(sand, hit.point, Quaternion.FromToRotation(Vector3.forward, hit.normal));
            }
             if(hit.collider.tag == "Wood")
            {
                Instantiate(wood, hit.point, Quaternion.FromToRotation(Vector3.forward, hit.normal));
            }
              if(hit.collider.tag == "Water")
            {
                Instantiate(water, hit.point, Quaternion.identity);
            }
                if(hit.collider.tag == "Enemy")
            {
                Instantiate(enemy, hit.point, Quaternion.FromToRotation(Vector3.forward, hit.normal));
            }
         }
 
     }
 
     function OnGUI()
     {
         ammoText.text = "Ammo: " + ammo.ToString();
     }
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 robertbu · Jan 17, 2014 at 02:37 AM

If I was doing it from scratch, I might do it differently, but to change your script, replace line 45 with:

 var ray = Camera.main.ViewportPointToRay(Vector3(0.5, 0.5, 0.0));
 if (Physics.Raycast(ray, hit, range))
Comment
Add comment · Show 2 · 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 FPSworrior · Jan 17, 2014 at 02:59 AM 0
Share

So what do I replace and what do I delete? Do I have to take away my fwd or my hit? And do I not use my spawnpoint variable and replace fwd with ray.

avatar image robertbu · Jan 17, 2014 at 04:24 AM 0
Share

$$anonymous$$y changes was to replace line 45 with these two lines. That is, line 45 would become the second line. You could then delete anything referring to spawnPoint.

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

18 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

Related Questions

Third Person Cross Hair Question 1 Answer

Cursors and crosshairs 1 Answer

Issue with clicking with a crosshair while using Oculus Rift 1 Answer

How to detect an object that comes in the "Crosshair" field of view? 1 Answer

Raycast based on crosshair on screen 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