Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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
1
Question by zmar0519 · Jun 26, 2011 at 02:52 PM · physicsfpsrocket

Rockets bending around enemies?

Hello, all. I have a quick fps question. I have these rockets that the player can shoot, but I have the problem that they don't explode on my enemies, they bend around them and continue their path. I can tell they are going around the enemy because I've made a smoke trail and it shows them going around the enemy. the enemy has a sphere collider for a head(for head shots) and a character controller for the main body. The rocket has a simple box collider. Here is the rocket script.

 @script AddComponentMenu("FPS / Weapons / Rockets")
 @script RequireComponent(AudioSource);
 
 var explosionRadius : float;
 var damage : int;
 var power : int;
 var particleEffect : GameObject;
 var sound : AudioClip;
 var lifeTime : float;
 var Speed : float;
 var enemyRocket : boolean = false;
 private var audioSource : AudioSource;
 
 function Awake()
 {        
     var Player : Transform = gameObject.FindWithTag("Player").transform;
     if(enemyRocket)
         transform.LookAt(Player);
     
     audioSource = gameObject.GetComponent(AudioSource);
     Destroy(gameObject, lifeTime);
 }
 function OnCollisionEnter(col : Collision)
 {
     if(col.gameObject.tag != "Enemy")
         Explode();
 }
 function OnTriggerEnter(col : Collider)
 {
     if(col.gameObject.tag != "Enemy")
         Explode();
 }
 function Update ()
 {
     rigidbody.velocity = transform.forward * Speed;    
 }
 function Explode () 
 {
     var explosionPosition : Vector3 = transform.position;
     var colliders : Collider[] = Physics.OverlapSphere (explosionPosition, explosionRadius);
     for(var hit in colliders)
     {
         hit.SendMessageUpwards("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);
         if(hit.rigidbody)
         {
             hit.rigidbody.AddExplosionForce(power, explosionPosition, explosionRadius, power);
         }
     }
     if(particleEffect)
     {
         var go : GameObject = Instantiate(particleEffect, transform.position, transform.rotation);
     }
     if(sound != null)
     {
         audioSource.PlayClipAtPoint(sound, explosionPosition);
     }
     Destroy(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

Answer by DigitalPowers · Jun 26, 2011 at 03:20 PM

I would say this line is the problem.

 if(col.gameObject.tag != "Enemy")
     Explode();
 

You are checking in oncollision if it is not the enemy, then explode. try == instead of !=

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 zmar0519 · Jun 26, 2011 at 05:22 PM 0
Share

Thanks, that just shows how stupid i am.

avatar image DigitalPowers · Jun 26, 2011 at 05:39 PM 0
Share

Naw its easy to overlook a samll operator, often times I run into problems like that because at first I was approaching it from one direction then I change my mrthod an forget to change the operator

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

How do I make a character controller "ride" a rocket? 1 Answer

FPS aim marker Question 0 Answers

How to make my Character run through walls with the use of the Character Controller component 1 Answer

How to add a force to a falling object 0 Answers

Fps Movement Velocity Decrease 0 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