平滑直升机和装甲车第三人称准星

This commit is contained in:
Atsuihsio 2025-03-08 02:45:25 +08:00
parent 58198e1c3e
commit ee7b194bca
2 changed files with 4 additions and 4 deletions

View file

@ -149,7 +149,7 @@ public class HelicopterHudOverlay {
}
Matrix4f transform = getVehicleTransform(mobileVehicle);
Matrix4f transform = getVehicleTransform(mobileVehicle, event.getPartialTick());
float x0 = 0f;
float y0 = 0.65f;
float z0 = 0.8f;
@ -244,9 +244,9 @@ public class HelicopterHudOverlay {
preciseBlit(guiGraphics, ModUtils.loc("textures/screens/helicopter/heli_driver_angle.png"), k + diffY, l + diffX, 0, 0.0F, i, j, i, j);
}
public static Matrix4f getVehicleTransform(VehicleEntity vehicle) {
public static Matrix4f getVehicleTransform(VehicleEntity vehicle, float partialTicks) {
Matrix4f transform = new Matrix4f();
transform.translate((float) vehicle.getX(), (float) vehicle.getY() + 1.45f, (float) vehicle.getZ());
transform.translate((float) Mth.lerp(partialTicks, vehicle.xo, vehicle.getX()), (float) Mth.lerp(partialTicks, vehicle.yo + 1.45, vehicle.getY() + 1.45), (float) Mth.lerp(partialTicks, vehicle.zo, vehicle.getZ()));
transform.rotate(Axis.YP.rotationDegrees(-vehicle.getYRot()));
transform.rotate(Axis.XP.rotationDegrees(vehicle.getXRot()));
transform.rotate(Axis.ZP.rotationDegrees(vehicle.getRoll()));

View file

@ -327,7 +327,7 @@ public class VehicleHudOverlay {
renderKillIndicator(guiGraphics, w, h);
} else if (Minecraft.getInstance().options.getCameraType() == CameraType.THIRD_PERSON_BACK && !ClientEventHandler.zoomVehicle) {
Vec3 p = RenderHelper.worldToScreen(new Vec3(player.getX(), player.getY(), player.getZ()).add(iLand.getBarrelVec(event.getPartialTick()).scale(192)), cameraPos);
Vec3 p = RenderHelper.worldToScreen(new Vec3(Mth.lerp(event.getPartialTick(), player.xo, player.getX()), Mth.lerp(event.getPartialTick(), player.yo + player.getEyeHeight(), player.getEyeY()), Mth.lerp(event.getPartialTick(), player.zo, player.getZ())).add(iLand.getBarrelVec(event.getPartialTick()).scale(192)), cameraPos);
// 第三人称准星
if (p != null) {
poseStack.pushPose();