اموزش عوض کردن کارکتر پیش فرض در udk

A.Shadow

A.Shadow

مدیر کل تالار
مدیریت کل تالار
نکات مهم :
در اموزش زیر نحوه ساخت کارکتر و خروجی گرفتن و ورود ان به برنامه اموزش داده نخواهد شد
در این اموزش نحوه تنظیم AnimTree باید از قبل توسط خود شما انجام شده باشد .


خب خب واسه اینکه این کار رو شروع کنیم اول یه توضیح کوچیک باید بدم .
من واسه شروع می خوام ساده ترین ساختار واسه این اموزش رو بهتون بگم .
ما توی این اموزش از ساختار انریل تورنومنت استفاده خواهیم کرد .
خب شروع کنید
ما به سه کلاس نیاز داریم
1-کلاس مربوط به بازی
2-کلاس کنترل کننده کارکتر
3-کلاس سازنده کارکتر


شروع کنید به ساختن !!!!

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

Class MyGame Extends UTGame

defaultProperties
}

PlayerControllerClass= class ' '
defaultPawnClass=Class' '

{​

خب فکر نکنم این دو خط نیازی به تعریف داشته باشن . میریم بعدی


خب حالا کلاس مربوط به کنترل پلایرمون رو می سازیم

Class MyPlayerCo Extends UTPlayerController;


defaultProperties
}


{

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



میریم سراغ بعدی

var MyPawn Extends UTPawn;

var SkeletalMesh defaultMesh;
var AnimTree defaultAnimTree;
var array<AnimSet> defaultAnimSet;
var PhysicsAsset defaultPhysicsAsset;

simulated function SetCharacterClassFromInfo(class<UTFamilyInfo> Info)
{
Mesh.SetSkeletalMesh(defaultMesh);
Mesh.SetMaterial(0,defaultMaterial0);
Mesh.SetPhysicsAsset(defaultPhysicsAsset);
Mesh.AnimSets=defaultAnimSet;
Mesh.SetAnimTreeTemplate(defaultAnimTree);

}


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'

}​

خب اینجا چند تا مسئله می مونه که باید توضیح داد:


simulated function SetCharacterClassFromInfo(class<UTFamilyInfo> Info)
{
Mesh.SetSkeletalMesh(defaultMesh);
Mesh.SetMaterial(0,defaultMaterial0);
Mesh.SetPhysicsAsset(defaultPhysicsAsset);
Mesh.AnimSets=defaultAnimSet;
Mesh.SetAnimTreeTemplate(defaultAnimTree);

}​
این خطوط باعث میشه که متغییر هایی که ما بتونیم مقادیر خودمون رو توی کلاس UTFamilyInfo جایگزین کنیم





این خطوط پایینی هم باعث میشه که متغییر هایی که ما بالا برای جایگیزینی توی کلاس UTFamilyInfo انتخاب کردیم مقدار دهی بشن
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'


خب تموم شد .
امیدوارم این بتونه به شما کمک کنه
 
متن زیبا برای فرزند پسر - متن زیبا برای فرزند دختر - متن ادبی درباره برادر - کابل شارژر سامسونگ- خرید قاب گوشی- جواب آمیرزا- اسکرین شات سامسونگ - فلش کردن گوشی - اروس دیجیتال - قاب گوشی A54 - قاب گوشی s23 ultra -
بالا