Jump to content
Unity Insider Forum

Zocker377

Newbie
  • Gesamte Inhalte

    1
  • Benutzer seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

Zocker377's Achievements

Newbie

Newbie (1/3)

0

Ansehen in der Community

  1. Moin Leute, ich habe einen Gegner in meinem spiel, er soll eigentlich nur ein Pfad ablaufen und sobald der Spieler in Reichweite ist, den Spieler verfolgen. Wenn ich das Spiel starte, läuft er einfach gerade aus und rennt nicht zu den Punkten. Wenn ich nun in seine nähe komme, fängt er an um mich zu kreisen, wobei er eigentlich direkt auf mich zu laufen soll using System.Collections; using System.Collections.Generic; using UnityEngine; public class enemyController : MonoBehaviour { public Transform player; public float playerDistance; public float awareAI = 10f; public float AIMoveSpeed; public float damping = 6.0f; public Transform[] navPoint; public UnityEngine.AI.NavMeshAgent agent; public int destPoint = 0; public Transform goal; public static float enemyHealth; void Start () { enemyHealth = 100; UnityEngine.AI.NavMeshAgent agent = GetComponent<UnityEngine.AI.NavMeshAgent>(); agent.destination = goal.position; agent.autoBraking = false; } void Update () { Debug.Log(enemyHealth); if(enemyHealth <=0) Destroy(gameObject); playerDistance = Vector3.Distance (player.position, transform.position); if (playerDistance < awareAI) { LookAtPlayer(); Debug.Log("Seen"); } if (playerDistance < awareAI) { if (playerDistance < 2f) { Chase(); } else GotoNextPoint(); } if (agent.remainingDistance < 0.5f) GotoNextPoint(); } void LookAtPlayer() { transform.LookAt(player); } void GotoNextPoint() { if (navPoint.Length == 0) return; agent.destination = navPoint[destPoint].position; destPoint = (destPoint + 1) % navPoint.Length; } void Chase () { transform.Translate (Vector3.forward * AIMoveSpeed * Time.deltaTime); } }
×
×
  • Neu erstellen...