Написал уже кажется десятый рабочий скрипт. Рукопашный бой все еще не получился, но уже вроде продвигается. С системой укрытий нет идей... Если только играть на игроке анимацию и создавать снаряд на месте вылазанья из-за преграды.
Поверь человеку, который с UDK полгода возился, то бишь мне! US очень-преочень тормозный. В 20 раз тормознее Unity'вского JS и C#! Про геймкор не знаю.
US очень-преочень тормозный? Да, конечно, если его там насиловать, то он будет тормозным, а в мирном применении - очень даже неплохо.
Я вообще сначала подумал что УДК = убожество, потому что не нашел системы скриптов(просто вот уже год сидел на ТЕС КС, где скрипт встроен в прогу), а потом разобрался, понял - прога супер. А на счет школоты и профи... Это вопрос спорный...
QWER56, вообще тебе выбирать) Попробуй поюзать и геймкор, и удк, и юнити, может что по душе придет.
Добавлено (03.08.2010, 16:35) --------------------------------------------- ezhickovich, ну да, небольшое противоречие есть... Я имел в виду, что плохо пока с уровнями, я сейчас пытаюсь сделать систему укрытий и рукопашный бой...
Не верь славянычу. На УДК, если иметь какое-то желание, можно сделать много чего крутого. Выучить его не составит проблем, US довольно функионален, вообщем это очень хороший двиг. На счет Юнити - я сколько его не крутил, у меня ничего не вышло... А на УДК как пришел - за один день во всем(кроме скриптов) разобрался.
Сообщение отредактировал Deadly-man - Вторник, 03 Августа 2010, 16:11
А по-моему УДК самый классный двиг!!! US довольно простой... И вообще - при виде заставки "Powered by Unreal Technology" при запуске новой игры - думаю "Не зря купил"
Добавлено (03.08.2010, 15:28) --------------------------------------------- Мой ответ - для всех жанров берите UDK!
Сообщение отредактировал Deadly-man - Вторник, 03 Августа 2010, 15:25
jetx, спасибо. Вопрос снова Вот полный код стазиса
class Stasis extends UTWeap_ShockRifleBase; var bool bCoolingoff; var bool bHooked; var vector HookLocation, Force; var float GrappleLength, Omega, CForce; var int Counter; var int StasisTime; var string StasisTimeSTR; var float OldVelocity;
var float CoolDowntime; simulated function StartGrapple() { local vector HitLocation, HitNormal; local Actor Other; local UTPawn PP;
PP = UTPawn(Owner); // Don't start grappling if we're already grappling if (bHooked) return;
// End trace to stop people grappling stupidly long distances Other = Trace(HitLocation, HitNormal, Owner.Location + (2500 * Vector(GetAdjustedAim( Owner.Location ))), Owner.Location, TRUE,,, TRACEFLAG_Bullet);
if (Other == None) return;
if (!Other.IsA('Pawn')) { WorldInfo.Game.SetGameSpeed(0.5); SetTimer(10.0, false, 'StopStasis'); PP.GroundSpeed=880.000000; PP.AccelRate=4096.0; } } simulated function StopStasis() { local UTPawn PP;
// Fire to call Normal or Alt Fire simulated function BeginFire(byte FireModeNum) { if (FireModeNum == 0) { GotoState('WeaponFiring'); } Super.BeginFire(FireModeNum); }
// What happens when we stop Firing
simulated state WeaponFiring { Begin: StartGrapple(); }
// Defaults defaultproperties { // Weapon SkeletalMesh Begin Object class=AnimNodeSequence Name=MeshSequenceA End Object
// Weapon SkeletalMesh Begin Object Name=FirstPersonMesh SkeletalMesh=SkeletalMesh'WP_ShockRifle.Mesh.SK_WP_ShockRifle_1P' AnimSets(0)=AnimSet'WP_ShockRifle.Anim.K_WP_Sho ckRifle_1P_Base' Animations=MeshSequenceA Rotation=(Yaw=-16384) FOV=60.0 End Object
Begin Object Class=ForceFeedbackWaveform Name=ForceFeedbackWaveformShooting1 Samples(0)=(LeftAmplitude=90,RightAmplitude=40,LeftFunction=WF_Constant,RightFunction=WF_LinearDecrea sing,Duration=0.1200) End Object WeaponFireWaveForm=ForceFeedbackWaveformShooting1 }
При удалении этих строчек PP.GroundSpeed=880.000000; PP.AccelRate=4096.0; и PP.GroundSpeed=440.000000; PP.AccelRate=2048.0; замедления не происходит(ни игрок, ни враги не замедляются), а при их удалении замедляются все... Как это исправить? Проблема решена... Я просто перенес WorldInfo.Game.SetGameSpeed(); чуть пониже, т.е после увеличения скорость игрока 2НетКиллер почитай скрипт, строку PP = UTPawn(Owner); Здесь говорится, что переменная PP устанавливается на оператора установки, т.е Owner. И стандартная скорость игрока - 440, прочитал в классе UTPawn
Сообщение отредактировал Deadly-man - Понедельник, 02 Августа 2010, 14:12
Проблема почти решена. Но только почти... А каким образом можно написать исключение? А то я ускорил игрока в два раза, но все равно при прыжке он все равно замедлен... И анимации тоже медленные...
Добавлено (30.07.2010, 19:33) --------------------------------------------- Проблема со стазисом решена... Еще вопросы... 1) Можно ли создать средствами US projectile. Просто сделал гранаты, не могу заставить игрока бросить их при нажатии "F". 2) Можно ли нанести урон всем, кто находится прямо перед игроком и на расстоянии менее полуметра? Единственное, что я придумал - сделать projectile и если перед игроком никого нет, мгновенно остановить... 3) Можно ли сделать вывод оставшегося времени замедления на экран, как скажем, когда игрок получает берсерк/усилитель? Если да то как? 4) Как сделать такую вещь - подходим, скажем, к упавшему дереву, мешающему пройти, нажимаем кнопку активации. Игрок закладывает взрывчатку, которая при нажатии клавиши детонации/по истечению времени взорвется и разрушит дерево? Добавлено (30.07.2010, 19:37) --------------------------------------------- И снова вопрос... Можно ли как-нибудь сделать дверь, которая быстро закрывается? Хотя бы через скрипт? Скажем, чтобы положение объекта по Z с каждой секундой менялось... (чтобы было какое-нибудь применение стазиса... А так единственное, на что он годится - получить небольшое преимущество в бою)
Сообщение отредактировал Deadly-man - Пятница, 30 Июля 2010, 19:48