Announcement

Collapse
No announcement yet.

Climbing walls in two planes

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

  • MortalMonkey
    replied
    I couldn't find that "Change physics" default prop in ZoneInfo, but this should do the trick:

    [code:1:50439f0dae]//================================================== ===========================
    // ChangePhysZone.
    //================================================== ===========================
    class ChangePhysZone expands ZoneInfo;

    var() EPhysics SetPhysics, ResetPhysics;

    event ActorEntered( actor Other )
    {
    if (Other.Physics != SetPhysics)
    Other.SetPhysics( SetPhysics );

    Super.ActorEntered( Other );
    }

    event ActorLeaving( actor Other )
    {
    if (Other.Physics != ResetPhysics)
    Other.SetPhysics( ResetPhysics );

    Super.ActorLeaving( Other );
    }[/code:1:50439f0dae]

    DefaultProperties > ChangePhysZone > ResetPhysics should be set to PHYS_Falling, and in your case, SetPhysics should be PHYS_Spider.

    Now the only problem is, the physics are only changed upon entry and exit of the zone. We could remedy this by doing a constant check on physics:

    [code:1:50439f0dae]//================================================== ===========================
    // ReplacePhysZone.
    //================================================== ===========================
    class ReplacePhysZone expands ZoneInfo;

    var() EPhysics ReplaceFrom, ReplaceTo;

    function Tick( float DeltaTime )
    {
    local Actor A;

    ForEach ZoneActors( class'Actor', A )
    {
    if (A.Physics == ReplaceFrom)
    A.SetPhysics( ReplaceTo );
    }
    }

    event ActorLeaving( actor Other )
    {
    Other.SetPhysics( PHYS_Falling );
    Super.ActorLeaving( Other );
    }[/code:1:50439f0dae]

    In your case, ReplaceFrom should be PHYS_Walking, and ReplaceTo should be PHYS_Spider.

    Leave a comment:


  • Thebos
    replied
    Actually, I would like to create a zone that changes physics to PHY_Spider, just do not know how to do this. Have not been successful with the Zone Properties "change Physics" flag- seems to have no effect- probably missed a key setting though.

    Leave a comment:


  • Microwave Oven
    replied
    Maybe you could have a zone (or actor) which would set PHYS_Flying while the player is in contact with it?

    Leave a comment:


  • Thebos
    replied
    Another good thought, but for what I am trying to do, did not work to well. Dual gravity vectors move you to a corner when you jump, and applying a horizontal had some rather annoying effects. Example: jumps suddely become really high followed by rather quick and painful introduction to the ground as you re-entered vertical gravity. Actually, that might have uses elsewhere, but in my situation can have nasty, unintuituve consequences. Might be other ways to configure the gravity, I just do not know them.

    Leave a comment:


  • koraX
    replied
    look at TH-soulsharbour, there is a climable wall outside near well

    Leave a comment:


  • Schleicher
    replied
    How bout using a small Zone with altered gravity?

    Leave a comment:


  • Thebos
    replied
    A good thought, but I looked into that. Theatre uses ladder actors as I recall. Also, horizontal movement is slowed (at least for me). My map currently uses a combination of ladders and ledges on the walls. The effect is close, just lacks the degree of freedom I seek. Then there is the issue where some of the walls have narrow paths to them. Putting ladder actors there is not good as it slows down player movement. I have a way around it, but removes some player movement that I would prefer not have limited.

    Leave a comment:


  • LaughingRat
    replied
    Maybe try looking at the way it's done on the vine covered wall in TH-Theatre? There are patches of wall there that allow 2-axis movement.

    Leave a comment:


  • Thebos
    started a topic Climbing walls in two planes

    Climbing walls in two planes

    Looking for a way to create a zone that allows players to scale wall. The ladder actor and ledges can be used, but I am looking for two axis movement while climbing a wall. There is an actor Physics setting called PHYS_SPIDER available. Based on UnrealWikki's (minimal) description, it is what I am looking for (at least partially). How do I create a zone that changes a Players physics to SPIDER when in the zone (in much the same way as entering a water zone changes Player physics to swimming)

    Has this been tried before and found to have no effect? Thanks.

    Unreal Wikki info:
    http://wiki.beyondunreal.com/wiki/PhysicsType
Working...
X