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 $$anonymous$$ · Jul 02, 2018 at 07:16 AM · c#animationjavascriptenemyenemy ai

The problem of Enemy scale when he follow the player (script) . How to fix?

Hello , First , let's be clear ... I have a problem and I have somethings i need to get them done . let's start give Details , i use Unity 5.6.3p2 Personal on Windows 8.1 pro 32 bit (i cannot upgrade my window to 64 bit because when i do that i'll Lose all the Data , And i don't Want to lose my project , i upgrade him later) the project is going on PC Standalone - What i want do is make enemy (Zombie) follow the player with walk (run ) Animation when he Enter the Trigger of the Player he will stop the Animaion of the Walk and start the hit Animation . But in the fact the enemy when he follow the player he get close on him and he stop . And the problem is , when the enemy Start follow the player he will scaled up and pretty big . (I tried everything i scaled the zombie make him small but he still when start follow scaled to the same big scaled ) And i Don't want the enemy to follow me whenever i move , I want him to follow me (running after me ) directley when i press play . Im sorry , i have a lot of Questions to ask , just if you can help me please do , you'r not only helping me, you actually helping me and a lot of Game Devlopers that they want to learn :)

So i'll put some scripts that i have used
And Thanks For All the Answers and the help .

scripts : (CSharp) using System.Collections; using System.Collections.Generic; using UnityEngine;

public class enemy1 : MonoBehaviour {

 public Transform target;
 public int moveSpeed;
 public int rotationSpeed;
 public int maxdistance;
 private Transform myTransform;
 //------------------------------------//    

 void Awake()
 {
     myTransform = transform;
 }


 void Start ()
 {

     maxdistance = 2;
 }


 void Update ()
 {


     if(Vector3.Distance(target.position, myTransform.position) > maxdistance)
     {
         //Move towards target
         transform.LookAt (target.position);     
         myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;

     }
 }   

}

(CSharp)

using System.Collections; using System.Collections.Generic; using UnityEngine;

public class EnemyTerritory : MonoBehaviour {

 public BoxCollider territory;
 GameObject player;
 bool playerInTerritory;

 public GameObject enemy;
 BasicEnemy basicenemy;

 // Use this for initialization
 void Start ()
 {
     player = GameObject.FindGameObjectWithTag ("Player");
     basicenemy = enemy.GetComponent <BasicEnemy> ();
     playerInTerritory = false;
 }

 // Update is called once per frame
 void Update ()
 {
     if (playerInTerritory == true)
     {
         basicenemy.MoveToPlayer ();
     }

     if (playerInTerritory = false)
     {
         basicenemy.Rest ();
     }
 }

 void OnTriggerEnter (Collider other)
 {
     if (other.gameObject == player)
     {
         playerInTerritory = true;
     }
 }

 void OnTriggerExit (Collider other)
 {
     if (other.gameObject == player) 
     {
         playerInTerritory = false;
     }
 }

}

(CSharp)

using System.Collections; using System.Collections.Generic; using UnityEngine;

 public class BasicEnemy : MonoBehaviour
 {
     public Transform target;
     public float speed = 3f;
     public float attack1Range = 1f;
     public int attack1Damage = 1;
     public float timeBetweenAttacks;


     // Use this for initialization
     void Start ()
     {
         Rest ();
     }

     // Update is called once per frame
     void Update ()
     {

     }

     public void MoveToPlayer ()
     {
         //rotate to look at player
         transform.LookAt (target.position);
         transform.Rotate (new Vector3 (0, -90, 0), Space.Self);

         //move towards player
         if (Vector3.Distance (transform.position, target.position) > attack1Range) 
         {
             transform.Translate (new Vector3 (speed * Time.deltaTime, 0, 0));
         }
     }

     public void Rest ()
     {

     }
 }

(JavaScript)

pragma strict

var target : Transform; var moveSpeed = 2.5; var rotationSpeed = 4; var attackThreshold = 0; var chaseThreshold = 0; var giveUpThreshold = 0; var attackRepeatTime = 0;

private var chasing = false; private var attackTime = Time.time;

var myTransform : Transform;

function Awake() { myTransform = transform; }

