Open TheDuckCow opened 1 year ago
!
Yo, I'm flattered that you've seen this! You're one of the reasons I got into Blender Minecraft stuff in the first place! I'd love to collaborate, and plenty of people have asked about MCPrep integration in the past. For instance, someone asked if I could make it work with MeshSwap, and I told them that's something that has to be done on MCPrep's end.
The main thing I want to avoid is a hard-dependency on MCPrep. That said, I'm sure many intercompatibility features could be implemented!
In response to your thoughts:
This is already a feature that I've been considering! While I was initially planning to make my own rigs, the MCPrep rigs are probably better.
That would be really cool! I have extensive documentation on how the format works if you want to avoid a dependency. I'm also planning on making a client command that captures and exports the current world without having to go through the Replay Mod.
This addon actually handles materials much differently than MCPrep. The textures are actually generated from the resourcepack you have loaded in-game and baked into a standard format on the Java side. Right now, it conforms to a standard PBR setup, but more shader definitions could easily be added to the format. However, I do want to avoid a hard-dependency on MCPrep.
Ditto; textures are handled by Minecraft.
We should totally add operators to link the two addons. I'll say I'm not great with Python/Blender coding and I don't know how to soft-depend on other addons, but I'm sure we can figure it out!
It's just a shame I didn't see sooner!
Appreciate the willingness and openness to collaborate. I'm on the same page as you in terms of not creating hard dependencies (otherwise, may as well be the same repo). I've not actually used the reply mod myself, but it'll probably be worthwhile for me to see how it's currently working with some live examples.
You mentioned people asking for integrations with MCprep in the past - any conversations you can link to, or any recollection of specifically what kind of integration they were yearning for? I could also see it being a nice thing if someone set up their materials and textures with MCprep, it gets auto applied to the world imported by your addon. But I also don't want to invent solutions to problems that don't exist.
I mean, you could probably update "Prep Materials" to recognize worlds in this format, but I don't think it will be replacing the native importer any time soon. What else does prep materials do other than fixing the texture interpolation issue and basic material nodes?
I can't find any reference to MCPrep in GitHub Issues, but people have asked about it on Discord a few times. It's generally just "is this compatible with MCPrep?" And that one time someone asked about Mesh Swap.
Yeah, minimally providing support of recognizing the materials will be a good start. I'll see how it looks out of the box when I have some time (which might be in a few weeks, I have an upcoming trip where I won't have as much time).
Prep materials has some additional power features:
Thanks for sharing what you recall of prior convos. When I get some time and live test this, I'll see if I think of anything else. Out of curiosity, do you use MCprep yourself at all? (Asking more from the perspective of seeing if anything particularly complements your mc-world-export workflow)
Yeah, most of those material systems are handled natively by the importer, including animated textures. As for my experience with MCPrep, I usually stick to the material generator and the spawner (I prefer to setup my own world and render settings). Obviously, my exporter renders the material generator useless, but I've still found the spawner to be quite useful.
Sometimes, I need to add some additional blocks to the scene to compliment the camera angle, or I need a mob to do a specific thing that's better to animate from scratch. In these cases, I find the spawner integrates rather seamlessly with the rest of my workflow. I imagine the world generator would too, provided one decides to use it.
Ultimately, I think the biggest difference between my Replay Exporter and MCPrep is that the bulk of the work for me happens in the Minecraft mod (with full access to Minecraft's rendering libraries), and MCPrep is entirely in Blender. For instance, I don't need to worry about a "resourcepack swapper", because it always uses whichever resourcepack(s) you have loaded in-game at the time of export. That's also why the imported Blender assets can be so hard to work with: because Minecraft's rendering engine is a complete mess.
On a side note, I just joined your Discord server (Igrium#7207). Do you think it would be easier to collaborate there?
Thanks to this user, I found about the awesome work being done here. As the owner of MCprep, can't help but ask the question - is there something we could join forces or make one addon help out other? The answer might be that it doesn't make much sense, but it doesn't hurt to start a conversation I say.
For your awareness, MCprep is a general purpose blender addon that aims to help animators make advanced Minecraft animations and renders with ease. It's been going ~10 years strong, so I can appreciate seeing that this repo too has been steady with development and updates for a few years now.
Open to any ideas, but some initial thoughts: