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 justinl · Sep 22, 2012 at 03:05 AM · raycastgunaccuracy

How to give your enemy gun inaccuracy

How can I create a gun that will not shoot 100% accurate in the direction of a raycast? For example, to give it a little bit of an inaccuracy so that the Enemy AI will not have 100% shooting accuracy for every shot. I've figured out my own way but I'd like to see how others handle it.

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 justinl · Sep 22, 2012 at 03:08 AM

Here is my implementation. How have others done it? The main purpose of this question was to share my technique because I was not able to find any resources about how to do it but I thought it was something most people would find useful

 //Takes a vector and returns a new vector that is slightly variated in direction
 //0 = 100% accurate and the larger the number, the less accurate
 //last 2 params are optional and will draw both the original vector and the new varied vector
 public static Vector3 VectorSpread(Vector3 origVector, int accuracy, bool showDebug = false, Vector3 debugPosition = default(Vector3)){
     float myIntx = (float)Random.Range(-accuracy,accuracy)/1000;
     float myInty = (float)Random.Range(-accuracy,accuracy)/1000;
     float myIntz = (float)Random.Range(-accuracy,accuracy)/1000;
     Vector3 newVector = new Vector3(origVector.x + myIntx, origVector.y + myInty, origVector.z + myIntz);
 
     if(showDebug){
         Debug.DrawRay(debugPosition, origVector * 1000F, Color.cyan);
         Debug.DrawRay(debugPosition, newVector * 1000F, Color.red);    
     }
     return newVector;
 }
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

9 People are following this question.

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

Related Questions

How to Implement First Shot Accuracy? 2 Answers

How do I create bullet hole for my gun? 0 Answers

Creating a Ray Gun 1 Answer

Controlled Automatic Fire Rate (RayCasting) 2 Answers

Raycast Targeting Reticle. 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