moving chair

Post » Tue May 17, 2011 1:56 am

Im trying to make a chair (with a movement animation) move the palyer around when they sit on it. The trouble is the furnature markers have to be on the scene root meaning i cant apply an animation to them the player doesnt move with the chair.

I really dont want to script the movement...so is there any way to make the player stick to the chair? or a way to apply animations ot the funature markers?
User avatar
Vickytoria Vasquez
 
Posts: 3456
Joined: Thu Aug 31, 2006 7:06 pm

Post » Tue May 17, 2011 10:11 am

Furniture is not a mount, Actors are never attached to the furniture so even if you could animate the positions it would not effect the actors sitting on the furniture -> use a Mount that looks like a chair with its AI disabled so it never turns or tries to fight back.
User avatar
Laura Elizabeth
 
Posts: 3454
Joined: Wed Oct 11, 2006 7:34 pm

Post » Tue May 17, 2011 5:07 am

Furniture is not a mount, Actors are never attached to the furniture so even if you could animate the positions it would not effect the actors sitting on the furniture -> use a Mount that looks like a chair with its AI disabled so it never turns or tries to fight back.


Ahh okay :)

Yep, i can do that.

EDIT How do you mean disable the AI?
User avatar
Brιonα Renae
 
Posts: 3430
Joined: Mon Oct 22, 2007 3:10 am

Post » Tue May 17, 2011 3:23 pm

Ahh okay :)

Yep, i can do that.

EDIT How do you mean disable the AI?


Its not always necessary but it does free up AI Processing Slots to active Actors.

I use mounts for multiple interesting things -> Ladders, Spell Effects, Ropes, Simulating Scaling Objects -> Oh and the best part is that you can animate the EntryPoint/ExitPoint so that for instance ladders you can get on at the bottom of it and it will exit you at the top ! :) no need to script the movement.

scn 1SSDisableMountFurnitureAIRef MyActivatorFloat TimerShort SwitchBegin OnLoad	SetGhost 1							; Prevent Mount from taking DMG	If IsActorsAIOff == 0		ToggleActorsAI					; Disable AI processing	EndifEndBegin OnActivate	If Timer > 0		Return	Else		Set MyActivator to GetActionRef		If MyActivator.IsActor && MyActivator.IsCreature == 0			If IsActorsAIOff				ToggleActorsAI			; Enable AI processing, Otherwise Actor can not mount the Furniture.				Activate			Else				Set Timer to 3			; Timer to Toggle AI back off -> do not turn it off while an actor is still dismounting.				Set Switch to 1			; Also prevents re-activation until everthing is reset to a default state.				Activate			Endif		Endif	EndifEndBegin GameMode	If Switch == 0		Return	Else		If Timer < 0			Set Switch to 0			ToggleActorsAI				; Disable AI processing		Else			Set Timer to Timer - GetSecondsPassed		Endif	EndifEnd

User avatar
Bereket Fekadu
 
Posts: 3421
Joined: Thu Jul 12, 2007 10:41 pm

Post » Tue May 17, 2011 11:18 am

with the mount/dismount animations, is there a way i can make its skip them?

I was thinking that I could make a very short animation that only effects 1 bone, but it seems it didnt like that....any ideas?
User avatar
naomi
 
Posts: 3400
Joined: Tue Jul 11, 2006 2:58 pm

Post » Tue May 17, 2011 4:50 am

Wouldn't existing GetUp SitDown animations work as mount/dismount?
User avatar
Samantha hulme
 
Posts: 3373
Joined: Wed Jun 21, 2006 4:22 pm

Post » Mon May 16, 2011 11:38 pm

with the mount/dismount animations, is there a way i can make its skip them?

I was thinking that I could make a very short animation that only effects 1 bone, but it seems it didnt like that....any ideas?


No, but you can set the anims duration to 0 and control zero bones.

Wouldn't existing GetUp SitDown animations work as mount/dismount?


This is how I set it up -> except my Mount anim is like I mentioned up top Zero duration no Controllers and the Dismount is the anim of climbing reaching scaling or whatever and places the actor off at his intended location.
User avatar
Amiee Kent
 
Posts: 3447
Joined: Thu Jun 15, 2006 2:25 pm

Post » Tue May 17, 2011 7:42 am

I tried doing the emtpy, 0 length mounting animation, but the problem is now im not ending up on the creature, Im at a funny rotation and to the side....

any ideas why the regular horse mounting animation puts me in the right place, but the empty animation doesnt?

EDIT I also tried to use a cut down version of thehorse mounting animation (Bip01, NonAccum and Pelvis bones only) but i still ended up in that same weird position.
User avatar
Janette Segura
 
Posts: 3512
Joined: Wed Aug 22, 2007 12:36 am

Post » Mon May 16, 2011 11:18 pm

I tried doing the emtpy, 0 length mounting animation, but the problem is now im not ending up on the creature, Im at a funny rotation and to the side....

any ideas why the regular horse mounting animation puts me in the right place, but the empty animation doesnt?

EDIT I also tried to use a cut down version of thehorse mounting animation (Bip01, NonAccum and Pelvis bones only) but i still ended up in that same weird position.


Does your Mount's Idle anim contain controllers for the player? it needs to.

also check your rotation of your actorparent node maybe its rotated incorrectly.
User avatar
Penny Courture
 
Posts: 3438
Joined: Sat Dec 23, 2006 11:59 pm

Post » Tue May 17, 2011 3:08 am

Does your Mount's Idle anim contain controllers for the player? it needs to.

also check your rotation of your actorparent node maybe its rotated incorrectly.


It does, I made my own custom sitting postion.

Either way, the player is in the right position, its just the rotation (and i think translation) goes funny when an empty (or heavily modified) mount animation is used. works fine if i just used the horse mounting animations (with the horse bones animations stripped out).

While Im here...is there a way i can make my creature not be effected by havok when i move them around? I wanted to move it over a gap, but i end up just falling straight over the edge :shrug:
User avatar
Rachel Tyson
 
Posts: 3434
Joined: Sat Oct 07, 2006 4:42 pm

Post » Tue May 17, 2011 6:08 am

Double Post
User avatar
Marina Leigh
 
Posts: 3339
Joined: Wed Jun 21, 2006 7:59 pm

Post » Tue May 17, 2011 3:39 am

It does, I made my own custom sitting postion.

Either way, the player is in the right position, its just the rotation (and i think translation) goes funny when an empty (or heavily modified) mount animation is used. works fine if i just used the horse mounting animations (with the horse bones animations stripped out).

While Im here...is there a way i can make my creature not be effected by havok when i move them around? I wanted to move it over a gap, but i end up just falling straight over the edge :shrug:


Nope, The only positions you need to animate to have an actor enter and exit from two different locations are the EntryPoint and ActorParent nodes -> do not move the mount.
User avatar
Connor Wing
 
Posts: 3465
Joined: Wed Jun 20, 2007 1:22 am

Post » Mon May 16, 2011 11:18 pm

Nope, The only positions you need to animate to have an actor enter and exit from two different locations are the EntryPoint and ActorParent nodes -> do not move the mount.


I want to have the player move over the gap on the chair, plus there are some rotations. If you rotate the NonAccum for example and dont rotate the Bip01 then the camera ends up facing the wrong way. This is why I need to take the Bip01 with me, else the camera gets screwed up when i rotate the cdhair around. PLus the movement animation tends to go kinda funny if the chair doesnt spawn exsactly level...which with the havok can make it spawn at a slight angle that scripting cant even fix.
User avatar
Prohibited
 
Posts: 3293
Joined: Tue Jun 12, 2007 6:13 am

Post » Tue May 17, 2011 5:05 am

Another few things ive found when testing.

When I get out I get dumped back whereever the Bip02 bone is, not where the entrypoint bone is.

I have been able to turn off the collision by not having any on the skeleton, but in that case I cant figure out how to actually mount the chair as activating it doesnt seem to work.

Lastly, if I move the Bip02 node the distance it moves is based on the the creatures speed and the distancei n the animation...making precision movement impossible as I cant judge where it will end up.


Am I fighting a lost cause here, is what Im trying to do impossible?
Just to rehash, I want the player to sit on the car, the chair them moves its way through the area and across some gaps, it has many turns and twists.
User avatar
latrina
 
