Нам потребуется Skeletalmesh импортированный в пак, так как показано в уроке Создание новых персонажей для UDK, NPC в классе UTFamilyInfo не нуждается (в смысле есть он или нет, движку по барабану). Я буду использовать модель IronGuard которая идет с UDK.
В папке X:\...\UDK-2009-12\Development\Src создаём папку для нашего мода, в моём случаи это папка StolzderNation в ней папку Classes. Вот такой путь должен получиться: X:\...\UDK-2009-12\Development\Src\StolzderNationClasses. В папке Classes создаём текстовый файл с содержанием:
--------------------------------
Code
class CustomPawn1 extends UTPawn;
//расширяем UTPawn, создаем несколько новых переменных чтобы заменить стандартные var SkeletalMesh defaultMesh; //теперь переменная defaultMesh - это объект - SkeletalMesh var MaterialInterface defaultMaterial0; var array(AnimSet) defaultAnimSet; //тут мы задали массив и заключите AnimSet вместо скобок значками <>, движок этого сайта не дает это сделать defaultAnimSet для всех анимаций var AnimNodeSequence defaultAnimSeq; var PhysicsAsset defaultPhysicsAsset;
/* в этой функции устанавливаются настройки mesh'a, с использованием репликации и FamilyInfo.*/ simulated function SetCharacterClassFromInfo(class(UTFamilyInfo) Info) //вместо скобок, в которое заключено выражение UTFamilyInfo поставьте значки <> { Mesh.SetSkeletalMesh(defaultMesh); //функция(переменная), переменную опишем ниже Mesh.SetMaterial(0,defaultMaterial0); //используем стандартный материал, что будет установлен в редакторе Mesh.SetPhysicsAsset(defaultPhysicsAsset); Mesh.AnimSets=defaultAnimSet; }
defaultproperties { defaultMesh=SkeletalMesh'CH_IronGuard_Male.Mesh.SK_CH_IronGuard_MaleA' //Скин - путь к нашей модели в редакторе - Package.Group.SkeletalMesh defaultAnimSet(0)=AnimSet'CH_AnimHuman.Anims.K_AnimHuman_BaseMale' //Применяем анимацию defaultPhysicsAsset=PhysicsAsset'CH_AnimCorrupt.Mesh.SK_CH_Corrupt_Male_Physics' //Применяем физическую модель
//анимация ragdoll (трупа (катиться по ступенькам, пинается)) Begin Object Name=WPawnSkeletalMeshComponent
Переименовываем этот текстовый документ в CustomPawn1.uc Готовый файл: custompawn1.zip - http://unreal-level.ru/engine/download.php?id=52 В UTEngine.ini находим: ;ModEditPackages=MyMod изменяем на: ModEditPackages=StolzderNation (названия созданной папки)
Компилируем скрипт... Для этого открываем Unreal Frontend и жмем Full Recompile.
Загружаем карту, заходим в Kismet. Жмем ПКМ в основном поле, далее New Event > Level Loaded
и New Actor > Actor > ActorFactory.
Выделяем ActorFactory. В конце поля Factory нажимаем им на синюю стрелку (которая смотрит именно вниз, смотрите не забудьте пока складываете это окно и открываете окно редактора), выбираем UTActorFactoryAI,
раскрываем Factory и ставим следующие настройки:
Force Deathmtach AI? если напротив стоит галочка, значит наш NPC будет любителем подраться diablo Give Default Inventory - стандартный набор для данного типа игры PawnClass - выбираем наш CustomPawn1 PawnName - имя NPC
Надо задать место появление NPC на карте, я буду использовать PathNode (ПКМ на уровне, далее AddActor > AddPathNode)
чтоб использовать PathNode в Kismet, сразу как переменную для респауна, жмем ПКМ на узле SpawnPoint блока ActorFactory и выбираем New Object Var Using PathNode_0 (но чтоб такая надпись была - PathNode должен быть выбран на уровне).
В итоге наша последовательность должна выглядеть вот так:
Компилим весь уровень (Build All)
ВОТ ОН И ОЖИЛ!!! (для этого нужно запустить уровень)
Nirvana, Metallica, SOAD,Three Days Grace, Muse, 30 STM, LP, Lumen, Korn, Stigmata, Sum 41, Green Day, Evanescence, LB, Paramore, Guano Apes, Papa Roach, Rashamba, Slipknot, Element Eighty, Offspring, Skillet...
Сообщение отредактировал _FeRgu$_ - Чт, 04 Фев 2010, 23:35
Взял на себя смелость отредакторовать пост. На форумах считается нормальной практикой отображать изображения, занимающие по размеру меньше 640х480, в самом сообщении. Для этого достаточно заключить ссылку на сообщение в такие теги: [іmg]http://unreal-level.ru/uploads/posts/2010-01/thumbs/1263839226_1263479224.jpg[/іmg]
именно так....я пытался использовать bb код IMG спс помощь Nirvana, Metallica, SOAD,Three Days Grace, Muse, 30 STM, LP, Lumen, Korn, Stigmata, Sum 41, Green Day, Evanescence, LB, Paramore, Guano Apes, Papa Roach, Rashamba, Slipknot, Element Eighty, Offspring, Skillet...
Сообщение отредактировал _FeRgu$_ - Пт, 05 Фев 2010, 18:04
Продолжайте в том же духе, и удачи. Спасибо за урок. Из него я узнал о еще некоторых сложностях в двиге, и он еще больше упал в моих глазах по сравнению с Юнити. Фанат игр Max Payne и Fahrenheit.