"Плавающая" анимация одежды и волос модели

А у меня у каждого паука по 8 лап, и для каждой считается обратная кинематика
Как я уже сказал, критично это только на больших объёмах. Условно, 5-6 пауков таких - вообще не проблема для пк. Но если загрохать 20-30 в кадре, могут начаться просадки. Ну и опять-таки, всё зависит от реализации - умелое использование тригонометрии >> неумелое обращение с векторами.
 
Сделал хвост примерно так:
TestLayer:
public class TestLayer<T extends LivingEntity, M extends EntityModel<T>> extends RenderLayer<T, M> {
    public TestLayer(RenderLayerParent<T, M> renderer) {
        super(renderer);
    }

    private float tailRotation = 0F;
    private float tailRotationSpeed = 0F;

    @Override
    public void render(
            PoseStack poseStack,
            MultiBufferSource multiBufferSource,
            int light,
            T entity,
            float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch
    ) {
        if (Float.isNaN(tailRotation)) {
            tailRotation = 0F;
        }
        if (Float.isNaN(tailRotationSpeed)) {
            tailRotationSpeed = 0F;
        }

        float yBodyRot = Mth.rotLerp(partialTicks, entity.yBodyRotO, entity.yBodyRot);
        float diff = yBodyRot - tailRotation;

        tailRotationSpeed += diff * 0.02F; // 0.02 - ускорение
        tailRotationSpeed *= 0.9F; // 0.9 - "трение"

        tailRotation += tailRotationSpeed;

        poseStack.pushPose();
        poseStack.mulPose(Axis.YP.rotationDegrees(180F - yBodyRot + tailRotation + 90F + 45F));
        DebugRenderer.renderFilledBox(poseStack, multiBufferSource, 0D, 0D, 0D, 1D, 1D, 1D, 1F, 1F, 1F, 1F);
        poseStack.popPose();
    }
}
Вот демонстрация
Это уже похоже на то, что я могу использовать. Спасибо!
Мог бы ты подробнее обьяснить куда это нужно вставлять, какие поля мне нужно заменять на свои и как потом это все продублировать для 3х сегментов хвоста?
 
Максимум что я делал в коде - это копировал у векса отсутствие коллизии и вставлял другому мобу, всё остальное я делаю в процедурах МКреатора, но я понимаю о чем вы говорите, что это похоже на код сегментированного моба, только вместо движения вслед - подражать велосити основного тела и т.п. - вот только как работать с кодом, я хз
Прошу, только не оставляйте меня! Я весь инет обшарил и не нашел никаких туторов( Всё ради великой красоты
 
Это уже похоже на то, что я могу использовать. Спасибо!
Мог бы ты подробнее обьяснить куда это нужно вставлять, какие поля мне нужно заменять на свои и как потом это все продублировать для 3х сегментов хвоста?
Ну это идет в код эдитор в энтити, я понимаю.
 
Почему не сделаю, если выше чел написал код, который вставляется в сущность в МКреаторе?
 
В VelociraptorModel есть метод setupAnim. В этом методе можно устанавливать поворот - хвост.yRot = .... Только переменные tailRotation и tailRotationSpeed надо положить в класс сущности, а обновлять их надо в VelociraptorRenderer в методе render (чтобы получить partialTicks). Как-то так.
 
Вот также весь код из VelociraptorModel
там нет setupAnim, его также нет в Entity и в Render.
ScreenShot_20250109192847.png
 
Я не знаю про Geckolib, но, наверное, в setCustomAnimations это можно сделать.
 
Подскажи конкретнее что куда писать, пожалуйста.
Как я понимаю, это те же самые файлы, которые кодеры напрямую редачат через сублайм текст или похожую прогу, значит все эти анимации точно делаются тут. Разве геколиб делает какое то принципиально другое энтити?
 
Как я понимаю, это те же самые файлы, которые кодеры напрямую редачат через сублайм текст или похожую прогу
Java - строго типизированный язык программирования. Писать на нём без специальной среды разработки это боль
Разве геколиб делает какое то принципиально другое энтити?
С первого взгляда это какая-то "надстройка" на ванильные классы. Ни разу не трогал.
Подскажи конкретнее что куда писать, пожалуйста.
Это так не работает. Твой мод - пиши сам. Или зови какого-то человека, который сможет всё написать за денюжку.
 
Последнее редактирование модератором:
То есть ты написал код и даже скинул его сюда, но чтобы показать как вставить его себе - нужно заплатить?)

Я спрашиваю "как" и получаю в ответ только показуху типа "я шарю, это то самое, это делается, но как - не скажу, пока не заплатишь" - так
это работает в разделе "вопросы"?

По сути в этой теме до сих пор только один ответ - это твой коммент с кодом. Все остальные сообщения настолько пусты, что не существуют.
 
Ты просил пример кода - он тебе его предоставил.
Пример кода - это то в какую сторону тебе надо копать. Не знаешь java - не наши проблемы.

А раз пошли вопросы "куда вставить" - java ты впервые видишь как и языки программирования. Пока не обучишься языку хотя-бы до уровня stream api - тебе здесь делать нечего, ибо разжёвывать никто ничего не станет
 
(не успел написать первым)
Ты спросил вопрос - на него ответили. О том как реализовать это без нужных навыков это не проблема отвечающего.
Я написал "денюжку", потому что скорее всего этим бесплатно никто заниматся не будет.
 
Ты просил пример кода - он тебе его предоставил.
Пример кода - это то в какую сторону тебе надо копать. Не знаешь java - не наши проблемы.

А раз пошли вопросы "куда вставить" - java ты впервые видишь как и языки программирования. Пока не обучишься языку хотя-бы до уровня stream api - тебе здесь делать нечего, ибо разжёвывать никто ничего не станет
С подобной позицией тебе следует обратиться к админам, с просьбой добавить тут где нибудь на сайте или в разделе плашку, где будет написано "если не знаешь java, то тебе здесь делать нечего".
 

MaximPixel, в таком случае, что есть границы "вопроса"?

Вопрос считается закрытым тогда, когда вопрошающий удовлетворен ответом, т.е. получил нужную инфу - ту самую недостающую частицу паззла.
Порой из одного вытекает другое, почему мы должны ограничиваться одним фрагментом в рамках одного вопроса?
В таком случае, чтобы всё было правильно, мне следует создавать цепочку топиков, задавая каждый назревающий вопрос в новом?​

 
добавить тут где нибудь на сайте или в разделе плашку, где будет написано "если не знаешь java, то тебе здесь делать нечего".
1736459902016.png
вообще +- так и написано, а для МКреейторщиков есть отдельный раздел
Вопрос считается закрытым тогда, когда вопрошающий удовлетворен ответом, т.е. получил нужную инфу
да, но твой вопрос никто закрывать не обязан, а уж тем более писать за тебя мод
мне следует создавать цепочку топиков, задавая каждый назревающий вопрос в новом?
можешь если хочешь, но тут
куда это нужно вставлять
Сразу вспоминается одна тема)
 
Последнее редактирование:
Назад
Сверху