• 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 /
  • Help Room /
avatar image
0
Question by RoyalScape · Jul 14, 2017 at 03:40 PM · c#movementenemy aihand

how to make Enemy AI to spot player position and hit his hand at that position C#

I want to make a Big Monster that spots the player last position and at that last position Monster Hit his Hand at that players last know position. Please Help me with the scripting part tell me how can i do it and please provide me a sample of script C#. Big Monster just stand and looks if he spots player monster only move his hand and hit his hand at that specific position only and then repeat to spot player.

public enum State { Idle, Attack, Investigate }

 public GameObject target;

 public State state;
 private bool alive;

 // Variables for Investigate

 

 // Variable for Idle


 
 // Variable for Attack

 // Use this for initialization
 void Start ()
 {
     state = EBasicAI.State.Investigate;

     alive = true;

     StartCoroutine("FSM");
 }
 
 // Update is called once per frame
 void Update () {
     
 }

 IEnumerator FSM()
 {
     while (alive)
     {
         switch (state)
         {
             case State.Investigate:
                 Investigate();
                 break;
             case State.Attack:
                 Attack();
                 break;
         }
         yield return null;
     }
 }

 void Investigate()
 {
     Debug.Log("Investigate");
 }

 void Attack()
 {
     Debug.Log("Attacking");
 }


 void OnTriggerEnter(Collider coll)
 {
     if (coll.tag == "Player")
     {
         state = EBasicAI.State.Attack;
         target = coll.gameObject;
     }
     //else
     //{
        // state = EBasicAI.State.Investigate;
    // }
 }

 void OnTriggerExit(Collider coll)
 {
     if(coll.tag == "Player")
     {
         state = EBasicAI.State.Investigate;
     }
 }

I Created the states but how enemy find player last position and Hit his hand to that know position that i want please help me!!

Comment
Add comment · Show 5
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 UnityCoach · Jul 14, 2017 at 07:14 PM 0
Share

This is quite a feature. I would advise to split this into smaller requests/questions.

  1. How to store/locate player's last known position (AI)

  2. How to bring a character's hand to a given position (I$$anonymous$$)

You'll have better chances to find an expert in each area to answer those questions.

avatar image StonedLover · Jul 15, 2017 at 07:53 AM 0
Share

How shall the enemy Spot the Player? more Informations needed.

Shall the head move to the player or just spot the player and hit him...

also has the player a possibility to hide so that the last position is diffrent to the last on...

avatar image StonedLover · Jul 15, 2017 at 04:27 PM 0
Share

let me know if my solution helped yor or if it need adjusments

avatar image RoyalScape StonedLover · Jul 16, 2017 at 01:49 PM 0
Share

Yep! this solution helped. Now enemy can spot player position. Thank you so much! please help me with enemy can hit his hand at that player position only.

Show more comments

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by StonedLover · Jul 15, 2017 at 08:00 AM

As an Example fo spotting the player: make a empty Gameobject infornt of the face of the Enemy then in the enemy script reference to this GO and make a Raycast after a LookAt and check if the player is visible

             Vector3 lastPlayerPos;
             RaycastHit hit;
             emptyGo.transform.LookAt(Player.transform);
             if (Physics.Raycast(emptyGo.transform.position,  Vector3.forward, out hit))
             {
                 if (hit.transform.tag.Equals("Player"))
                 {
                     Debug.Log("Detected the Player");
                     lastPlayerPos =  hit.transform.position;
                 }
             }

if you want a max distance it would be:

             Vector3 lastPlayerPos;
             RaycastHit hit;
             emptyGo.transform.LookAt(Player.transform);
             if (Physics.Raycast(emptyGo.transform.position, Vector3.forward, out hit, Distance in float))
             {
                 if (hit.transform.tag.Equals("Player"))
                 {
                     Debug.Log("Detected the Player");
                     lastPlayerPos =  hit.transform.position;
                 }
             }



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.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

361 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

Related Questions

How to make 2 different actions for the same input? 2 Answers

How To Stop Enemy Movement During Its Attack Animation 1 Answer

(Newbie's First Project) Object doesn't stop moving until long after I let go of the button 1 Answer

Regarding transform.position in the roll a ball tutorial 0 Answers

How To Move My Player With Sin And Cos Functions 1 Answer

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges