К примеру у меня есть obj или mtl объекты шкафа или бочки в высоком разрешении текстур. На зарубежных сайтах я видел, как они obj объекты использовали лишь для карты и парочку для самих моделек. Однако они заменяли ванильные предметы minecraft. Сразу 2 вопроса возникло:
1)Можно ли создать мод, состоящий из реалистичных объектов в формате obj
2)Можно ли добавить obj оружие с текстурами к нему, заставить его стрелять и перезаряжаться с характерным звуком, а также изменять положение рук по отношению к нему?
Голосование за лучший ответ
1. обычно делают ресурс паки
2. с помощью командных блоков
JustVencedorПрофи (813) 6 лет назад
сейчас современные технологии позволяют создать на основе этого мод. Итак 1. В ресурс пак можно по сути запихнуть эти объекты, однако их более 100 и невозможно заменить тупо каждый блок на текстуру. Тебе будет не на чем стоять. 2. Командные блоки — понятие непостоянное. Как ты можешь у себя на экране сместить положение рук, добавить в руки оружие, заставить загружать его текстуру и наконец заставить его стрелять. Тем более эта тема для сервера создана и врядли что из этого годится
ЛЮБЫЕ 3Д МОДЕЛИ В МАЙНКРАФТ! Minecraft Ресурспаки | Галактик
Frozen Wyvern Мудрец (12254) карты говорят об обратном
Похожие вопросы
Источник: otvet.mail.ru
Как добавить obj модель в майнкрафт
Работа с Techne
Степени, заборы, калитка и д.р. — всё это модели блоков. Сегодня мы научимся вставлять наши модели из Techne в Minecraft.
Всё, что нам нужно:
JDK | Стандартный набор разработчика |
Eclipse | Для удобной работы с исходниками игры |
MCP (любой, но в нашем случае 1.4.6) | Поможет декомпилировать исходники |
Techne | Работа с моделями |
Forge src | библиотека forge |
Я не буду рассказывать, как создать файл мода Это есть на любом сайте.
После установки всего этого мы можем спокойно писать моды на Forge.
Чтобы добавить блоку модель, нужно пройти операций:
Класс блока, BlockHandler, BlockModel, Renderer, TileEntity.
Научимся вставлять нашу модель в игру на примере лестницы.
В классе нашего мода пишем:
Переходим к созданию блока и добавлении модели.
Создаем класс LadderBlock.java и туда пишем:
В основном тут идет ссылка на размер рендера, возможность подниматься по лестнице и поворот на стороны света. Здесь сработает только рендер и возможность подниматься.
Готово.
Теперь создаем TileEntityLadderModel, в который вставляем:
Теперь непосредственно можно переходить к модели нашей лестницы.
При создании и экспорте модели из Techne в Java, ан выходе получаем код:
Далее создаем класс RendererLadderModel и в него вставляем:
Здесь мы выбираем модель блока, TileEntity и присваиваем текстуру.
И теперь всё, что нам осталось — добавить класс LadderBlockHandler, в который мы вставляем:
Редактировалось 2 раз(а), последний 2015-01-03 13:42:16
Источник: minecraft-kak.ru
Как использовать obj модель в 1.12.2?
Доброго времени суток Земляне и Чужие! (Я так понял вы тут омериканцев не жалуете . Кто понял, тот поймёт)
У меня есть obj модель: tutitem.zip
JSON загрузчик моей модели:
< «forge_marker»: 1, «defaults»: < «model»: «tutmod:tutitem.obj» >, «variants»: < «inventory»: [< «transform»: «forge:default-item» >] > >
Вот так вот выглядит структура моих ресурсов:
public class ItemReg < public static Item tutitem = new BasicItem(«tutitem», 64); public static void register() < setRegister(tutitem); >public static void registerRender() < setRender(tutitem); >public static void setRegister(Item item) < ForgeRegistries.ITEMS.register(item); >public static void setRender(Item item) < Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), «inventory»)); >>
Как же в 1.12.2 загрузить obj модель? (В игре просто пустая модель, словно этого предмета не существует)
Старожил набравшийся ума >_<
Могучий горгон
Ты наверное забыл .mtl файл.
Может и решение твоей проблемы есть тут
[1.8.9]Item with OBJ model
Garik
2,932 44 596
Та ну вас этот долбаный 1.12.2!
Старожил набравшийся ума >_<
Могучий горгон
1,869 52 357
Ты наверное забыл .mtl файл.
Может и решение твоей проблемы есть тут
[1.8.9]Item with OBJ model
Последнее редактирование: 24 Май 2018
Не тот велик, кто никогда не падал,
но тот велик, кто падал и вставал
Garik
2,932 44 596
Ты наверное забыл .mtl файл.
Опа! Майнкрафт теперь научился юзать .mtl! (Не знал)
Может и решение твой проблемы есть тут
Спасибо! Сейчас посмотрю!
Старожил набравшийся ума >_<
Garik
2,932 44 596
Помогли вот эти сурсы: Wehavecookies56/Tutorial-Mod
И вот этот видео гайд:
Старожил набравшийся ума >_<
RareScrap
1,158 38 541
Опа! Майнкрафт теперь научился юзать .mtl! (Не знал)
Я на форумах находил, что он с 1.7.10 это умеет
Мой проект: SawageWorldRP — ролки в Minecraft’е
Всех фатанов настольных рпг приглашаю присоединиться!
Человек — он как меч. Либо делает свое дело читает книги по java, либо тупой.
Dahaka
2,505 80 397
Нет, в 1.7.10 еще не умеет.
Дайте тазик, кровь из глаз
Garik
2,932 44 596
ДА ПОШЛО ОНО ВСЁ *Трёх-Трёхсот этажный мат* !
Как хорошо что java модельки всё ещё можно юзать!
//This File was created with the Minecraft-SMP Modelling Toolbox 2.3.0.0 // Copyright (C) 2018 Minecraft-SMP.de // This file is for Flan’s Flying Mod Version 4.0.x+ // Model: // Model Creator: // Created on: 11.02.2018 — 00:45:33 // Last changed on: 11.02.2018 — 00:45:33 package net.minecraft.src; public class YourClassName extends ModelBase < ModelRenderer Part_0; // Box_9 ModelRenderer Part_1; // Box_8 ModelRenderer Part_2; // Box_7 ModelRenderer Part_3; // Box_6 ModelRenderer Part_4; // Box_5 ModelRenderer Part_5; // Box_4 ModelRenderer Part_6; // Box_3 ModelRenderer Part_7; // Box_2 ModelRenderer Part_8; // Box_14 ModelRenderer Part_9; // Box_13 ModelRenderer Part_10; // Box_12 ModelRenderer Part_11; // Box_11 ModelRenderer Part_12; // Box_10 ModelRenderer Part_13; // Box_1 ModelRenderer Part_14; // Box_0 public YourClassName() < textureWidth = 32; textureHeight = 64; init_1(); >private void init_1(); < Part_0 = new ModelRenderer(this, 0, 30); // Box_9 Part_0.addBox(0F, 0F, 0F, 1, 1, 2); Part_0.setRotationPoint(0F, -8F, 0F); Part_0.setTextureSize(32, 64); Part_0.mirror = true; setRotation(Part_0, 0F, 0F, 0F); Part_1 = new ModelRenderer(this, 0, 30); // Box_8 Part_1.addBox(0F, 0F, 0F, 1, 1, 2); Part_1.setRotationPoint(-3F, -8F, 0F); Part_1.setTextureSize(32, 64); Part_1.mirror = true; setRotation(Part_1, 0F, 0F, 0F); Part_2 = new ModelRenderer(this, 15, 49); // Box_7 Part_2.addBox(0F, 0F, 0F, 4, 1, 1); Part_2.setRotationPoint(-3F, -8F, 2F); Part_2.setTextureSize(32, 64); Part_2.mirror = true; setRotation(Part_2, 0F, 0F, 0F); Part_3 = new ModelRenderer(this, 15, 49); // Box_6 Part_3.addBox(0F, 0F, 0F, 4, 1, 1); Part_3.setRotationPoint(-3F, -8F, -1F); Part_3.setTextureSize(32, 64); Part_3.mirror = true; setRotation(Part_3, 0F, 0F, 0F); Part_4 = new ModelRenderer(this, 0, 35); // Box_5 Part_4.addBox(0F, 0F, 0F, 2, 1, 2); Part_4.setRotationPoint(-2F, -7F, 0F); Part_4.setTextureSize(32, 64); Part_4.mirror = true; setRotation(Part_4, 0F, 0F, 0F); Part_5 = new ModelRenderer(this, 14, 36); // Box_4 Part_5.addBox(0F, 0F, 0F, 4, 4, 4); Part_5.setRotationPoint(-16F, -5F, -1F); Part_5.setTextureSize(32, 64); Part_5.mirror = true; setRotation(Part_5, 0F, 0F, 0F); Part_6 = new ModelRenderer(this, 0, 40); // Box_3 Part_6.addBox(0F, 0F, 0F, 1, 5, 5); Part_6.setRotationPoint(-10F, -5.5F, -1.5F); Part_6.setTextureSize(32, 64); Part_6.mirror = true; setRotation(Part_6, 0F, 0F, 0F); Part_7 = new ModelRenderer(this, 15, 46); // Box_2 Part_7.addBox(0F, 0F, 0F, 4, 1, 1); Part_7.setRotationPoint(-9F, -3.5F, 0.5F); Part_7.setTextureSize(32, 64); Part_7.mirror = true; setRotation(Part_7, 0F, 0F, 0F); Part_8 = new ModelRenderer(this, 8, 33); // Box_14 Part_8.addBox(0F, 0F, 0F, 1, 2, 3); Part_8.setRotationPoint(3F, -5F, -0.5F); Part_8.setTextureSize(32, 64); Part_8.mirror = true; setRotation(Part_8, 0F, 0F, 0F); Part_9 = new ModelRenderer(this, 7, 45); // Box_13 Part_9.addBox(0F, 0F, 0F, 1, 1, 6); Part_9.setRotationPoint(-4F, -9F, -2F); Part_9.setTextureSize(32, 64); Part_9.mirror = true; setRotation(Part_9, 0F, 0F, 0F); Part_10 = new ModelRenderer(this, 7, 45); // Box_12 Part_10.addBox(0F, 0F, 0F, 1, 1, 6); Part_10.setRotationPoint(1F, -9F, -2F); Part_10.setTextureSize(32, 64); Part_10.mirror = true; setRotation(Part_10, 0F, 0F, 0F); Part_11 = new ModelRenderer(this, 15, 49); // Box_11 Part_11.addBox(0F, 0F, 0F, 4, 1, 1); Part_11.setRotationPoint(-3F, -9F, -2F); Part_11.setTextureSize(32, 64); Part_11.mirror = true; setRotation(Part_11, 0F, 0F, 0F); Part_12 = new ModelRenderer(this, 15, 49); // Box_10 Part_12.addBox(0F, 0F, 0F, 4, 1, 1); Part_12.setRotationPoint(-3F, -9F, 3F); Part_12.setTextureSize(32, 64); Part_12.mirror = true; setRotation(Part_12, 0F, 0F, 0F); Part_13 = new ModelRenderer(this, 0, 52); // Box_1 Part_13.addBox(0F, 0F, 0F, 8, 6, 6); Part_13.setRotationPoint(-5F, -6F, -2F); Part_13.setTextureSize(32, 64); Part_13.mirror = true; setRotation(Part_13, 0F, 0F, 0F); Part_14 = new ModelRenderer(this, 24, 50); // Box_0 Part_14.addBox(0F, 0F, 0F, 2, 6, 2); Part_14.setRotationPoint(-1F, 0F, 0F); Part_14.setTextureSize(32, 64); Part_14.mirror = true; setRotation(Part_14, 0F, 0F, -0.29670597F); >public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) < super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5); Part_0.render(f5); // Box_9 Part_1.render(f5); // Box_8 Part_2.render(f5); // Box_7 Part_3.render(f5); // Box_6 Part_4.render(f5); // Box_5 Part_5.render(f5); // Box_4 Part_6.render(f5); // Box_3 Part_7.render(f5); // Box_2 Part_8.render(f5); // Box_14 Part_9.render(f5); // Box_13 Part_10.render(f5); // Box_12 Part_11.render(f5); // Box_11 Part_12.render(f5); // Box_10 Part_13.render(f5); // Box_1 Part_14.render(f5); // Box_0 >private void setRotation(ModelRenderer model, float x, float y, float z) < model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; >public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5) < super.setRotationAngles(f, f1, f2, f3, f4, f5); >>
Источник: forum.mcmodding.ru