3D Boxes
3D Boxes
Code:
void Boxes(UCanvas* pCanvas, APawn* Target, FColor Color)
{
//Valid Target Checks Here
{
FVector Min,Max,vVec1,vVec2,vVec3,vVec4,vVec5,vVec6,vVec7, vVec8;
FBox Returned;
Target->GetComponentsBoundingBox(&Returned);
if(Returned.IsValid)
{
Max = Returned.Max;
Min = Returned.Min;
{
vVec3 = Min;
vVec3.X = Max.X;
vVec4 = Min;
vVec4.Y = Max.Y;
vVec5 = Min;
vVec5.Z = Max.Z;
vVec6 = Max;
vVec6.X = Min.X;
vVec7 = Max;
vVec7.Y = Min.Y;
vVec8 = Max;
vVec8.Z = Min.Z;
vVec1 = WorldToScreen(pCanvas, Min);
vVec2 = WorldToScreen(pCanvas, Max);
vVec3 = WorldToScreen(pCanvas, vVec3);
vVec4 = WorldToScreen(pCanvas, vVec4);
vVec5 = WorldToScreen(pCanvas, vVec5);
vVec6 = WorldToScreen(pCanvas, vVec6);
vVec7 = WorldToScreen(pCanvas, vVec7);
vVec8 = WorldToScreen(pCanvas, vVec8);
pCanvas->Draw2DLine(vVec1.X, vVec1.Y, vVec5.X, vVec5.Y, Color);
pCanvas->Draw2DLine(vVec2.X, vVec2.Y, vVec8.X, vVec8.Y, Color);
pCanvas->Draw2DLine(vVec3.X, vVec3.Y, vVec7.X, vVec7.Y, Color);
pCanvas->Draw2DLine(vVec4.X, vVec4.Y, vVec6.X, vVec6.Y, Color);
pCanvas->Draw2DLine(vVec1.X, vVec1.Y, vVec3.X, vVec3.Y, Color);
pCanvas->Draw2DLine(vVec1.X, vVec1.Y, vVec4.X, vVec4.Y, Color);
pCanvas->Draw2DLine(vVec8.X, vVec8.Y, vVec3.X, vVec3.Y, Color);
pCanvas->Draw2DLine(vVec8.X, vVec8.Y, vVec4.X, vVec4.Y, Color);
pCanvas->Draw2DLine(vVec2.X, vVec2.Y, vVec6.X, vVec6.Y, Color);
pCanvas->Draw2DLine(vVec2.X, vVec2.Y, vVec7.X, vVec7.Y, Color);
pCanvas->Draw2DLine(vVec5.X, vVec5.Y, vVec6.X, vVec6.Y, Color);
pCanvas->Draw2DLine(vVec5.X, vVec5.Y, vVec7.X, vVec7.Y, Color);
}
}
}
}