function Start() { target = GameObject.FindWithTag("Player").transform; }

function Update () {

var distance = (target.position - myTransform.position).magnitude;

if (chasing) {

  myTransform.rotation = Quaternion.Slerp(myTransform.rotation,
  Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed*Time.deltaTime);
 
  
  myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
 
  
  if (distance > giveUpThreshold) {
      chasing = false;
  }
 
  
  if (distance < attackThreshold && Time.time > attackTime) {
      GetComponent.<Animation>().Play("attack");
      attackTime = Time.time + attackRepeatTime;
  }
 

} else {

  if (distance < chaseThreshold) {
      chasing = true;
      GetComponent.<Animation>().Play("run");
  }

} }

(JavaScript)

var spawn : Transform; var vectim : Transform; var speed : float; var rotationSpeed : float; var seeDistance : float = 30; var damage : int; var dice : int = 1; var baseDamage : int = 1; var anim : Animation; var hit : AudioClip; private var myTransform : Transform;

private var idle : int = 0; private var returnToSpawn : int = 1; private var chasePlayer : int = 2; private var attackPlayer : int = 3; private var dead : int = 4;

private var status = returnToSpawn; private var seconds : int; private var savedTime : int; private var damagePlayer : GameObject;

function Awake(){ myTransform = transform; }

function Start () { damagePlayer = gameObject.FindWithTag("Player"); }

function Update () {

var target : Transform; var dist = Vector3.Distance(spawn.position, myTransform.position); var aggro = Vector3.Distance(vectim.position, myTransform.position); var statusString : String; seconds = Time.time;

if (dist > 50 || (aggro > seeDistance && dist > 3)) status = returnToSpawn; else if (dist < 30 && (aggro < seeDistance && aggro > 1)) status = chasePlayer; else if (aggro < 1) status = attackPlayer;

switch(status){ case returnToSpawn: target = spawn; anim.GetComponent.().CrossFade("Take 001"); myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(target.position - transform.position), rotationSpeed Time.deltaTime); myTransform.position += transform.forward (speed/2) * Time.deltaTime; statusString = "Return"; if (dist < 3) status = idle; break;

  case chasePlayer:
      target = vectim;
      myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed * Time.deltaTime);
      myTransform.position += myTransform.forward * speed * Time.deltaTime;
      statusString = "Chase";
      anim.GetComponent.<Animation>().CrossFade("Take 001");
      break;
      
  case attackPlayer:
      target = vectim;
      myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(target.position - transform.position), rotationSpeed * Time.deltaTime);
      statusString = "Attack";
      
      if (aggro > 1)
          status = chasePlayer;
          
      if (seconds != savedTime){
      damage = ((Random.Range(1, baseDamage)) * ((Random.Range(1, dice))));
      damagePlayer.SendMessage ("PlayerDamage", damage);
      anim.GetComponent.<Animation>().CrossFade("Fury");
      GetComponent.<AudioSource>().PlayOneShot(hit, 1.0 / GetComponent.<AudioSource>().volume);
      savedTime = seconds;
      }
      break;
      
      case idle:
          target = spawn;
          
          break;
          
      default:
          break;
  }
  myTransform.eulerAngles = new Vector3(0, myTransform.eulerAngles.y, 0);

}

(JavaScript)

var Player : Transform; var MoveSpeed = 4; var MinDist =999; var MaxDist = 10;

function Start() {

}

function Update () { //Moves towrd player transform.LookAt (Player); if(Vector3.Distance(transform.position,Player.position ) >= MinDist) {

     transform.position += transform.forward * MoveSpeed*Time.deltaTime;
     
     
     if(Vector3.Distance(transform.position,Player.position) <= MaxDist)
     {
             
 }

} }

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

0 Replies

· Add your reply
  • Sort: 

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

601 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image 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 create an animation hands (or script) to pick-up a cup from the table in 3ds max or maya or from direct unity! Please help!! 2 Answers

Detect collision and destroy one object 0 Answers

Explode Mesh when clicked on 1 Answer

Enemy keeps moving in one direction. Help pls! 2 Answers

In Game Animation 2 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