انجمن های تخصصی فلش خور

نسخه‌ی کامل: اموزش عوض کردن کارکتر پیش فرض در udk
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
نکات مهم : 

در اموزش زیر نحوه ساخت کارکتر و خروجی گرفتن و ورود ان به برنامه اموزش داده نخواهد شد 

در این اموزش نحوه تنظیم 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'






خب تموم شد . 

امیدوارم این بتونه به شما کمک کنه