«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
هوش دشمن (Enemy AI) در یونیتی :: گیم اور _ بازیسازی با unity + مطالب متفرقه

گیم اور _ بازیسازی با unity + مطالب متفرقه

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

به نام خدا
--
گروه قدیم ما promakers.ir یا پرومیکرز بود که بالای هزار اموزش توش ساخته بودم به اسم sajjad3011 ولی حیف ادمین سایتش عوض کرد
حالا سوالی بود کاری بود این شمارمه

قدیمیا دلم براتون تنگ شده... فقط معرفی کنید توی پیامک یا تماس یاد بیارید.
اگه جواب ندادم شاید موقعیت نداشته باشم.
بگید توی پیام از بچه های پرومیکرز هستید.

---
سوالی بود بذارید
نظر خصوصی نذارید
پاسخش سخته
دوست داشتید شماره بذارید تو واتساپ یا ایتا یا .... گروه بزنیم.
09358077198

بایگانی
پیوندها

هوش دشمن (Enemy AI) در یونیتی

دوشنبه, ۲۵ اسفند ۱۳۹۳، ۰۶:۲۸ ق.ظ

زبان کد : سیشارپ

این کد برای بررسی فاصله ی دشمن تا player بکار می ره و سپس با تابع slerp حرکت آرام چرخش و رو کردن به سمت player و حرکت به سمتش:

(البته با تنظیم متغیرها می تونید انیمیشن دویدن رو توسط کامپوننت animator  اجرا کنید و بعد از رسیدن به هدفبه حالت idle سوئیچ کنید.)

using UnityEngine;
using System.Collections;

public class 
EnemyAI MonoBehaviour {
    public 
Transform target;
    public 
int moveSpeed;
    public 
int rotationSpeed;
    public 
int maxdistance;
    
    private 
Transform myTransform;
    
    
void Awake(){
        
myTransform transform;
    }


    
void Start () {
        
GameObject go GameObject.FindGameObjectWithTag("Player");
        
        
target go.transform;
    
        
maxdistance 2;
    }
    

    
void Update () {
        
Debug.DrawLine(target.positionmyTransform.positionColor.red); 
        

        
myTransform.Rotation Quaternion.Slerp(myTransform.RotationQuaternion.LookRotation(target.position myTransform.position), rotationSpeed Time.deltaTime);
        
        if(
Vector3.Distance(target.positionmyTransform.position) > maxdistance){
        
//Move towards target
        
myTransform.position += myTransform.forward moveSpeed Time.deltaTime;
    
        }
    }
        

موافقین ۰ مخالفین ۰ ۹۳/۱۲/۲۵
مدیرکل

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی