• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Вопрос Legacy визуализация ротации Exp 3.1

  • Автор темы Автор темы r3z
  • Дата начала Дата начала
aka wqzxqz
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
24 Ноя 2024
Сообщения
671
Реакции
11
Делаю ротацию , столкнулся с проблемой, что поворот идет сразу голова и туловище вместе. Хочу сделать визуализацию Legacy, чтобы сначала был ротейт головы, затем туловища за ним.

Код onWalking:

Java:
Expand Collapse Copy
[USER=1474073]@Subscribe[/USER]
private void onWalking(EventMotion e) {
if (target == null || (autoPotion.isState() && autoPotion.isActive())) return;

float targetYaw = rotateVector.x;
float targetPitch = rotateVector.y;

float headYaw = targetYaw;
float headPitch = MathHelper.clamp(targetPitch, -89.0F, 89.0F);

float gcd = SensUtils.getGCDValue();
headYaw -= (headYaw - mc.player.rotationYawHead) % gcd;
headPitch -= (headPitch - mc.player.rotationPitchHead) % gcd;

mc.player.rotationYawHead = headYaw;
mc.player.rotationPitchHead = headPitch;

mc.player.renderYawOffset = headYaw;
mc.player.prevRenderYawOffset = headYaw;

e.setYaw(headYaw);
e.setPitch(headPitch);
}

Что менять надо?
 
Тут либо ии либо интерполяция к ротации башки
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Делаю ротацию , столкнулся с проблемой, что поворот идет сразу голова и туловище вместе. Хочу сделать визуализацию Legacy, чтобы сначала был ротейт головы, затем туловища за ним.

Код onWalking:

Java:
Expand Collapse Copy
[USER=1474073]@Subscribe[/USER]
private void onWalking(EventMotion e) {
if (target == null || (autoPotion.isState() && autoPotion.isActive())) return;

float targetYaw = rotateVector.x;
float targetPitch = rotateVector.y;

float headYaw = targetYaw;
float headPitch = MathHelper.clamp(targetPitch, -89.0F, 89.0F);

float gcd = SensUtils.getGCDValue();
headYaw -= (headYaw - mc.player.rotationYawHead) % gcd;
headPitch -= (headPitch - mc.player.rotationPitchHead) % gcd;

mc.player.rotationYawHead = headYaw;
mc.player.rotationPitchHead = headPitch;

mc.player.renderYawOffset = headYaw;
mc.player.prevRenderYawOffset = headYaw;

e.setYaw(headYaw);
e.setPitch(headPitch);
}

Что менять надо?
ывыаыыва:
Expand Collapse Copy
    public static float normalBodyRotation(float yaw) {
        double xDiff = mc.player.getPosX() - mc.player.prevPosX;
        double zDiff = mc.player.getPosZ() - mc.player.prevPosZ;
        float distSquared = (float) (xDiff * xDiff + zDiff * zDiff);
        float renderYawOffset = mc.player.prevRenderYawOffset;
        float offset = renderYawOffset;
        float yawOffsetDiff;

        if (distSquared > 0.0025000002f) {
            offset = (float) MathHelper.atan2(zDiff, xDiff) * 180.0f / (float) Math.PI - 90.0f;
        }

        if (mc.player != null && mc.player.swingProgress > 0.0f) {
            offset = yaw;
        }

        yawOffsetDiff = MathHelper.wrapDegrees(yaw - (renderYawOffset + MathHelper.wrapDegrees(offset - renderYawOffset) * 0.3f));
        yawOffsetDiff = MathHelper.clamp(yawOffsetDiff, -75.0f, 75.0f);

        renderYawOffset = yaw - yawOffsetDiff;
        if (yawOffsetDiff * yawOffsetDiff > 1700.0f) {
            renderYawOffset += yawOffsetDiff * 0.2f;
        }

        return renderYawOffset;
    }
 
Назад
Сверху Снизу