UNİTY 3D NAVİGATİONU KULLANAN ZOMBİ YAPAY ZEKA
// HAREKET
var hedef : GameObject;
var canidussrulecekobje:GameObject;
// ANİMASYON
var saldirianim="";
var yuruanim="";
var oluanim="";
var animobje : GameObject;
// SES
var yurumesesi:AudioClip;
var saldirisesi:AudioClip;
// navigation
private var nav : NavMeshAgent;
function Start(){
hedef=GameObject.FindWithTag ("Player");
}
function Awake(){
animobje.animation.wrapMode = WrapMode.Loop;
animobje.animation.Stop();
nav = GetComponent(NavMeshAgent);
}
function LateUpdate () {
if (hedef) {
{
var mesafe = Vector3.Distance(hedef.transform.position, transform.position);
if(mesafe<1.5){
nav.destination = transform.position;
animobje.animation[saldirianim].speed = 1;
animobje.animation.Play(saldirianim, PlayMode.StopAll);
animobje.animation.CrossFade(saldirianim);
audio.PlayOneShot(saldirisesi);
}else{
nav.destination = hedef.transform.position;
animobje.animation[yuruanim].speed = 2;
animobje.animation.Play(yuruanim, PlayMode.StopAll);
animobje.animation.CrossFade(yuruanim);
audio.PlayOneShot(yurumesesi);
}
}
}
}
function OnDrawGizmosSelected (){
if (hedef != null) {
Gizmos.color = Color.red;
Gizmos.DrawLine(transform.position, hedef.transform.position);
}
}
var hedef : GameObject;
var canidussrulecekobje:GameObject;
// ANİMASYON
var saldirianim="";
var yuruanim="";
var oluanim="";
var animobje : GameObject;
// SES
var yurumesesi:AudioClip;
var saldirisesi:AudioClip;
// navigation
private var nav : NavMeshAgent;
function Start(){
hedef=GameObject.FindWithTag ("Player");
}
function Awake(){
animobje.animation.wrapMode = WrapMode.Loop;
animobje.animation.Stop();
nav = GetComponent(NavMeshAgent);
}
function LateUpdate () {
if (hedef) {
{
var mesafe = Vector3.Distance(hedef.transform.position, transform.position);
if(mesafe<1.5){
nav.destination = transform.position;
animobje.animation[saldirianim].speed = 1;
animobje.animation.Play(saldirianim, PlayMode.StopAll);
animobje.animation.CrossFade(saldirianim);
audio.PlayOneShot(saldirisesi);
}else{
nav.destination = hedef.transform.position;
animobje.animation[yuruanim].speed = 2;
animobje.animation.Play(yuruanim, PlayMode.StopAll);
animobje.animation.CrossFade(yuruanim);
audio.PlayOneShot(yurumesesi);
}
}
}
}
function OnDrawGizmosSelected (){
if (hedef != null) {
Gizmos.color = Color.red;
Gizmos.DrawLine(transform.position, hedef.transform.position);
}
}
kompenenet olarak nav mesh agent eklemeniz yeterli
çok zeki olacaklardır yapayzekalar benim hoşuma gitti isteyenlere
asset paylaşımı yapacağım (zombi model, animasyon, ses, script gibi)
çok zeki olacaklardır yapayzekalar benim hoşuma gitti isteyenlere
asset paylaşımı yapacağım (zombi model, animasyon, ses, script gibi)
Hiç yorum yok:
Yorum Gönder