Page 1 of 1

Custom walker issues

Posted: Mon Apr 07, 2014 10:57 pm
by Marth8880
Hey guys.

So I'm trying to workaround getting Combat Drones working the way they should in Mass Effect: Unification, and one idea that popped up was an auto-pilot walker (because they actually work [offline]). I rigged my Combat Drone model to be animated as a walker, I animated it identically to how the AT-RT is animated (like the same exact leg animations, basically), set up the ODF accordingly, aaaaaaand...this happened: http://www.youtube.com/watch?v=O19vgUAEEJ4

Bugs that occur:
- The vehicle cannot move.
- Whenever the vehicle attempts to drive forward or in reverse...interesting things happen, such as the steering becoming uncontrollable/out-of-control.
- The vehicle sometimes clip itself underneath the "terrain"; when this happens, the player dies immediately and dies whenever he/she tries to spawn thereon after; the framerate drops sharply upon each attempted spawn, and the player is forced to restart the mission.


ssv_walk_combatdrone.odf
Hidden/Spoiler:
[code][GameObjectClass]
ClassLabel = "walker"
GeometryName = "weap_tech_combatdrone_walker.msh"

[Properties]

//***********************************************
//*********** VEHICLE VALUES AND INFO ********
//***********************************************

HUDModel = "hud_ATRT_shape"


WALKERSECTION = "BODY"

//PilotType = "self"

VehicleType = "light"
Label = "Combat Drone"
VehiclePosition = "common.vehiclepositions.pilot"

GeometryName = "weap_tech_combatdrone_walker"
AnimationName = "weap_tech_combatdrone_walker"
//ExplosionName = "imp_walk_atst_exp"
//ExplosionOffset = "0.0 5.9058 0.1833"

CockpitTension = 25

MapTexture = "troop_icon"
HealthTexture = "HUD_com_probedroid_health_icon"
MapScale = 1.0


TimeRequiredToEject = "5.0"
EjectResistance = "0.03"
TimeTilReboard = "5.0"


//***********************************************
//*********** MOVEMENT VALUES *****************
//***********************************************

NoCombatInterrupt = "1"
AICollisionRadius = "1.0"
AIUseHoverPhysics = "1"

MaxTerrainAngle = "45.0"

Acceleraton = "6.2"
MaxSpeed = 3.5 // base forward speed
//MaxStrafeSpeed = 3.5 // base right/left speed
//MaxTurnSpeed = 3.5 // base turn speed

StoppedTurnSpeed = "3.5"
ForwardTurnSpeed = "3.5"
TurnThreshold = "0.6"

SteerAtYawLimit = "1"
SteerAtStrafeLimit = "0"
CorrectAimForSteering = "1"
SteerTowardAimFactor = "0.0"
ReverseBackwardSteering = "1" //steer in reverse like a car - ThrustAngleToStrafe works more intuitively this way
ThrustAngleToStrafe = "87" //should match yaw limit or 0.0
ThrustAngleToTurn = "88" //thrust angle to reach full forward turn speed
ThrustAngleToStop = "89" //thrust angle to turn in place

LegRayHitLength = "1"

//EnergyAutoRestore = -99999.9 // -5.0
EnergyBar = 60.0


//***********************************************
//*********** CAMERA VALUES *******************
//***********************************************

EyePointOffset = "0.0 1.0 0.0"
TrackOffset = "0.0 -0.12 2.2"
TiltValue = "5.0"


MaxPitchSpeed = "5.0"
MaxTurnSpeed = "1.5"
MaxYawSpeed = "3.5"

PCMaxYawSpeed = 3.5
PCMaxTurnSpeed = 1.5
PCPitchRate = 5.0

PitchLimits = "-45 45"
YawLimits = "-0 0"
PitchTurnFactor = "0"


TurnRate = 1.5
TurnFilter = 5.0
PitchRate = 2.0
PitchFilter = 5.0


//***********************************************
//*********** MAIN WEAPON VALUES **************
//***********************************************

VehiclePosition = "common.vehiclepositions.gunner"

WEAPONSECTION = 1
WeaponName = "weap_tech_combatdrone_stun"
WeaponAmmo = 0
WeaponChannel = 0

AimerNodeName = "aimer"
AimerPitchLimits = "-45 45"
AimerYawLimits = "-0 0"
FirePointName = "hp_fire"

PitchTurnFactor = "0"


