feat(hero): facade rework — inscription, medallions, motto band, banner lettering #39
No files matched your search
@@ -1,5 +1,6 @@
|
|||||||
#include "GigLineVehicle.h"
|
#include "GigLineVehicle.h"
|
||||||
|
|
||||||
|
#include "ChaosVehicleWheel.h"
|
||||||
#include "ChaosWheeledVehicleMovementComponent.h"
|
#include "ChaosWheeledVehicleMovementComponent.h"
|
||||||
#include "Components/SkeletalMeshComponent.h"
|
#include "Components/SkeletalMeshComponent.h"
|
||||||
|
|
||||||
@@ -12,6 +13,28 @@ namespace GigLineVehicleDims
|
|||||||
constexpr float TrackCm = 156.0f;
|
constexpr float TrackCm = 156.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UGigLineFrontWheel::UGigLineFrontWheel()
|
||||||
|
{
|
||||||
|
// Dimensions from the model's report: radius 33 cm, width 22 cm. Steering yes, drive no.
|
||||||
|
WheelRadius = 33.0f;
|
||||||
|
WheelWidth = 22.0f;
|
||||||
|
bAffectedBySteering = true;
|
||||||
|
bAffectedByEngine = false;
|
||||||
|
MaxSteerAngle = 35.0f;
|
||||||
|
SuspensionMaxRaise = 8.0f;
|
||||||
|
SuspensionMaxDrop = 8.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
UGigLineRearWheel::UGigLineRearWheel()
|
||||||
|
{
|
||||||
|
WheelRadius = 33.0f;
|
||||||
|
WheelWidth = 22.0f;
|
||||||
|
bAffectedBySteering = false;
|
||||||
|
bAffectedByEngine = true;
|
||||||
|
SuspensionMaxRaise = 8.0f;
|
||||||
|
SuspensionMaxDrop = 8.0f;
|
||||||
|
}
|
||||||
|
|
||||||
AGigLineVehicle::AGigLineVehicle()
|
AGigLineVehicle::AGigLineVehicle()
|
||||||
{
|
{
|
||||||
PrimaryActorTick.bCanEverTick = true;
|
PrimaryActorTick.bCanEverTick = true;
|
||||||
@@ -131,9 +154,10 @@ void AGigLineVehicle::ConfigureWheels()
|
|||||||
for (const FWheelSpec& Spec : Specs)
|
for (const FWheelSpec& Spec : Specs)
|
||||||
{
|
{
|
||||||
FChaosWheelSetup Setup;
|
FChaosWheelSetup Setup;
|
||||||
// FChaosWheelSetup has only the class, the bone and an offset in 5.8 - there is
|
// FChaosWheelSetup has only the class, the bone and an offset in 5.8 - there is no
|
||||||
// no per-setup disable flag, and steering/drive flags live on the wheel object.
|
// per-setup disable flag, and steering/drive flags live on the wheel class.
|
||||||
Setup.WheelClass = UChaosVehicleWheel::StaticClass();
|
Setup.WheelClass = Spec.bSteer ? UGigLineFrontWheel::StaticClass()
|
||||||
|
: UGigLineRearWheel::StaticClass();
|
||||||
Setup.BoneName = FName(Spec.Bone);
|
Setup.BoneName = FName(Spec.Bone);
|
||||||
Movement->WheelSetups.Add(Setup);
|
Movement->WheelSetups.Add(Setup);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,37 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "CoreMinimal.h"
|
#include "CoreMinimal.h"
|
||||||
|
#include "ChaosVehicleWheel.h"
|
||||||
#include "WheeledVehiclePawn.h"
|
#include "WheeledVehiclePawn.h"
|
||||||
#include "GigLineVehicle.generated.h"
|
#include "GigLineVehicle.generated.h"
|
||||||
|
|
||||||
class UChaosWheeledVehicleMovementComponent;
|
class UChaosWheeledVehicleMovementComponent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Front and rear wheel classes.
|
||||||
|
*
|
||||||
|
* Chaos reads steering and drive flags from the wheel *object* the setup points at, and the
|
||||||
|
* base `UChaosVehicleWheel` is what the first attempt used - which produced zero wheels
|
||||||
|
* after registration. Giving each axle its own class is also what Unreal's own vehicle
|
||||||
|
* template does, for the same reason: the parameters belong to the class, not to the
|
||||||
|
* instance that arrives later.
|
||||||
|
*/
|
||||||
|
UCLASS()
|
||||||
|
class GIGLINE_API UGigLineFrontWheel : public UChaosVehicleWheel
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
public:
|
||||||
|
UGigLineFrontWheel();
|
||||||
|
};
|
||||||
|
|
||||||
|
UCLASS()
|
||||||
|
class GIGLINE_API UGigLineRearWheel : public UChaosVehicleWheel
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
public:
|
||||||
|
UGigLineRearWheel();
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The one drivable vehicle in the demo.
|
* The one drivable vehicle in the demo.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in new issue
Block a user