3D модель( .obj) брони. Совместимость со Smart Moving

Версия Minecraft
1.7.10
222
5
28
Здравствуйте. Есть некая модель .obj, которая в точности повторяет структура стива(там отдельные ноги, руки, голова и т.д.). Мне нужно отобразить эту модельку на игроке в тот момент, когда он наденет в слот для нагрудника "специальный нагрудник". Естественно игроки должны видеть, что на нём появилась эта моделька. В подобном деле я полный ноль. Как начать? Что читать? Где можно посмотреть примеры подобного? Может ли кто из Вас предложить примеры или уже готовые решения для этого.
 
222
5
28
Пытаюсь собрать вариант без эвента для 1.7.10. Что за дичь.

823pB0YuJWwzzA[1].png

Java:
java.lang.ExceptionInInitializerError
    at com.prototype.customarmor.ItemCustomArmor.getArmorModel(ItemCustomArmor.java:25)
    at net.minecraftforge.client.ForgeHooksClient.getArmorModel(ForgeHooksClient.java:313)
    at net.minecraft.client.renderer.entity.RenderPlayer.shouldRenderPass(RenderPlayer.java:79)
    at net.minecraft.client.renderer.entity.RenderPlayer.shouldRenderPass(RenderPlayer.java:517)
    at net.minecraft.client.renderer.entity.RendererLivingEntity.doRender(RendererLivingEntity.java:173)
    at net.minecraft.client.renderer.entity.RenderPlayer.doRender(RenderPlayer.java:167)
    at net.minecraft.client.renderer.entity.RenderPlayer.doRender(RenderPlayer.java:565)
    at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300)
    at net.minecraft.client.renderer.entity.RenderManager.renderEntityWithPosYaw(RenderManager.java:283)
    at net.minecraft.client.gui.inventory.GuiInventory.func_147046_a(GuiInventory.java:112)
    at net.minecraft.client.gui.inventory.GuiContainerCreative.drawGuiContainerBackgroundLayer(GuiContainerCreative.java:839)
    at net.minecraft.client.gui.inventory.GuiContainer.drawScreen(GuiContainer.java:93)
    at net.minecraft.client.renderer.InventoryEffectRenderer.drawScreen(InventoryEffectRenderer.java:44)
    at net.minecraft.client.gui.inventory.GuiContainerCreative.drawScreen(GuiContainerCreative.java:673)
    at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1137)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067)
    at net.minecraft.client.Minecraft.run(Minecraft.java:962)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)
Caused by: net.minecraftforge.client.model.ModelFormatException: IO Exception reading model format
    at net.minecraftforge.client.model.obj.WavefrontObject.<init>(WavefrontObject.java:60)
    at net.minecraftforge.client.model.obj.ObjModelLoader.loadInstance(ObjModelLoader.java:27)
    at net.minecraftforge.client.model.AdvancedModelLoader.loadModel(AdvancedModelLoader.java:65)
    at com.prototype.excalibur.customarmor.CustomArmorModel.<clinit>(CustomArmorModel.java:15)
    ... 26 more
Caused by: java.io.FileNotFoundException: customarmor:textures/model/armor/dolg.obj
    at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:71)
    at net.minecraftforge.client.model.obj.WavefrontObject.<init>(WavefrontObject.java:55)
    ... 29 more
 

timaxa007

Модератор
5,831
409
672
Что за дичь.
Java:
Caused by: java.io.FileNotFoundException: customarmor:textures/model/armor/dolg.obj
Файл не найден.

Такое ощущение что IDEA не видит ресурсы мода.
Да, бывает такое. Не забывай обновлять проект.
[1.7.x+]Обожемой! В IntelliJ Idea 14+ не грузятся текстуры!
 
222
5
28
Да, это мне помогло. Локализация подключилась и файлы видны. Но теперь проблема в самом файле. Почему то ошибка при создании модели:
Java:
Caused by: net.minecraftforge.client.model.ModelFormatException: Error parsing entry ('f 180/255/91 181/277/91 182/278/91', line 810) in file 'customarmor:textures/model/armor/dolg.obj' - Invalid number of points for face (expected 4, found 3)
Данная ошибка может быть с моей стороны или она со стороны того, кто делал модель?
 

timaxa007

Модератор
5,831
409
672
Ошибка в импортированнии, не удалось обработать строку 810), ему не нравиться то, что был экспортирован четырёхугольными полигонами, а в модели есть треугольный полигон. В этом случаи экспортируй только треугольными полигонами.
(В blender'е подчеркни флажок в экспорте obj формате "Triangulate Faces")
 
222
5
28
Хорошо, спасибо сейчас попробую.
Пока я ждал Ваш ответ я попробовал снова импортировать модель и экспортировать её повторно, на что получил это:
Java:
Caused by: net.minecraftforge.client.model.ModelFormatException: Error parsing entry ('f 36/48/26 35/71/25 59/72/48 60/73/49 61/74/50 62/75/51', line 1047) in file 'customarmor:textures/model/armor/dolg.obj' - Incorrect format
Конечно это не важно, я сейчас буду пробовать то, что вы написали выше, но всё же.
 

timaxa007

Модератор
5,831
409
672
222
5
28
Получилось! Спасибо за помощь. То что моделька не налазит это надо дизайнеру править самому, с моей стороны всё ок)
l2Z690qhw4kOp2.png

P.S. Мне сказали, что эти модельки нормально должны работать даже без той галочки в экспорте. У нас есть пару модов, которые подобное уже рендерят, пойду гляну, как там это делается.
 

timaxa007

Модератор
5,831
409
672
Насколько помню по трансляции в Skype, со смарт мувингом мой код брони работает плохо (какой именного код использовался не помню), части брони скучивались в одной точке (будто положение ванильных частей тела имею координаты по нулям).
Тут только придётся интегрировать мой код с кодом API смарт мувуга (а скорее всего с API Player или как-то так называется он).
 
Последнее редактирование:

timaxa007

Модератор
5,831
409
672
У меня пока-что только предположение. Попробуй убрать в рендере брони:
Java:
GL11.glTranslatef(0F, -1.5F, 0F);
...
GL11.glTranslatef(0.3125F, -1.375F, 0F);
...
GL11.glTranslatef(-0.3125F, -1.375F, 0F);
...
GL11.glTranslatef(0.125F, -0.75F, 0F);
...
GL11.glTranslatef(-0.125F, -0.75F, 0F);
Наверное без них для смарт мувинга будет лучше. Хотя я не уверен.
 
222
5
28
Я не правильно указал, Render Player API (где искать, я не знаю), если конечно сам смарт мувиг использует его.
Да использует. Там когда качаешь смарт мувиг то к ниму идёт вот этот комплект:
vAWZ9g8u1WKNn2.png
 
Сверху