JannisX11 / blockbench

Blockbench - A low poly 3D model editor
https://www.blockbench.net
GNU General Public License v3.0
3.31k stars 288 forks source link

[Support] Minecraft Bedrock Polymesh Model #555

Open MC874 opened 4 years ago

MC874 commented 4 years ago

Introduction

Minecraft Bedrock now supports polymesh models. It's existed for a long time since the introduction of Persona and Skin Creator. This format is widely used in persona pieces, marketplace worlds, and bundles. In recent times, this format has been favored by many as it's more precise, detailed, and dynamic.

Implementation

        "poly_mesh": {
          "normalized_uvs": true,
          "normals": [
            [ 0, 1, 0 ]
          ],
          "uvs": [
            [ 0.15625, 0.96875 ]
          ],
          "positions": [
            [ -4, 24, -2 ]
          ],
          "polys": [
            [
              [ 0, 0, 0 ],
              [ 1, 0, 1 ],
              [ 2, 0, 2 ],
              [ 3, 0, 3 ]
            ],

References

Wackyblocks commented 4 years ago

Bedorck polymesh is still experimental. And Jannis isn't planning to add polymesh editing to Blockbench at least for now.

MC874 commented 4 years ago

Bedorck polymesh is still experimental. And Jannis isn't planning to add polymesh editing to Blockbench at least for now.

BTW, is there any alternate way to do this?

Wackyblocks commented 4 years ago

https://www.blender.org/

MC874 commented 4 years ago

https://www.blender.org/

I mean, Minecraft cant support raw OBJ Models (Except trough direct-X injection) and the JSON Blender plugins are long outdated. I cant use Blender for converting.

sorcerykid commented 4 years ago

I too would love this. Even if it was just very simple polygons, like wedges. For a lot of architectural and technical models, cubes just don't quite cut it because inevitably you need a non-right angle somewhere. For example, I was planning to add a stage monitor loudspeaker for virtual bands in my game, yet the loudspeaker is a trapezoid. So I can't use Blockbench to model it just because it's not quite a cuboid.

MC874 commented 2 years ago

I too would love this. Even if it was just very simple polygons, like wedges. For a lot of architectural and technical models, cubes just don't quite cut it because inevitably you need a non-right angle somewhere. For example, I was planning to add a stage monitor loudspeaker for virtual bands in my game, yet the loudspeaker is a trapezoid. So I can't use Blockbench to model it just because it's not quite a cuboid.

Actually there's already OBJ to Bedrock Format converter already, its just; its not really convenient, especially adding custom Animation with Polymesh Model. In my opinion, LoudSpeaker is perfectly fit to use with some vibrate animation but yeah, still waiting futher support for Mesh implementation.

JannisX11 commented 2 years ago

The current status is that Blockbench supports meshes, but not in Minecraft formats. That is because Minecraft in it's vanilla models only uses cubes, and I believe those fit the style of the game a lot better than meshes. The risk with meshes is always that objects designed for entirely different purposes will be downloaded from the internet, and placed into Minecraft, where they will look totally out of place. That's not to say that meshes will never be supported. For example if Mojang ends up supporting this idea, or if they have ideas on how to restrict it so that models will still match the style, I'm open to implement mesh support.

MC874 commented 2 years ago

The current status is that Blockbench supports meshes, but not in Minecraft formats. That is because Minecraft in it's vanilla models only uses cubes, and I believe those fit the style of the game a lot better than meshes. The risk with meshes is always that objects designed for entirely different purposes will be downloaded from the internet, and placed into Minecraft, where they will look totally out of place. That's not to say that meshes will never be supported. For example if Mojang ends up supporting this idea, or if they have ideas on how to restrict it so that models will still match the style, I'm open to implement mesh support.

Mojang is often use Polymesh model for Persona Cosmetics / related piece to that. Polymesh with it's freedom of sizing can also be voxelize using remesh modifier or converted into voxel format. Well, about it's not fit into the game or not; probably the decision is at the creator hands. I personally find myself that: enough / small portion of meshes is actually fitted the cubes object, not to mention that persona mesh is also in cubic shape (My point is, it's the creator decision to make it look cubic style or not). So i can't really blame it all; probably it's still great to acommodate creator with bedrock meshes with the end-result is at creator responsibility.

About model downloaded from the internet thing; i still think that it would be at creator responsibility, not the blockbench as modelling program, i mean it's like blender for Minecraft, blender is only a tool; any result (copyrighted model, anim, etc) is on user-hands.

In the end, the choice is in your hand; wether it's going to be implemented sooner or later or even not at all; because it's your beloved and well developed program. Despite all of them, i still really hoping to see more mesh support for bedrock as it's now a substantial part of Minecraft Cosmetic; especially Persona / Character Creator pieces.

Some simple mesh cosmetic by Xatalyst: Wing-Mesh Cosmetic

Nusiq commented 2 years ago

If this feature will ever be implemented. I did some testing on poly_mesh models (maybe a year ago) and I was never able to have triangle faces in "polys". It looks like only quads work. A workaround for having triangles is to duplicate one of the vertices. The schemas suggest that you can have 3 or 4 vertices but from my experience triangles don't work. This might have changed since the last time I tested it.

DFlogFlag commented 11 months ago

Currently there are many mods and projects that use poly_mesh, I sometimes use it (Thanks to Blender plugins and pages), but what bothers me the most is that when someone tries to open one of these geometries in Blockbench, they can't see the polygons and can only see the cubes.

Many people get confused when they open a geometry with poly_mesh and it's "empty" or only has some parts, this makes difficult to me and they to do a collaboration and edit some stuff

I also have to mention that triangular polygons do work or at least they do work in the plugins and pages that I have used.

According to what I have seen polygons work pretty much the same as cubes but instead of cubes they are polygons with normals.

Now in my opinion: I don't consider "It's not minecraft looking" to be an excuse, Blockbench is used to make mods and models, the mission of a mod is modify the game and that means altering it.

Take for example the "No cubes" mod for Minecraft Java, no one uses that mod, people only use it to test it and see how Minecraft would look, but that didn't stop the creator of that mod from doing it.

"The risk with meshes is always that objects designed for entirely different purposes will be downloaded from the internet, and placed into Minecraft, where they will look totally out of place." That my friend is called a mod, when you download a mod that adds cars to Minecraft, you don't expect it to add recolors of a Minecraft horse that fit the game, you expect it to add a very cool car that is as realistic as possible to the original thing.

Limiting this just because it doesn't fit Minecraft is like saying Blockbench should have never supported Minecraft formats to begin with.

MC874 commented 11 months ago

It's been almost a year since @JannisX11 decided to categorize this as "probably not". Editing mesh models is still a pain since you need to back and forth open another 3D software, with a different format, convert those back again to Minecraft meshes, and most importantly, once converted, it is "fixed," as there's no advanced support for editing Minecraft meshes.

I've seen nothing wrong with adding support for this, as Blockbench is indeed "3D modeling software", so the limitation for editing other 3D types is weird to me.

Shadowkitten47 commented 2 weeks ago

I've made a plugin to support just this (meshy) it would be cool to see this actually implemented sense tbf I already made it and wouldn't be hard to switch it to from a plugin their are still issues with it like some said that triangles don't work Issue-186053 it's clear that they stopped supporting poly meshes and left them in a experimental state. But that doesn't mean it's not a feature in Minecraft.

MC874 commented 1 week ago

Polymesh format is somewhat experimental but they keep using it on their persona cosmetic catalogue. I think it's not completely abandoned but rather just limited. And thank you for the plugin :). @Shadowkitten47

Shadowkitten47 commented 1 week ago

@MC874 Nah I think it's abandoned but people keep using it so they don't want to remove it but they haven't fixed tri-meshes which if they did would be great.

Shadowkitten47 commented 1 week ago

image Also poly meshes can't be used on blocks even thought the game uses them ( for torches ) yet their "cursed"

MC874 commented 1 week ago

[ @Shadowkitten47 ] Welp, sad to hear that. I thought it would be just like the old days where Notch experiment with "things".

image

MC874 commented 1 week ago

[ @Shadowkitten47 ] But since this is no longer in development, Blockbench should definitely implement this.

Shadowkitten47 commented 1 week ago

@MC874 Indeed but also they have non-cube stuff in vanilla Minecraft so I don't know why they don't expand on it image

Shadowkitten47 commented 1 week ago

The sin of non 90-degree angles must NOT be forgiven

MC874 commented 1 week ago

[ @Shadowkitten47 ] Did you have social media account?

Shadowkitten47 commented 1 week ago

@MC874 Not really I have discord if that works for u shadowkitten47 every acc I have is under the same name if otherwise