From 6bf2a61e7c3a9fd58d7be070516b2e9b988e3946 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Mon, 16 Jun 2025 01:12:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4obb=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/renderer/entity/LaserTowerRenderer.java | 2 +- .../superbwarfare/client/renderer/entity/Yx100Renderer.java | 2 +- .../superbwarfare/client/renderer/special/OBBRenderer.java | 2 +- src/main/java/com/atsuishio/superbwarfare/tools/OBB.java | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/LaserTowerRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/LaserTowerRenderer.java index 1604bc428..5f272a2eb 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/LaserTowerRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/LaserTowerRenderer.java @@ -63,7 +63,7 @@ public class LaserTowerRenderer extends GeoEntityRenderer { bone.setHidden(!pCamera.isVisible(aabb)); } - if (name.equals("turret") || name.equals("turret2")) { + if (name.equals("isPart") || name.equals("turret2")) { bone.setRotY(-Mth.lerp(partialTick, animatable.yRotO, animatable.getYRot()) * Mth.DEG_TO_RAD); } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/Yx100Renderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/Yx100Renderer.java index 9e14ec5a4..706e0910a 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/Yx100Renderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/Yx100Renderer.java @@ -62,7 +62,7 @@ public class Yx100Renderer extends GeoEntityRenderer { } } - if (name.equals("turret")) { + if (name.equals("isPart")) { bone.setRotY(Mth.lerp(partialTick, animatable.turretYRotO, animatable.getTurretYRot()) * Mth.DEG_TO_RAD); } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/special/OBBRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/special/OBBRenderer.java index 8201ab059..aaade9333 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/special/OBBRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/special/OBBRenderer.java @@ -26,7 +26,7 @@ public class OBBRenderer { Vector3f halfExtents = obb.extents(); Quaternionf rotation; - if (obb.turret()) { + if (obb.isPart()) { rotation = VectorTool.combineRotationsTurret(pPartialTicks, entity); } else { rotation = VectorTool.combineRotations(pPartialTicks, entity); diff --git a/src/main/java/com/atsuishio/superbwarfare/tools/OBB.java b/src/main/java/com/atsuishio/superbwarfare/tools/OBB.java index 582e65fc8..08121d3d5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/tools/OBB.java +++ b/src/main/java/com/atsuishio/superbwarfare/tools/OBB.java @@ -15,8 +15,9 @@ import java.util.Optional; * @param center 旋转中心 * @param extents 三个轴向上的半长 * @param rotation 旋转 + * @param isPart 是否为子部件,一般用于炮塔 */ -public record OBB(Vector3f center, Vector3f extents, Quaternionf rotation, boolean turret) { +public record OBB(Vector3f center, Vector3f extents, Quaternionf rotation, boolean isPart) { public void setCenter(Vector3f center) { this.center.set(center);