درود مهمان گرامی! ثبت نام

آموزش ساخت بازی در #C آموزش UDK آموزش مدل سازی در Maya
آموزش ساخت بازی در VB آموزش Unity - پروژه محور آموزش مدل سازی با 3Ds Max
آموزش برنامه نویسی اندروید آموزش Unity - ساخت منو آموزش متحرک سازی در 3Ds Max
آموزش ساخت بازی حدس تصویر آموزش Unity - متحرک سازی مجموعه آموزش های ساخت بازی
● آموزش های رایگان ● تبلیغات دیجیتال هوشمند ● استخدام در فرادرس

نظرسنجی: آیا آموزش هوش مصنوعی رو در یونیتی ادامه بدم؟
بله
خیر
[نمایش نتایج]
 
 
امتیاز موضوع:
  • 3 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش ساخت هوش مصنوعی در یونیتی قسمت 1
#1
سلام. چون به همه قول داده بودم میخوام آموزش هوش مصنوعی رو شروع کنم. در ضمن این آموزش رو برای FPS گزاشتم.
خوب اول از همه یک پروژه ی جدید یونیتی بسازید و یک scene در اون ایجاد کنید. بعد یک دوربین بسازید.
البته وقتی یک scene جدید میسازید یک دوربین براتون درست میشه که میتونید از همون استفاده کنید.
خب حالا باید کاری کنیم که پلیر ما بتونه اطرافشو نگاه کنه پس ما میایم برای پلیرمون یک کد نگاه به زبان #C مینویسم:
کد php:
using UnityEngine;
using System.Collections;

[
AddComponentMenu("Camera-Control/Mouse Look")] 

خب کد رو این طوری شروع میکنیم که اول نوشتیم که به منوی Component یک گزینه به نام Camera-Control اضافه کنه و در ادامه اون یک گزینه به نام Mouse Look وجود داره که اگه روی اون کلیک کنید به game object شما این کد اضافه میشه.

کد php:
public class MouseLook MonoBehaviour {

    public 
enum RotationAxes MouseXAndY 0, }
    public 
RotationAxes axes RotationAxes.MouseXAndY;
    public 
float sensitivityX 15F;
    public 
float sensitivityY 15F;

    public 
float minimumX = -360F;
    public 
float maximumX 360F;

    public 
float minimumY = -60F;
    public 
float maximumY 60F;

    
float rotationY 0F

خب در این جا اولین متغیر رو نوشتیم که توش گفتیم که یه لیست باز میشه و ما از توش گزینه چرخش دور محور X و Y بچرخه
در خط سوم و چهارم هم یک متغیر از نوع float گفتیم که سرعت و حسّیایت چرخیدن دوربین بر اساس تکان خوردن موس چقدره.
در دوخط بعدی هم دوباره متغیر از نوع float است که گفتیم دوربین حد اکثر چند درجه بچرخه.

کد php:
    void Update ()
    {
        if (
axes == RotationAxes.MouseXAndY)
        {
            
float rotationX transform.localEulerAngles.Input.GetAxis("Mouse X") * sensitivityX;
            
            
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
            
rotationY Mathf.Clamp (rotationYminimumYmaximumY);
            
            
transform.localEulerAngles = new Vector3(-rotationYrotationX0);
        }

    } 

حالا این جا نوشتیم که اگه اون گزینه ای که قبلا درست کرده بودم که در محور X و Y بچرخه فعال بود در این محور ها بچرخه.

کد php:
    void Start ()
    {
        if (
rigidbody)
            
rigidbody.freezeRotation true;
    }

خب حالا در آخر برای اینکه فیزیک کاراکتر با این کد مشکل به بار نیاره نوشتیم نزاره کاراکتر در این حین بچرخه و کاراکتر چپه نشه.
خوب حالا کل کد میشه:
کد php:
using UnityEngine;
using System.Collections;

[
AddComponentMenu("Camera-Control/Mouse Look")]
public class 
MouseLook MonoBehaviour {

    public 
enum RotationAxes MouseXAndY 0, }
    public 
RotationAxes axes RotationAxes.MouseXAndY;
    public 
float sensitivityX 15F;
    public 
float sensitivityY 15F;

    public 
float minimumX = -360F;
    public 
float maximumX 360F;

    public 
float minimumY = -60F;
    public 
float maximumY 60F;

    
float rotationY 0F;

    
void Update ()
    {
        if (
axes == RotationAxes.MouseXAndY)
        {
            
float rotationX transform.localEulerAngles.Input.GetAxis("Mouse X") * sensitivityX;
            
            
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
            
rotationY Mathf.Clamp (rotationYminimumYmaximumY);
            
            
transform.localEulerAngles = new Vector3(-rotationYrotationX0);
        }

    }
    
    
void Start ()
    {
        if (
rigidbody)
            
rigidbody.freezeRotation true;
    }

در واقع این کد بهترش توی خود یونیتی هست خوب ولی من گفتم قسمت بعدی آموزش برای سیستم حرکت پلیر استفاده میشه.
تا قسمت 2 آموزش خدا حافظ
CLAW V2 در Indie db
لطفا به بازی رای بدید تا معروف شه و مقام بیارهsmiley
بازی امتیازش کمه لطفا بیشتر حمایت کنید.

resim
پاسخ
 سپاس شده توسط moien1 ، محمدمهدی علیجانی ، M2_DR ، تور110 ، mzr ، sajjad3011
#2
توی کدات از enum استفاده کردی. میشه یه توضیح بدی درباره enumwhat
پاسخ
#3
ببخشید enum رو یادم رفت توضیح بدم. enum به عنوان کلمه کلیدی شمارشی استفاده می شه. به اعلام شمارش، یک نوع متمایز است که شامل مجموعه ای از ثابت به نام به نام به مدل فهرست درست میشه. wink

خطاب به blackflag: من دارم این آموزشو کامل توضیح میدم
CLAW V2 در Indie db
لطفا به بازی رای بدید تا معروف شه و مقام بیارهsmiley
بازی امتیازش کمه لطفا بیشتر حمایت کنید.

resim
پاسخ
 سپاس شده توسط تور110 ، sajjad3011
#4
خوب من اسکریپت رو کپی کردم و ریختم روی دوربین. بعد از اجر وقتی ماوس رو حرکت میدم دوربین هم می چرخه و می تونم هر طرف ماوس رو حرکت می دم ببینم.
ضمنا به منوی component زیر منوی Camera-Control و به اونم زیر منوی Mouse Loock اضافه شد smiley :
resim
پاسخ
#5
ولی یه نکته: اینا هوش مصنوعی نبودن wink
پاسخ
 سپاس شده توسط taha_mct
#6
if (rigidbody)
rigidbody.freezeRotation true;
آقا درسته 4 سال گذشته  nerd ولی امیدوارم بخونی  wink
داداش دمت گرم بابت این کد rigidbody
من بعد یه ماه یه کاراکتر درست و حسابی ساختم آوردم تو یونیتی اسکریپت حرکت و انیمیشن و غیره رو دادم همین امروز ولی مشکلم این بود که کاراکترم به هر چی برخورد میکرد کج میشد و می افتاد
یه روز کامل هر روشی که بگی تست کردم ولی این روش شما گفتی عالی بود
دمت گرررررررررررررررررررررم  smiley
پاسخ
#7
سلام،
این تاپیک همونطور که میدونید برای 4 سال پیشه. برای تشکر از سازنده تاپیک فقط از دکمه سپاس استفاده کنید...
کیــــــــــ qwerty13 ـــــــوورتی13
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  ساخت انیمیشن در یونیتی start777 1 59 20/7/1397، 09:40 صبح
آخرین ارسال: Clever Wise
  آموزش ساخت بازی شوتر اول شخص با هوش مصنوعی سرباز Clever Wise 1 138 6/7/1397، 10:13 عصر
آخرین ارسال: Clever Wise
  آموزش ساخت بازی پارکینگ Clever Wise 0 35 6/7/1397، 05:42 عصر
آخرین ارسال: Clever Wise
  آموزش غیر قابل هک کردن متغیرهای بازی در یونیتی fakhtigamer 2 1,070 5/12/1396، 11:16 عصر
آخرین ارسال: game10000
  ساخت زمین یا Terrain در یونیتی sajjad3011 3 5,515 3/8/1396، 06:33 صبح
آخرین ارسال: sajjad3011



کاربرانِ درحال بازدید از این موضوع: 1 مهمان