Posts: 3440
Joined: Mon Aug 20, 2007 4:31 pm

Post » Tue May 17, 2011 7:57 am

I want to have the player move over the gap on the chair, plus there are some rotations. If you rotate the NonAccum for example and dont rotate the Bip01 then the camera ends up facing the wrong way. This is why I need to take the Bip01 with me, else the camera gets screwed up when i rotate the cdhair around. PLus the movement animation tends to go kinda funny if the chair doesnt spawn exsactly level...which with the havok can make it spawn at a slight angle that scripting cant even fix.


Is the Chair the Mount or is it an activator that spawns the mount ? generally you will want the chair to be the mount.

As for rotation the players rotation is inherited from the mount so you will always get on and off facing the same direction as the mount does.

Another few things ive found when testing.

When I get out I get dumped back whereever the Bip02 bone is, not where the entrypoint bone is.


Does your idle anim contain controllers for the EntryPoint ? because it should not as the game give the mount 1 frame of the idle anim playing before the player is actually released and that is enough to screw up the exit position.

I have been able to turn off the collision by not having any on the skeleton, but in that case I cant figure out how to actually mount the chair as activating it doesnt seem to work.


Not sure why you would want to remove the Havok as the BSBounds shape living collision can not "NOT" be present and it not de-activatable so you will never be able to just move the mount over the gap by animation by removing havok.

You give thought to adding Collision over the gaps while the player is on your chair so it can just walk over them normally by scripting the movement "Playgroup XXX" and then disabling the collision once on the other side and the player is freed.

Lastly, if I move the Bip02 node the distance it moves is based on the the creatures speed and the distancei n the animation...making precision movement impossible as I cant judge where it will end up.


Am I fighting a lost cause here, is what Im trying to do impossible?
Just to rehash, I want the player to sit on the car, the chair them moves its way through the area and across some gaps, it has many turns and twists.


I do not think your fighting a lost cause but I do think we have a disconnect between how I make Ladders Ropes and what not work and what your trying to do.

It sounds like your trying to do a mine cart type of ride ?

I did something similar but it went differently basically the player confronts a mad conjurer who zaps the player back into a chair that the conjurer then cast a spell onto and animates the chair (players controls get disabled) and the chair (mount) now containing the player is given one Ability that runs a fairly complicated script that handles movement by Playgroup and some SI's to follow the conjurer as he speaks a bunch speel explaining the next section of that quest and what he expects the player to do then he Un-animates the chair which frees the player -> so basically its a free ride from one location to another (a mine cart ride).
User avatar
Stacy Hope
 
Posts: 3391
Joined: Thu Jun 22, 2006 6:23 am

Post » Tue May 17, 2011 3:15 am

Is the Chair the Mount or is it an activator that spawns the mount ? generally you will want the chair to be the mount.


It is just the mount.

As for rotation the players rotation is inherited from the mount so you will always get on and off facing the same direction as the mount does.


Yes, but the player' rotation is rather interesting. Visually the roataion is taken from whatever the bones before the actor parent tell it. The camera though only takes it from the bip02 node, so whatever way the faces is where the camera will point.

Does your idle anim contain controllers for the EntryPoint ? because it should not as the game give the mount 1 frame of the idle anim playing before the player is actually released and that is enough to screw up the exit position.


No, but thanks for telling me that, I know what gone wrong there now. The idle is putting the entrypoint with the Bip02 Node.

Not sure why you would want to remove the Havok as the BSBounds shape living collision can not "NOT" be present and it not de-activatable so you will never be able to just move the mount over the gap by animation by removing havok.

You give thought to adding Collision over the gaps while the player is on your chair so it can just walk over them normally by scripting the movement "Playgroup XXX" and then disabling the collision once on the other side and the player is freed.


Well the problem I had was that with the collision it had a tendancy to hit a 'bump' and then the animations would take it completely off track. Esspecially in one parts where it heads downwards.

I do not think your fighting a lost cause but I do think we have a disconnect between how I make Ladders Ropes and what not work and what your trying to do.

It sounds like your trying to do a mine cart type of ride ?

