Announcement

Collapse

The Infinity Blade Forums Have Moved

We've launched brand new Infinity Blade forums with improved features and revamped layout. We've also included a complete archive of the previous posts. Come check out the new Infinity Blade forums.
See more
See less

Zombies at boltons

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    #61
    Originally posted by frankit View Post

    * a couple of the zombies appeared to spawn from thin air, and some of the animations meant the zombies animated through the wire mesh windows, which broke the realism a bit.
    I literally have only spent a couple of hours bringing the genesis map up to current standards and putting zombies in.of coarse that zombie wont spawn in front of you,and a couple of times you see them change shirt when shot with the shotgun,its all easily fixed and just requires a bit of time-that most precious resource.

    there are several ways to stop the anims from penetrating the meshes,most likely I will add a blocking volume to the doors,they currently use per poly collision so you can shoot throught the wire mesh windows.im just about to see if using the phys asset for collision on the pawn will work as its much less work and I find no performance loss when doing so.

    Comment


      #62


      no luck,looks like blocking volumes it is.

      Comment


        #63
        Every time I look you make good progress on your improvements

        AI pushing through doors/walls is a problem I've noticed on UT2004 mods and hasn't improved much from what you're pointing out there. I would suggest doubling/trebling door thickness unless you can fix that collision.

        Comment


          #64
          Realy cant add much comment as everyone said what i was going to.I dont have experience with ai but maybe a part solution coud be if they start to consider walls as covers.I saw this tutorial http://www.digitaltutors.com/lesson/31658 all in kismet that makes cover ai for bots.I supose a cover thing coud be used for the zombies to switch to idle animation or something when close to walls.

          Looks great.Can you explain only the principle behind the flamethrower with a few words?And another quick question.Is the laser sight a 3d cylinder attached to the ak47 or is it some particle effect?

          Comment


            #65
            laser sight is a ribbon particle system attached to the weapon.

            with the flame thrower I guess you mean how the zombies catch fire when running through the flames.

            Code:
            class fire_Volume extends DynamicPhysicsVolume
            placeable;
            
            var	CylinderComponent		CylinderComponent;
            var Pawn P;
            var() int DamageAmount;
            
            simulated event PostBeginPlay()
            {
            	Super.PostBeginPlay();
                    SetTimer(5.0f,false,nameof(destroy1));
            	SetCollision(bEnabled, bBlockActors);
            }
            
            
            simulated event Touch(Actor Other, PrimitiveComponent OtherComp, Vector HitLocation, Vector HitNormal)
            {
            	super.Touch(Other, OtherComp, HitLocation, HitNormal);
            	`log("Volume: hot hot hot");
            	///WorldInfo.Game.Broadcast(self, "hot hot hot" ); ///sends console message
            	///P.Health -= DamageAmount;
            	///HurtRadius(1.0, 50.0, class'UTDmgType_Barrel', 50.0, Location,,, True);
            	SetTimer(7.0f,false,nameof(destroy1));
            }
            
            simulated function destroy1()
            {
                   destroy();
            }
            
            defaultproperties
            {
                    bStatic=false
            	bNoDelete=false
            	bCollideActors=true
            	bCollideAsEncroacher=false
            	Physics=PHYS_None
            	bNoEncroachCheck=false
            	CollisionType=COLLIDE_TouchAll
            
            
                    Begin Object Class=RB_RadialImpulseComponent Name=CollisionSphere
            		AlwaysCheckCollision=true
            		CollideActors=true
            		ImpulseRadius=300
            		ImpulseStrength=0
            	End Object
            
            	Components.Add(CollisionSphere)
            	///CollisionComponent=CollisionSphere
            
            
            	begin object class=DrawSphereComponent name=DrawSphere
            		SphereRadius=25
            		bDrawWireSphere=true
            		HiddenGame=false
            		HiddenEditor=false
            		bIgnoreOwnerHidden=true
            	end object
            	///Components.Add(DrawSphere)
            	
            	Begin Object Class=CylinderComponent Name=CollisionCylinder
            		CollisionRadius=+0054.000000
            		CollisionHeight=+0078.000000
            		BlockNonZeroExtent=true
            		BlockZeroExtent=true
            		BlockActors=true
            		CollideActors=true
            	End Object
            	CollisionComponent=CollisionCylinder
            	CylinderComponent=CollisionCylinder
            	Components.Add(CollisionCylinder)
            	
            	
            	DamageAmount=25
            }
            and the in the projectile class

            Code:
            var UTAvoidMarker FearSpot;
            
            simulated event Destroyed()
            {
            	Super.Destroyed();
            
            	if (FearSpot != None)
            	{
            		FearSpot.Destroy();
            		Spawn(class'fire_volume',,,);
            	}
            }
            
            simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNormal)
            {
            	if (DamageRadius > 0.0)
            	{
            		Explode( HitLocation, HitNormal );
            		Spawn(class'fire_volume',,,);
            		///Spawn(class'UTEmit_ShockCombo',,,);
            	}
            	else
            	{       Spawn(class'fire_volume',,,);
            		Other.TakeDamage(Damage,InstigatorController,HitLocation,MomentumTransfer * Normal(Velocity), MyDamageType,, self);
            		Shutdown();
            	}
            }
            when the projectile hits the floor or wall it spawns a fire_volume which then in turn destroys itself after a set time,the same time that the projectile explosion(or flame in this case)lasts.

            then you need to tell the pawn to react to the fire_volume.

            in your pawn.uc

            Code:
            event Touch (Actor Other, PrimitiveComponent OtherComp, Object.Vector HitLocation, Object.Vector HitNormal)
              {
                 
            
                  if(fire_volume(Other) != None && canburn ==true)
                    {
                        PlaySound(burning, true);
                        Mesh.SetMaterial(0, Material'CH_boltons_workers.Materials.boltons_zombie_m1_burnt');
                        customtimedilation=1.3;
                        bodysmoke.activateSystem();
                        SetTimer(5.0f,false,nameof(burntodeath));
                        FullBodyAnimSlot.SetActorAnimEndNotification(true);
                        FullBodyAnimSlot.PlayCustomAnim('rage', 1.0, 0.05, 0.05, true, false);
                        boltonspc.displaycremated();
                        canburn=false;
                    }
            
            
                }
            obviously this is what my zombies do but you just replace the stuff in the pawn with yours.

            Comment


              #66
              Thanks for the info Gaz

              Comment


                #67
                no problem,there are so few of us left might as well share the wealth.

                Comment


                  #68
                  thread has moved to the new forums.

                  https://forums.unrealengine.com/show...ltons-incident

                  see you all there and thanks for the support.

                  Comment


                    #69
                    Thanks for all the help and encouragement dude. Good luck with Boltons and see you on the other side...

                    Comment

                    Working...
                    X