Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

3 Dimensional Chat / Grabbing cliffs and edges the mystery

Author
Message
ironhoof
21
Years of Service
User Offline
Joined: 3rd Sep 2002
Location:
Posted: 24th Oct 2002 06:15
Okay While I may know 2D im COMPLETELY lost in working with 3d situations such as this recent How do I make my character grab that edge if he falls off!?

Heres the situation, ahright I have my character model "YAY! one of my best models". I want him to be able to jump and grab cliff edges and maybe hand shimmy the edge
even or as an emergancey catch when he falls. I cant figure it out for the life of me

My new 1 character 3d action RPG is really complex in dungeons and towers however I made him die If he falls ^_^ "SPLAT!" so i kinda need this as a saftey line. Cause Im even falling more than nessessary.
-----\
There was a man on the stairs that wasn't there.
He wasn't there agian today I think he's from the CIA.
dARKNER
21
Years of Service
User Offline
Joined: 22nd Oct 2002
Location: Sweden
Posted: 24th Oct 2002 12:43
Hmm .. I'm kinda new to this as well .. But my theory is that's the same as I do in 2D ...
I use calculations on the extra ColBox'es .. 1 major for the object and some small for special fx's like grabbing etc.

Maybe this can be of some help ... thus I'm more into point'n'click games .. But this is how I did it in AmosPro 100 years ago .. lol ...

//dARKNER
dARKNER
21
Years of Service
User Offline
Joined: 22nd Oct 2002
Location: Sweden
Posted: 24th Oct 2002 14:53
Hmm .. kinda unclear in my explanation .. ..

You already have a col detection on you floor, cliff or castle wall ... on the very edge just in the same level and a small distance lower you have the "Grabing Zone" ..

If UserOnFloor() && GrabZone() then UserSLipedAndGrabedEdge()


If UserInAir() && GrabZone() then UserJumpedAgainstEdgeAndGrabed()

The hardest and most complicated is constructing those EdgeZones... One idea is to construct a Invisible Box or Tube during Map Creation along the edges where you want the player to be able to do what ever it is you whant em to do...

In the 2D "Mario 1" - clone I did every platform vas a box .. thus it was easy to calc if it was a edge hit or not ...

Hope this was an easier explanation...

But alas I do hope someone with more experience can post a mezz here on how you Realy do it ...

//dARKNER
Shadow Robert
21
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 24th Oct 2002 19:35
you can't just name functions...

the best way is to check orientation and if the cliff is still below the character - also in often cases you'll want to find out if the cliff is grabable

lets use the global "Dim gEdgeState(vMaxEdge,3)", now you setup the world first and you'll want to populate that with an addition file which has all of the edges of the world
position is (EdgeNumber,X | Y | Z | Angle)
you can then run through a checker each cycle to find out what edge is close, if the X Y Z is within a set perameters based upon the characters position then you can access if it is grabbable
Also you can setup a second array which hold the area details, so say each edge for 100meters - speeds up the check.
Hope that helps...

Anata aru kowagaru no watashi!
ironhoof
21
Years of Service
User Offline
Joined: 3rd Sep 2002
Location:
Posted: 25th Oct 2002 09:47
Cool thanks! ^_^ He now grabs the edge I had the right idea and it was the same as yours, he grabs! and i can make him pull up! he can fall jsut not too HIGH up once the faling force reaches about 20 he's toast! :watches ironhoof fall and bust up his antlers and legs: ^_^ this is fun!

-----\
There was a man on the stairs that wasn't there.
He wasn't there agian today I think he's from the CIA.

Login to post a reply

Server time is: 2024-03-29 10:43:44
Your offset time is: 2024-03-29 10:43:44