WEAPONSECTION = 2
WeaponName = "weap_tech_combatdrone_incinerate"
WeaponAmmo = 0
WeaponChannel = 1

AimerNodeName = "aimer"
AimerPitchLimits = "-45 45"
AimerYawLimits = "-0 0"
FirePointName = "hp_fire"

PitchTurnFactor = "0"


//***********************************************
//*********** ANIMATION VALUES ****************
//***********************************************

TEMP_AnimationSpeed = "1.0"
TEMP_Type = "0"


SoldierCollision = "p_sphere"
OrdnanceCollision = "p_sphere"
BuildingCollision = "p_sphere"
BuildingCollision = "p_-tbv_sphere"
BuildingCollision = "p_-tbv_sphere1"
TerrainCollision = "p_sphere"
TerrainCollision = "p_-tbv_sphere"
TerrainCollision = "p_-tbv_sphere1"

//TargetableCollision = "p_sphere"


//******************************************
//*********** EFFECT VALUES **************
//******************************************

LegPairCount = "1"

WalkerLegPair = "LEGS"

LegBoneLeft = "bone_l_leg_2"
LegBoneRight = "bone_r_leg_2"

LegBoneTopLeft = "bone_l_leg_1"
LegBoneTopRight = "bone_r_leg_1"

TerrainLeft = "p_-tbv_sphere"
TerrainRight = "p_-tbv_sphere1"

FootBoneLeft = "bone_l_foot1"
FootBoneRight = "bone_r_foot1"

AISizeType = "HOVER"


//***********************************************
//*********** DAMAGE VALUES *******************
//***********************************************

MaxHealth = 1.0
MaxShield = 850.0


//***********************************************
//*********** DAMAGE EFFECT VALUES ************
//***********************************************

//PUT DAMAGE JUNK HERE MAYBE I DUNNO SHUT UP BUT DON'T ACTUALLY :twinkeyrunaway:


//*****************************************
//*********** SOUND VALUES **************
//*****************************************

VOUnitType = 125
HurtSound = ""
DeathSound = "com_exp_md_layered"
VehicleCollisionSound = ""
EngineSound = "drone_engine_med_idle_property"
TurnOnTime = "1.0"
TurnOffTime = "5.0"[/code]
weap_tech_combatdrone_walker.msh.option
Hidden/Spoiler:
[code]-vertexlighting -keep aimer hp_fire bone_root1 bone_spine bone_l_leg_1 bone_l_leg_2 bone_l_foot1 bone_r_leg_1 bone_r_leg_2 bone_r_foot1 [/code]
Walker hierarchy in XSI
Hidden/Spoiler:
Image
Quite frankly, I haven't hardly the slightest clue what I'm doing when it comes to walker-exclusive animation, rigging, and ODF parameters, so any help is appreciated. Thanks.

Re: Custom walker issues

Posted: Mon Apr 07, 2014 11:35 pm
by MileHighGuy
why is pilottype commented out? don't you need that?

EDIT: I gathered some stuff from the wiki.

Any controllable class (soldier, droid, flyer, hover, walker, turret):
PilotType: "none" = unpilotable, "self" = self-piloting, "vehicle" = pilot enters, "remote" = remote-controlled
The object spawned by WeaponRemote must be set to "remote" type.

Controllable objects support units
PilotType
none
self
vehicle
remote
vehicleself ---- I've never seen this used..

Walker state table: https://sites.google.com/site/swbf2modt ... statetable

Re: Custom walker issues

Posted: Mon Apr 07, 2014 11:36 pm
by Marth8880
So I can test it myself before allowing the AI to assume direct control.

Re: Custom walker issues

Posted: Mon Apr 07, 2014 11:46 pm
by MileHighGuy
I think it might be vital. check what I posted in the edit above.. try vehicle or remote.. Just a guess. I dont really know a lot about custom walkers..

EDIT: another thing from the wiki. More useful I think.

Vehicle Types

VehicleType = "light"

This plays into the collision system and how the vehicle will interact with the world. Specifically how a vehicle detects objects in the environment and reacts such as ai turning in time or moving around the object.

Options include:
fighter
transport
scout
remoteterminal
light
medium
heavy

EDIT 2: Actually, if light isn't the right one I don't know what is.

Re: Custom walker issues

Posted: Tue Apr 08, 2014 12:27 pm
by AceMastermind
You're testing it on Coruscant which consist of only models and wasn't designed for vehicles. How does it react if you test it on Hoth or Felucia etc where actual terrain is used?