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


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

نظرسنجی: آیا آموزش هوش مصنوعی رو در یونیتی ادامه بدم؟
بله
خیر
[نمایش نتایج]
 
 
امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 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
تخصص:بیسواد،نوب،نادان
https://cafebazaar.ir/app/ir.s.s.hek.nokh/?l=fa
https://telegram.me/gameoverblog
بیشتر از آنچه برای موفق بودن تلاش می کنی برای با ارزش بودن تلاش کن.آلبرت انیشتین.




پاسخ
#5
ولی یه نکته: اینا هوش مصنوعی نبودن wink
تخصص:بیسواد،نوب،نادان
https://cafebazaar.ir/app/ir.s.s.hek.nokh/?l=fa
https://telegram.me/gameoverblog
بیشتر از آنچه برای موفق بودن تلاش می کنی برای با ارزش بودن تلاش کن.آلبرت انیشتین.




پاسخ
 سپاس شده توسط taha_mct
#6
if (rigidbody)
rigidbody.freezeRotation true;
آقا درسته 4 سال گذشته  nerd ولی امیدوارم بخونی  wink
داداش دمت گرم بابت این کد rigidbody
من بعد یه ماه یه کاراکتر درست و حسابی ساختم آوردم تو یونیتی اسکریپت حرکت و انیمیشن و غیره رو دادم همین امروز ولی مشکلم این بود که کاراکترم به هر چی برخورد میکرد کج میشد و می افتاد
یه روز کامل هر روشی که بگی تست کردم ولی این روش شما گفتی عالی بود
دمت گرررررررررررررررررررررم  smiley
پاسخ
#7
سلام،
این تاپیک همونطور که میدونید برای 4 سال پیشه. برای تشکر از سازنده تاپیک فقط از دکمه سپاس استفاده کنید...
هیچ روزی مثل روزی که بر تو گذشت نیست
ای اباعبدالله...
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آموزش غیر قابل هک کردن متغیرهای بازی در یونیتی fakhtigamer 2 1,029 5/12/1396، 11:16 عصر
آخرین ارسال: game10000
  ساخت زمین یا Terrain در یونیتی sajjad3011 3 5,438 3/8/1396، 06:33 صبح
آخرین ارسال: sajjad3011
Star آموزش یونیتی از سایت یونیتی ali.z 0 465 25/4/1396، 03:49 عصر
آخرین ارسال: ali.z
  آموزش شیدر نویسی در یونیتی قسمت 1 ErfanAhmadi 15 6,691 15/3/1396، 05:53 عصر
آخرین ارسال: mamali me
  آموزش یونیتی از مبتدی تا متوسط برنامه ریزی شده amirhosein.raad 24 5,265 26/2/1396، 08:24 عصر
آخرین ارسال: TakOn1



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