-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CommonMCOBJ Feedback #125
Comments
Hey Eric, as you consider this, it's probably also to have in mind the parallel conversation we're having with in the jmc2obj repo over here: jmc2obj/j-mc-2-obj#243 Keen to hear your thoughts! Kudos to StandingPad for spearheading this initiative. |
I'm happy to add whatever tags get settled on, as needed. FWIW, I currently do add a piece of metadata to OBJ exports. Right now only G3D recognizes it. It's to flag that textures should be treated as blocky (Minecraft style). The tag is like this, in the .MTL file:
|
I should also mention that the header of Mineways OBJs all have the following type of data:
|
Thanks for responding! The Mineways header was a source of inspiration when creating CommonMCOBJ, so for the most part the same values can be used (albeit with some different names and values); we use what OBJ exporters have already been providing as a reference to help with adoption. The only thing that might be a bit of a challenge is As an aside, I think it might also make sense to put the CommonMCOBJ header under the Mineways header, just to avoid breaking scripts that use the Mineways header. CommonMCOBJ was designed to be placed anywhere in the OBJ for backwards compatibility reasons, just as long as it has the correct start and end markers. |
At a glance it looks to me like this line in the existing header is already exactly what the
|
Separate header is fine if need be, just one more (small) thing to output from Mineways. Though, like you say, a lot's similar, so maybe there's a way for me to avoid duplication. Let me know when things are settled and I'll add the code to Mineways. I suspect all I need to do is add COMMON_MC_OBJ_START and END lines in the right places and move stuff that the spec doesn't understand to lines after END. Thanks for making it easy! I've submitted a PR of little fixes to the README (my tricks: paste the text into MS Word to turn up bugs, and also run my chex_latex tool over it, just to see). |
Sounds like a good plan 👍 |
CommonMCOBJ V1 has been finalized now 🎉 We've created a reference implementation of CommonMCOBJ called cmc2OBJ, which should help in comparing output. If you're curious, here's the section that outputs the header (note that it's written in Kotlin) |
Looks like a bug with the JAR file. I'll upload a fixed copy as soon as possible
cmc2OBJ is for reference. The idea is developers could compare their CommonMCOBJ header output with cmc2OBJ's output to make sure they're on the right path with implementing support |
Uploaded the fixed JAR file on the release (as |
Fast work, thanks! This new version doesn't crash, but doesn't export materials into the OBJ file, if that is a goal of yours (I'm not clear on what all this version is supposed to do). I see faces in the .obj, but no material references. |
I'll take a look at the material issues later today (I've been having some MTL issues on my end as well since I use PrismMC as my Minecraft launcher). Currently however, CommonMCOBJ doesn't have anything for materials (except whether textures are exported as one large texture atlas or seperate images), and the OBJ file contains all of the current CommonMCOBJ data |
I couldn't get your jar to export textures properly, but it's not vital (to me). I've done a quick implementation of CMC2OBJ in Mineways, download the beta. Please do give it a try and see if it's what you expect. |
Looks good to me 👍 |
Yep, checked the values and they seem correct to me! |
Thanks, both of you. Tomorrow I hope to release a new version of Mineways with this in it. |
OK, released: https://github.com/erich666/Mineways/releases/tag/v11.07 - Mineways doesn't try to read these headers, just writes them at this point. If there's a reason for Mineways to read the header (I guess exports from other apps, like jmc2obj?), I'll add that. It's not a huge amount of work, but I wanted to get basic export going and let things settle down. Let me know when jmc2obj exports this type of header and I'll work on reading the data into Mineways. |
Thanks for the cooperation, I've added Mineways to the list of exporters supporting CommonMCOBJ. |
OK, I think this one can be closed. |
Hey there, StandingPad from the MCprep team here. I want to propose and discuss a draft specification that we at the MCprep team have been working on for the past week or so: CommonMCOBJ
CommonMCOBJ aims to establish a common standard for extra metadata in OBJ exports, such as texture export information, information about the selection that the OBJ is derived from, etc. In addition, it also aims to create standard ways to export world information (such as biomes) to allow for better animator workflows in 3D software.
We're in the process of gathering feedback from exporter developers to make adoption easier for exporter developers to adopt when we finalize version 1 of the spec.
Hope to hear back!
The text was updated successfully, but these errors were encountered: