PDA

نسخه کامل مشاهده نسخه کامل : بررسی سیستم اسلحه در انریل انجین + اموزش ساخت



silsin
24-09-2011, 16:20
به نام خدا

دید کلی:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اسلحه در انریل انجین از جمله اقلام و موجودی های است که پلایر می تواند داشته باشد . به طور معمول یک اسلحه باید چیزی را به قول معروف اتش کند .سیستم سلاح در هر نوع بازی می تواند متفاوت باشد دربازی این سلاح امکان دارد شمشیر یا کمان باشد . و یا یک عصای جادویی.تعریفی که می توان به سلاح وارد اورد می تواند اینگونه باشد که : به هر ابزاری که می توان از ان برای صدمه زدن به فرد دیگری استفاده کرد سلاح گفته میشود


سیستم ذخیره سازی :
این سیستم در انریل انجین وظیفه به قول معروف نگه داری هر گونه وسائلی را دارا میباشد که برای نگه داری همین اسلحه باید از این سیستم استفاده کرد . این سیستم را همانند یک کیفو یا کوله پشتی یا یک جعبه برای نگه داری وسائل مختلف در نظر بگیرید که با استفاده از ان می خواهید هرگونه وسائل از جمله همین اسلحه را در ان نگه داری کنید .
هر پلایر برای خودش یکی از این سیستم های ذخیره سازی ((inventory manager )) دارد که دست چین کننده هر چیزی است که پلایر استفاده می کند .

استفاده از سیستم ذخیره سازی برای اسلحه ها ::

اگر این سیستم ذخیره سازی را یک انبار / یک والد فرض کنیم . اسلحه ای که از ان استفاده می کنند همانند یک فرزند برای ان تلقی خواهد شد بنابراین دو راه وجود دارد که یک اسلحه را به دست پلایر بدهیم
1- از طریق دادن مسقیم اسلحه به دست کارکتر با استفاده از دستور Pawn.GiveWeapon() استفاده بکینم
2-یا از طریق یک اکتور دیگر و با استفاده از خواصیت DroppedPickup یا PickupFactory

خاصیت DroppedPickup زمانی به کار می رود که اسلحه در محیط و جهان بازی قرار دارد و توسط یک پلایر دیگر حمل میشود این خاصیت زمانی معنی پیدا می کند که این اسلحه با استفاده از دستور Inventory.DropFrom() یا زمان مرگ یک اکتور دیگر از کنترل او خارج و به قولی از دست او بیفتد در این حالت به این خاصیت ایجاد شده اسلحه DroppedPickup گفته می شود .
نوع دوم PickupFactory از قبل در جهان بازی موجود می باشد و قرار دادن و یا قرار گرفتن ان توسط طراح مرحله تعیین می شود در این حالت اکتور در جریان بازی هم قابلیت ان را خواهد داشت که خود مسئولیت تصمیم گیری در مورد برداشتن و یا استفاده کردن از این ایتم را داشته باشد .

هر دوی این DroppedPickup یا PickupFactory وظیفه دارند که ایتم مورد نظر را از سیستم و همان کوله پوشتی ذخیره سازی دریافت و به بازیگر بدهند حال اگر این بازیگر خود پلایر اصلی باشد و یا یک اکتور که توسط سیستم کنترل می شود .

نکته جالب در اینجاست که حتی می توان نحوه ی دادن یک ایستم از سیستم ذخیره سازی را کنترل کرد. این بدین معناست که شما حتی می توانید با استفاده از این تابع Item.GiveTo() خودتان ایتم مورد نظر را به اکتوری اختصاص دهید عملکرد ای تابع بدین صورت است که به سیستم مدیریت ذخیره سازی ایتم ها در بازی می گوید که این ایتم را به موجودیت ها ی (inventioy ) اکتور هدف قرار بده

سومین متد برای برای دادن اسلحه به یک پلایر استفاده از Pawn.GiveWeapon() بود . عملکرد این تابع بدین صورت است که بدون کم کردن از جایی یا از چیزی اسلحه ای را به کارکتر میاد و به جای جایگزینی و جابه جایی اسلحه ان را در قسمت اسلحه یا همان سیستم ذخیره سازی اسلحه کارکتر ایجاد می کرد .
تا اینجا با متد های دادن اسلحه به کارکتر ها اشنا شدیم . حال اگر تعداد بیشتری اسلحه در اختیار ما باشد باید چه کار کنیم . ؟ چه طور می توانیم سلاح های قبلی و بعدی را فعال و قابل استفاده کنیم ؟
نکته این مورد استفاده از توابع PlayerController.NextWeapon() یا PlayerController.PrevWeapon() و
تابع اجرایی InventoryManager.SwitchToWeaponClass() می باشد
این توابع به صورت منطقی عملکرد سیستم ذخیره سازی ایتم های شما را طوری تنظیم می کنند که هنگامی که اسلحه جدیدی در اختیار شما قرار گرفته شد تابع InventoryManager.SetCurrentWeapon() برای قرار دادن این سلاح به عنوان سلاح پیش فرض شما صدا زده شود .

SetCurrentWeapon() نقطه ی شروع پروسه ساخت اسلحه ماست .این تابع تنها یک پارامتر را می گیرد
DesiredWeapon که بیان کننده و اشاره کننده به اسلحه ای است که شما می خواهید استفاده کننید .

حال به شکل زید دقت کنید . در شکل زیر می توانید عملکرد این سیستم را مشاهده کنید :


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]



)))))به امید اینکه تنبلی نکنم و بازم حسسش بیاد این مقاله رو ادامه بدم :31:

silsin
25-09-2011, 15:11
اسلحه ها

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

سیستم اسلحه در انریل انجین این امکان را به شما می دهد که شما بتوانید نوع و چگونگی تاثیر گذاری شلیک در اسلحه ها را نیز تعیین کنید .انریل دو تعریف برای شلیک کردن دارد : Instant Fire و Projectile Fire