اموزش عوض کردن کارکتر پیش فرض در udk - نسخهی قابل چاپ +- انجمن های تخصصی فلش خور (http://www.flashkhor.com/forum) +-- انجمن: نرم افزار های ساخت بازی (http://www.flashkhor.com/forum/forumdisplay.php?fid=13) +--- انجمن: ساخت، ویرایش و -- بازی ها (http://www.flashkhor.com/forum/forumdisplay.php?fid=9) +---- انجمن: UDK (http://www.flashkhor.com/forum/forumdisplay.php?fid=16) +---- موضوع: اموزش عوض کردن کارکتر پیش فرض در udk (/showthread.php?tid=264485) |
اموزش عوض کردن کارکتر پیش فرض در udk - امیرحسین - 02-03-2017 نکات مهم : در اموزش زیر نحوه ساخت کارکتر و خروجی گرفتن و ورود ان به برنامه اموزش داده نخواهد شد در این اموزش نحوه تنظیم AnimTree باید از قبل توسط خود شما انجام شده باشد . خب خب واسه اینکه این کار رو شروع کنیم اول یه توضیح کوچیک باید بدم . من واسه شروع می خوام ساده ترین ساختار واسه این اموزش رو بهتون بگم . ما توی این اموزش از ساختار انریل تورنومنت استفاده خواهیم کرد . خب شروع کنید ما به سه کلاس نیاز داریم 1-کلاس مربوط به بازی 2-کلاس کنترل کننده کارکتر 3-کلاس سازنده کارکتر شروع کنید به ساختن !!!! ابتدا از کلاس بازی شروع می کنیو : 1
2 3 4 5 6 7 8 9 10 11 12 کد: Class MyGame Extends UTGame [ltr] [/ltr] کد: defaultProperties کد: } [ltr] [/ltr] کد: PlayerControllerClass= کد: class کد: ' ' کد: defaultPawnClass=Class کد: ' ' [ltr] [/ltr] کد: { خب فکر نکنم این دو خط نیازی به تعریف داشته باشن . میریم بعدی خب حالا کلاس مربوط به کنترل پلایرمون رو می سازیم 1
2 3 4 5 6 7 8 9 10 11 12 کد: Class MyPlayerCo Extends UTPlayerController; [ltr] [/ltr] کد: defaultProperties کد: } [ltr] [/ltr] کد: { خب اینجا یه مسئله می مونه . اینه که چرا من اینجا رو خالی دادم . ببینید من می خوام که به طور پیش فرض تمامی توابع و هرچی که پلایر اصلی رو کنترل می کنه واسه این هم اعمال بشه . وگرنه نوشتن توی این کلاس نیاز به کلی مقاله و توضیحات داره . میریم سراغ بعدی 1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 کد: var MyPawn Extends UTPawn; [ltr] [/ltr] کد: var SkeletalMesh defaultMesh; کد: var AnimTree defaultAnimTree; کد: var array<AnimSet> defaultAnimSet; کد: var PhysicsAsset defaultPhysicsAsset; [ltr] [/ltr] کد: simulated function SetCharacterClassFromInfo( کد: class کد: <UTFamilyInfo> Info) کد: { کد: Mesh.SetSkeletalMesh(defaultMesh); کد: Mesh.SetMaterial(0,defaultMaterial0); کد: Mesh.SetPhysicsAsset(defaultPhysicsAsset); کد: Mesh.AnimSets=defaultAnimSet; کد: Mesh.SetAnimTreeTemplate(defaultAnimTree); [ltr] [/ltr] کد: } [ltr] [/ltr] کد: defaultproperties کد: { کد: defaultMesh=SkeletalMesh کد: 'CH_IronGuard_Male.Mesh.SK _CH_IronGuard_MaleA' کد: defaultAnimTree=AnimTree کد: 'CH_AnimHuman_Tree.AT_CH_H uman' کد: defaultAnimSet(0)=AnimSet کد: 'CH_AnimHuman.Anims.K_Ani mHuman_BaseMale' کد: defaultPhysicsAsset=PhysicsAsset کد: 'CH_AnimCorrupt.Me sh.SK_CH_Corrupt_Male_Physics' [ltr] [/ltr] کد: } خب اینجا چند تا مسئله می مونه که باید توضیح داد: 1
2 3 4 5 6 7 8 9 10 11 کد: simulated function SetCharacterClassFromInfo( کد: class کد: <UTFamilyInfo> Info) کد: { کد: Mesh.SetSkeletalMesh(defaultMesh); کد: Mesh.SetMaterial(0,defaultMaterial0); کد: Mesh.SetPhysicsAsset(defaultPhysicsAsset); کد: Mesh.AnimSets=defaultAnimSet; کد: Mesh.SetAnimTreeTemplate(defaultAnimTree); [ltr] [/ltr] کد: } این خطوط باعث میشه که متغییر هایی که ما بتونیم مقادیر خودمون رو توی کلاس UTFamilyInfo جایگزین کنیم این خطوط پایینی هم باعث میشه که متغییر هایی که ما بالا برای جایگیزینی توی کلاس UTFamilyInfo انتخاب کردیم مقدار دهی بشن 1
2 3 4 5 کد: defaultMesh=SkeletalMesh کد: 'CH_IronGuard_Male.Mesh.SK _CH_IronGuard_MaleA' کد: defaultAnimTree=AnimTree کد: 'CH_AnimHuman_Tree.AT_CH_H uman' کد: defaultAnimSet(0)=AnimSet کد: 'CH_AnimHuman.Anims.K_Ani mHuman_BaseMale' کد: defaultPhysicsAsset=PhysicsAsset کد: 'CH_AnimCorrupt.Me sh.SK_CH_Corrupt_Male_Physics' خب تموم شد . امیدوارم این بتونه به شما کمک کنه |