I did something similar but it went differently basically the player confronts a mad conjurer who zaps the player back into a chair that the conjurer then cast a spell onto and animates the chair (players controls get disabled) and the chair (mount) now containing the player is given one Ability that runs a fairly complicated script that handles movement by Playgroup and some SI's to follow the conjurer as he speaks a bunch speel explaining the next section of that quest and what he expects the player to do then he Un-animates the chair which frees the player -> so basically its a free ride from one location to another (a mine cart ride).


Yes, very similar to that. What I have is one long animation that takes it along the route I want. Now that you've told me this stuff Im just down to 1 problem with it, the camera not turning because Im not moving/rotating the Bip02 bone.

The way you did it I see is to script each direction of movement which is what I was trying to aviod.
User avatar
Quick Draw III
 
Posts: 3372
Joined: Sat Oct 20, 2007 6:27 am

Post » Tue May 17, 2011 11:16 am

Yes, but the player' rotation is rather interesting. Visually the roataion is taken from whatever the bones before the actor parent tell it. The camera though only takes it from the bip02 node, so whatever way the faces is where the camera will point.


Its also a very bad idea to animate rotation onto either Bip01 or Bip02 as this causes inscene rotation that can not be corrected and the only way to correct it is to completely restart the game so everything gets reset.

Well the problem I had was that with the collision it had a tendancy to hit a 'bump' and then the animations would take it completely off track. Esspecially in one parts where it heads downwards.


I think I lucked out of this problem :) my need was to just create some simple logic using GetDistance and GetHeadingAngle to follow this one NPC and the terrain was basically flat because it took place in his tower so I did not have to deal with any Z position problems or anything crazy.


Yes, very similar to that. What I have is one long animation that takes it along the route I want. Now that you've told me this stuff Im just down to 1 problem with it, the camera not turning because Im not moving/rotating the Bip02 bone.

The way you did it I see is to script each direction of movement which is what I was trying to aviod.


Actually my script got condensed considerably its insanely simple now -> my old was used a ton of Markers but After looking at this and toying with that section I decided to condense.

This little Bit of Code almost perfectly mimics a Follow Package -> you might find it useful for something.

scn 1SSMSAbilityFollowNPCMobiusRef MobiusShort MoveFloat DirectionBegin ScriptEffectStart	Set Mobius to SSNPCMobius	DisablePlayerControls					; For some reason this does not Disable Movement or Run/Walk while mounted.	DisableControl 0							; Disable Movement Forward	DisableControl 1							; Disable Movement Backward	DisableControl 2							; Disable Movement Left	DisableControl 3							; Disable Movement Right	DisableControl 10						; Disable Switch Run/Walk	DisableControl 11						; Disable Toggle AlwaysRunEndBegin ScriptEffectUpdate	If GetDistance Mobius < 256				; Wait for Mobius to finish talking, do not pass him.		If Move == 1 || 2			Set Move to 0			Playgroup Idle 0		Endif	Elseif GetDistance Mobius > 512		; Catch up to Mobius.		If Move == 0 || 1			Set Move to 2			Playgroup FastForward 1		Endif	Else											; Follow Mobius.		If Move == 0 || 2			Set Move to 1			PlayGroup Forward 1		Endif	Endif	Set Direction to GetAngle Z				; Always face Mobius.	Set Direction to (Direction + GetHeadingAngle Mobius)	SetAngle Z DirectionEndBegin ScriptEffectFinish	EnablePlayerControls					; For some reason this does not Disable Movement or Run/Walk while mounted.	EnableControl 0							; Enable Movement Forward	EnableControl 1							; Enable Movement Backward	EnableControl 2							; Enable Movement Left	EnableControl 3							; Enable Movement Right	EnableControl 10							; Enable Switch Run/Walk	EnableControl 11							; Enable Toggle AlwaysRunEnd

User avatar
Jerry Jr. Ortiz
 
Posts: 3457
Joined: Fri Nov 23, 2007 12:39 pm

Post » Tue May 17, 2011 10:40 am

Well I think the simplist sulotion is either:

- Make a mostly straight route
- Just put it in forward and let the player control their way through, using collision to keeps them on the right route.


Thanks for all your help :) I should be good from here.
User avatar
sally coker
 
Posts: 3349
Joined: Wed Jul 26, 2006 7:51 pm


Return to IV - Oblivion