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
0
Question by vzunity · Apr 16, 2018 at 04:30 PM · collidersphere

Enemy AI Hearing System

Hello there, im making a stealth zombie game and i've done almost anything but stealth mechanics. There are no tutorials such as Enemy Hearing system etc. I've done something with layermask and colliders, attached sphere collider to zombie and float called soundintensity, that's working PERFECTLY BUT WHEN SPHERE COLLIDER IS NOT SET AS TRIGGER!! I need it as trigger because player need to get close to zombie and that collider is kinda big so can anyone help me?? Code:

  public void Follow()
     {
              Collider[] zombies = Physics.OverlapSphere(this.transform.position, soundIntensity, zombieLayer);
             for (int i = 0; i < zombies.Length; i++)
             {
                 zombies[i].GetComponent<Enemy>().iSeeYou = true;
             }
     }

thank you in advance guys!! i really need to get this done :D

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

3 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by BastianUrbach · Apr 18, 2018 at 06:37 PM

It seems like you can specify whether trigger hits should be included in a fourth parameter of OverlapSphere (use QueryTriggerInteraction.Collide). I haven't tried it though.

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
avatar image
0

Answer by melsy · Apr 19, 2018 at 03:49 AM

https://answers.unity.com/questions/1495860/how-can-i-make-an-ai-that-can-hear-me.html?childToView=1495933#answer-1495933

Refer to my answer here for what i believe to be a better system.

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
avatar image
0

Answer by TheBootlegger · Jan 09 at 05:36 PM

In case you're still looking for a solution to this, here's how I've implemented it using C# events:

 using UnityEngine;
 
 public class Noise
 {
     public delegate void OnNoise(Vector3 position, float distance);
    
     public static event OnNoise SoundEvent;

     //invoke the event with this void is to make sure that the event isn't invoked if it has no listeners
     public static void MakeNoise(Vector3 Position, float Radius)
     {
         if (SoundEvent != null)
         {
             Debug.Log($"Noise made at {Position} with a radius of {Radius}");
             SoundEvent.Invoke(Position, Radius);
         }
         else Debug.Log($"SoundEvent wasn't invoked, as there are no listeners");
     }
 }


in the enemy script, you need to have a method that has the same parameters as the OnNoise delegate void to subscribe to the event:

 using UnityEngine
 
 public class Enemy : MonoBehaviour
 {
      void Start()
     {
         //Subscribe to the event
         Noise.SoundEvent += OnHearNoise;
     }
     void OnDestroy()
     {
         //Unsubscribe from the event
         Noise.SoundEvent -= OnHearNoise;
     }
 
     void OnHearNoise(Vector3 Position, float radius)
     {
         //Do stuff...  
     }
 
 }
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

94 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

Related Questions

terrain tree children problem 0 Answers

Within sphere collider to click on door that opens 0 Answers

How to use Sphere colliders to detect the "Player" 1 Answer

How to detect what percentage of an object is inside a trigger? 4 Answers

Game Objects acting like magnets? 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