OBJ на 1.12 (Рендер)

Версия Minecraft
1.12.2
355
2
17
Добро, помогите войти в курс дела как обстоят дела с Obj на 1.12+

Необходимо подгрузить напрямую OBJ (Без дополнительных json файлов) и отрисовать в списке GLList.
Попробовал подгружать так:

Java:
IModel model = OBJLoader.INSTANCE.loadModel(
new ResourceLocation(modelPath));

А отрисовал в листе так (нашел тут на форуме)

Java:
GL11.glNewList(indexRenderer, GL11.GL_COMPILE);

Function<ResourceLocation, TextureAtlasSprite> spriteFunction = location -> Minecraft.getMinecraft().getTextureMapBlocks().getAtlasSprite(location.toString());
model.bake(new OBJModel.OBJState(ImmutableList.of("base"), false), DefaultVertexFormats.ITEM, spriteFunction);

GL11.glEndList();

Соответственно ничего не сработало, возможно проблема еще крылась где-то в парсинге, ибо вывело в консоль:

OBJLoader.Parser: command 's' (model: 'default/default.obj') is not currently supported, skipping. Line: 52 's 1'

Как собственно отрисовать то, что на 1.7.10 работает хорошо?
 

will0376

Токсичная личность
2,058
55
572
Посмотри, как сделано в DraconicEvolution
оффтоп> да там жопа полная, зависимости на зависимости... Когда делаешь мод-аддон для драконика - еще можно воспользоваться... </оффтоп
 
1,038
57
229
А чем тебя не устроил тесселатор?
у меня есть конечно код рендера своих моделей, как раз использующий его. Просто лень переделывать под OBJ.
 
355
2
17
А чем тебя не устроил тесселатор?
Ну, собственно в 1.12.2 он переделан, вроде и получилось заставить рисоваться через него, но с проблемой света, которую никак не могу исправить. А прикручивать старый из 1.7.10 в уме пока не складывается как их скрутить вместе, да и каша какая-то выходит.
 
Последнее редактирование:
7,099
324
1,509
оффтоп> да там жопа полная, зависимости на зависимости... Когда делаешь мод-аддон для драконика - еще можно воспользоваться... </оффтоп
Однако это пример, который работает. Если у тебя есть на примете че-то по-лучше, напиши. Это будет для ТС полезнее
 
1,038
57
229
Я на твоём рендере так и не увидел текстуру. Может ты в начале с этим пошаманишь?
Я помогу тебе позже, сейчас очень занят.
Ну и почему ты рисуешь в GUI головной убор персонажа, ведь для этого есть своё событие PlayerRender? Почему бы твой код не перенести туда?
Если это предмет или блок, то для этого тоже есть своё место..
 
1,038
57
229
тем более, зачем делать 10 рендеров если можно сделать лишь один для предмета (и где бы он не выводился, он будет как модель).
Будь у меня GUi под руками, я конечно там бы и тестировал. Но глупо делать тоже самое и ожидать другого результата. Надо пробовать менять не только рендер, но и место рендера.
К тому же в GUI я бы вообще сделал лишь вывод картинок. Заранее отрендерил модель в картинку и выводил именно её, потому что так будет куда быстрее для компа. НО если объект планируется поворачивать или крутить, тот тут конечно 3д модель - это едиственное решение.
Просто у меня тут возникла мысль, а может то через что он выводит делает объект плоским и поэтому мы видим по сути плоскость. А у плоскости не может быть разница в свете. Но на 1.7. работает правильно, значит дело ещё в чём то.
 
Последнее редактирование:
355
2
17
1581347925004.pngЯ портирую мод с Аксессуарами с 1.10 MCPC на 1.7.10 Forge и 1.12.2 Forge, дело в том что оригинал сделан через Json и выставлено множество хуков (просто прямяком в сорсах вставлено) для адекватной работы, чтобы без создания Фейковых предметов или блоков можно было просто использовать эти запеченные модели и атлас.

На 1.7.10 я перевел всю работу в Obj, т.к. портировать всю эту систему Json было бы крайне трудно, да и с Obj работать проще, спарсил, наложил текстуру и отрисовал. Рисуется в двух в местах, на игроке через RenderPlayer или же LayerRenderer и в GUI крутится.

А вот с 1.12.2 проблема, Obj парсится неадекватно, используя старый загрузчик с 1.7.10 - рисуется без учета света, я все еще подозреваю проблему в той строчке с нормалями. А Json загрузчик 1.12 без использования фейкового блока или предмета в этой версии я не нашел, все методы которые создают запеченную модель - делают её в виде блока, т.к. не находят зарегистрированный вариант этой модели, а регистрация требует либо предмет, либо блок.
 
355
2
17
UPD. В общем протестировал еще загрузчик Obj от Pixelmon, там та же проблема с освещением, но еще при этом модель ломается. Draconic Evolution использует родной ObjLoader но в добавок еще всякие утилиты с библиотек, попробовал с ними, но из-за не соответствий параметров текстуры вообще черные.

1581703782753.png
 
1,038
57
229
к понедельнику постараюсь сделать тебе мод
 
917
22
332
а разве нельзя просто скопипастить его себе (со старых версий разумеется), и отрисовывать как раньше?
Извиняюсь если не в тему, всю тему не читал, но эта фраза просто убила) Имхо, но... нельзя. Ибо иначе автор бы не спрашивал...
 

will0376

Токсичная личность
2,058
55
572
Апну пожалуй, тема все еще актуальна.
Могу лишь посоветовать то, что посоветовали мне недавно - глянь код покемонов...(код так и не нашел, так что - самодекомпил.)
 
355
2
17
Могу лишь посоветовать то, что посоветовали мне недавно - глянь код покемонов...(код так и не нашел, так что - самодекомпил.)
Я выше писал что тестировал их загрузчик, у них в целом модели все засвечены.
 
1,038
57
229
Сверху