mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-14 08:04:40 +00:00
ai test classes
protoplayer protocar
This commit is contained in:
parent
78a553a74f
commit
c2b347af7c
2 changed files with 102 additions and 0 deletions
|
|
@ -4,3 +4,58 @@ datablock ItemData(PrototypeItemData)
|
||||||
ShapeAsset = "Prototyping:TorusPrimitive_shape";
|
ShapeAsset = "Prototyping:TorusPrimitive_shape";
|
||||||
cameraMaxDist = "0.75";
|
cameraMaxDist = "0.75";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
datablock PlayerData( ProtoPlayer ) {
|
||||||
|
// Third person shape
|
||||||
|
ShapeAsset = "Prototyping:Playerbot_shape";
|
||||||
|
controlMap = "playerKeyMap";
|
||||||
|
AIControllerData = "aiPlayerControl";
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock WheeledVehicleTire(ProtoCarTire)
|
||||||
|
{
|
||||||
|
// Tires act as springs and generate lateral and longitudinal
|
||||||
|
// forces to move the vehicle. These distortion/spring forces
|
||||||
|
// are what convert wheel angular velocity into forces that
|
||||||
|
// act on the rigid body.
|
||||||
|
shapeAsset = "Prototyping:carwheel_shape";
|
||||||
|
|
||||||
|
staticFriction = 1;
|
||||||
|
kineticFriction = 4.2;
|
||||||
|
|
||||||
|
// Spring that generates lateral tire forces
|
||||||
|
lateralForce = 150000;
|
||||||
|
lateralDamping = 30000;
|
||||||
|
lateralRelaxation = 0.1;
|
||||||
|
|
||||||
|
// Spring that generates longitudinal tire forces
|
||||||
|
longitudinalForce = 600;
|
||||||
|
longitudinalDamping = 1600;
|
||||||
|
longitudinalRelaxation = 0.1;
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock WheeledVehicleSpring(ProtoCarSpring)
|
||||||
|
{
|
||||||
|
// Wheel suspension properties
|
||||||
|
length = "0.6"; // Suspension travel
|
||||||
|
force = 3600; // Spring force
|
||||||
|
damping = 2800; // Spring damping
|
||||||
|
antiSwayForce = 300; // Lateral anti-sway force
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock WheeledVehicleData(ProtoCar)
|
||||||
|
{
|
||||||
|
category = "Vehicles";
|
||||||
|
shapeAsset = "Prototyping:car_shape";
|
||||||
|
|
||||||
|
collisionMul = 0;
|
||||||
|
impactMul = 0;
|
||||||
|
controlMap = "vehicleKeyMap";
|
||||||
|
AIControllerData = "aiCarControl";
|
||||||
|
cameraMaxDist = "2.81993";
|
||||||
|
ShapeFile = "data/Prototyping/shapes/Vehicles/car.dae";
|
||||||
|
mass = "1000";
|
||||||
|
originalAssetName = "ProtoCar";
|
||||||
|
massCenter = "0 0.75 0";
|
||||||
|
dragForce = "0.1";
|
||||||
|
};
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2012 GarageGames, LLC
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to
|
||||||
|
// deal in the Software without restriction, including without limitation the
|
||||||
|
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
// sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
// IN THE SOFTWARE.
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// This file contains script methods unique to the WheeledVehicle class. All
|
||||||
|
// other necessary methods are contained in "../server/scripts/vehicle.cs" in
|
||||||
|
// which the "generic" Vehicle class methods that are shared by all vehicles,
|
||||||
|
// (flying, hover, and wheeled) can be found.
|
||||||
|
|
||||||
|
function ProtoCar::onAdd(%this, %obj)
|
||||||
|
{
|
||||||
|
Parent::onAdd(%this, %obj);
|
||||||
|
|
||||||
|
// Setup the car with some tires & springs
|
||||||
|
for (%i = %obj.getWheelCount() - 1; %i >= 0; %i--)
|
||||||
|
{
|
||||||
|
%obj.setWheelTire(%i, ProtoCarTire);
|
||||||
|
%obj.setWheelSpring(%i, ProtoCarSpring);
|
||||||
|
%obj.setWheelPowered(%i, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Steer with the front tires
|
||||||
|
%obj.setWheelSteering(0, 1);
|
||||||
|
%obj.setWheelSteering(1, 1);
|
||||||
|
|
||||||
|
// Only power the two rear wheels... assuming there are only 4 wheels.
|
||||||
|
%obj.setWheelPowered(2, true);
|
||||||
|
%obj.setWheelPowered(3, true);
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue