Moo-Ack-Productions / MCprep

Blender python addon to increase workflow for creating minecraft renders and animations
https://theduckcow.com/MCprep
GNU General Public License v3.0
280 stars 26 forks source link

Community Asset Submissions for MCprep #245

Closed TheDuckCow closed 2 years ago

TheDuckCow commented 2 years ago

MCprep Asset community challenge!

We are seeking YOUR help to add new assets to MCprep! Show your skills, learn something new, and contribute back to MCprep by submitting to this October challenge. Bonus: Submissions for ["entities"] assets will be part of the upcoming Entity Spawner (timeline: Early November), however all assets will be evaluated to include in MCprep (see below for details).

We are looking for submissions of (these are ideas only):

How to enter this challenge

Anyone can join the challenge by following these steps:

1) Develop an asset yourself. It should be original work, made in blender. It should be something from Vanilla Minecraft in order to be considered to include in MCprep. 2) Create a new comment (reply) to THIS thread, attaching your blend file directly. Optionally attach a screenshot too so others can visualize your great work! 3) Include your name/title to be used in the credits section. You may optionally supply a twitter/youtube/other social link. 4) In your comment, explicitly confirm: "I understand that I am providing this asset for use under the CC-BY (attribution) license". By doing so, you affirm you understand others may use or extend your asset without restriction, so long as they provide credit back to you or MCprep itself (which will include you in its credits).

Deadline - Oct 31st!

To be part of the next MCprep release, and be celebrated as a challenge participant, post your entries by October 31st!

Q&A section

I submitted my asset! But where can I show it off?

Share it on social media! We suggest you post it with a link to your comment on this thread (right click top right, copy link), and use the #MCprep hashtag.

Does it have to be a Minecraft Vanilla [mob, block, item, entity, effect]?

Yes, if you want to create an asset that will be added to MCprep, it must be from Vanilla Minecraft.

Will my asset be included in MCprep?

If it's not one that already exists, then yes! The MCprep Helper team may need to edit your asset slightly to fit MCprep standards, but credit will still only go to you. If an asset is not to a minimum quality bar (as analyzed by the helper team), then we may ask for revisions or update it ourselves.

Can I remake an asset already found in MCprep?

Yes, and it will be considered for replacing the existing asset. However, you are encouraged to focus on submitting assets not currently in MCprep. At a minimum, your contribution will live on in this repository.

Can I enter multiple assets?

That would in fact be encouraged! Don't sacrifice quality, but having more entries means more assets available to future MCprep users (yay!)

What if there are multiple submissions for the same asset?

That's ok! Please note this is not a contest, but a challenge to flush out what is missing from MCprep while also honing your 3d skills. However, only one version of any given asset will be included in MCprep to keep its download size optimized, decided on by the MCprep Helper team.

What best practices should I follow when creating assets?

When will MCprep be updated with the new assets?

The plan is to release the MCprep update in November 2021.

What's the reward for entering the challenge?

Mostly the warm fuzzy feeling of contributing back to MCprep! But we'll also do some shout-outs for everyone who joined, pointing back to this page as a record of that. Expect a recap "challenge community" render to go out on social media and a potential youtube video too.

I have more questions!

Please join our discord server, and ask away under #contest-discuss.

Roni-Raihan commented 2 years ago

boat.zip

happy to contribute. this is a rig boat. texture is already in the .blen file. I understand that I am providing this asset for use under the CC-BY (attribution) license Credit to my youtube channel page on behalf of TRPHB Animation: https://www.youtube.com/c/TRPHBAnimation/

Roni-Raihan commented 2 years ago

bow, arrow, crossbow.zip I also make rigs for bow, arrow, crossbow. all the vanilla textures are in the .blen file. and sorry for the file name and bone name using my country's language, Indonesia. (i forgot to change it to english)

I understand that I am providing this asset for use under the CC-BY (attribution) license Credit to my youtube channel page on behalf of TRPHB Animation: https://www.youtube.com/c/TRPHBAnimation/

Roni-Raihan commented 2 years ago

I also made crack material for solid blocks. block texture can be replaced with anything or just want to use a crack texture too. hope this can be usefu

here is a video how to use it https://user-images.githubusercontent.com/82071318/136154799-86f520ed-9cfb-4bcb-813c-e0cfdd5a9dc3.mp4

video how to use it is also available in .zip file retakan.zip

I understand that I am providing this asset for use under the CC-BY (attribution) license Credit to my youtube channel page on behalf of TRPHB Animation: https://www.youtube.com/c/TRPHBAnimation/

TheDuckCow commented 2 years ago

Thanks a ton @Roni-Raihan for your contributions, setting a high bar for everyone!

TheDuckCow commented 2 years ago

With this, that concludes the community challenge - of course, MCprep will always take in new asset suggestions though. Will mark this issue as closed once MCprep releases with these assets.

Ageofherosmedia commented 2 years ago

Shield.zip

TheDuckCow commented 2 years ago

Closing this thread now as all the above have been integrated into the v3.2.6 release (to be released by the end of the year here). Thanks again all!

@Roni-Raihan your crack material is not part of this immediate release, I'm actually hoping to build more of a function out of this! I have to think a bit further how to wrap the UI around it or where to present it, but will notify you once I have (and maybe get your feedback).

@Ageofherosmedia messaged separately about ensuring I get the right credit URL for you, which will end up in the README file.

StandingPadAnimations commented 2 years ago

For anyone still interested in submitting assets, just message on this thread.

Some ideas for assets include:

Here are some suggestions from TheDuckCow's message:

zNightlord commented 2 years ago

Start early and simple with the frog, taken from my MCB asset rigs @znightTrung on Twitter How to use it? Frog has 3 types/variants so the body object use a Geometry Nodes modifier to switch that if it's fine for the time being. There is still something I want to add for it. image MCB_Frog.zip

TheDuckCow commented 2 years ago

Nice! @zNightlord are you planning to do more with the rig, or do you think it's ready to use as is? And is that the credit url you want then, https://twitter.com/znightTrung?

zNightlord commented 2 years ago

Nice! @zNightlord are you planning to do more with the rig, or do you think it's ready to use as is? And is that the credit url you want then, https://twitter.com/znightTrung?

Sorry. It's already ready somehow. I was thinking about bring the Geometry Nodes switch to the Rigify rig layer panel for easy access. It can modify the value but not really update the actually thing maybe that has something to do with current state of the API for GN. Or maybe just put it as a rig slider. *I want to put in the Rigify layer panel cause it relate more to customization The allay mob rig should be coming next.

zNightlord commented 2 years ago

MCB_Allay.zip image Since the Allay's arms quite tiny so I decided to not doing sharp bend on this one. Should this have facial later on? *Update basic glow material

TheDuckCow commented 2 years ago

Thanks for sharing both of these! I'll be taking a look. Generally I'm avoiding including geometry nodes in rigs at all just to ensure that there is good backwards compatibility, but I'll take some time later to do some quick QA and see if I run into any issues.

In terms of scripts, if there are any scripts that should go along with the rig, I end up putting that alongside the blend file with a .py extension, so that MCprep auto loads it. Even if it's coming from rigify, would need to be its own script so that it stays compatible with the way that MCprep can load scripts (but I can take a look at what that involves).

DigitalDan-68 commented 2 years ago

Sending in the warden rig I recently made. The way it's rigged is more in line with the promotional trailers then what most would consider is the minecraft animation style. image The rig has full IK-FK Support for the arms and legs. image The legs have a Minecraft Dungeons style of bending. l9OWgCt Has an animated material for the Heart and Sculk patches. image I've also included the Sonic Boom Attack, although this could probably be done a lot better. d58uWA9

And that's everything, Here is the file itself: Warden.zip

I hope the rig is added and many others can use it!

Credits: Rig by (Me) @DigDanAnimates on Twitter

Roni-Raihan commented 2 years ago

holiday has arrived, now back to work on unfinished projects including the cat rig. Planning to share this cat rig with MCprep 😄️ untitled

TheDuckCow commented 2 years ago

Amazing @Roni-Raihan - if you happen to be able to share within the next ~3-5 days, then I can be sure it's included in the next MCprep release!

TheDuckCow commented 2 years ago

Updated, see following comment after this


Hello all! On a going forward basis, please try to avoid using these settings when creating your rigs:

Screen Shot 2022-07-04 at 10 29 17 AM

These were introduced in Blender 3.0, and it breaks backwards compatibility. As a test, you can always try importing your model into Blender 2.93 and see if your rig appears (if having trouble, open your rig in blender 3.0, then save as a new file, then open blender 2.93 and append the collection from the 3.0 file you just saved). It's a decent bit of manual effort for me to fix, but I'm working through it on these rigs submitted where needed.

To avoid using these transforms, you just need to make sure your source bone object has the right scale and orientation. This is required to continue ensuring MCprep works across a wide range of versions of blender. Believe it or not, following this allows me to continue supporting these rigs as far back as blender 2.78. Thanks!

TheDuckCow commented 2 years ago

Minor update, I actually have to take back what I said in the last comment - unfortunately, it appears that vertex group data is completely lost when going form blender 3.0 to 2.9 or earlier. There's no non-trivial workaround for this, aside from exporting rigs to FBX and reimporting. I may end up having to do this simply to provide backwards compatibility, but all aspects of customized blender controls (properties, drivers, advanced material animation, and custom bone shapes) would be lost during this conversion.

I strongly encourage anyone where possible to create their rigs in Blender 2.93 for the most compatibility, but knowing this problem won't go away, I'll be seeing about other tech alternatives.

zNightlord commented 2 years ago

Backport the Frog to 2.93: Switching the geometry to a driver method. Now the variant switch is on the rig panel. MCB_Frog_293.zip 2022-07-05 15-04-26

TheDuckCow commented 2 years ago

You're a rockstar @zNightlord for doing this, thanks a million for helping us improve backwards compatibility! You also made some great notes for others who end up dealing with this (which will include me, too); full credit to you:


What to change: 3.0 -> 2.93 EditBones: BendyBone ScaleIn and ScaleOut 0.0 -> 1.0 (3.0 added new Scale Z axis) PoseBones: Bone Viewport display: Custom Shape Scale to 0.0 -> 1.0 (3.0 added new Transform settings) Constraint Local Space (Owner Orientation) -> Local Space possible breaking in rig certain case Constraint Mix mode in 3.0 they split Mix mode to Full, Align and Split change it to the correspond Before Original or After Original

About the bone controller and losing vertex groups how I deal with it is export the deform rig version of it with fbx to preserve the rig vertex group and append the rig armature back from 3.0+ to 2.93

Banana-Blu commented 2 years ago

Here is the spyglass model! Sadly there is no rig For the credits just my github nick Spyglass.zip .

TheDuckCow commented 2 years ago

Thanks @Banana-Blu! And though I appreciate not needing to be credit, all provided assets are given credit. If nothing else I will use your name Banana-Blue as you have registered here and link to your GitHub profile.

Model looks good, might not even really need a rig at all which is fine.

Banana-Blu commented 2 years ago

Ok, happy to have helped!

Roni-Raihan commented 2 years ago

I want to confirm a bit, I haven't finished the cat rig yet. But it's good enough because it's not that far, so I can pass it on at 2.93 😁

https://user-images.githubusercontent.com/82071318/178105398-28ced8ca-e7ab-43ce-b0b6-bb75ba774660.mp4

TheDuckCow commented 2 years ago

Nice work @Roni-Raihan, excited to see it when finished! If by chance you get it ready in the next couple days, I can include it in the next MCprep release, otherwise the release right after isn't a problem.

At this point, I just need to work on backporting the Warden rig as well as the Allay.

TheDuckCow commented 2 years ago

Minor FYI @zNightlord that I went through the rest of my standardization process, and I was able to make your frog rig even further backwards compatible (by creating some slight modifications to the script and a slight mod to how the material nodes work, as for some reason the Average vector node was behaving differently in blender 2.8 and 2.7). You'll see it once MCprep releases.

I'm going to work on the Warden rig update next, and then I'll get to doing the Allay (if you happened to have started on that please let me know!).

TheDuckCow commented 2 years ago

Small update. I've given up on trying to backport the Warden rig, it's too complex with too many constraints and properties, my time is not best suited here. And regardless, this issue is going to continue. So instead, I've outlined a workaround here that TL;DR surmounts to stripping the rig down to basics after an FBX export: https://github.com/TheDuckCow/MCprep/issues/317

zNightlord commented 2 years ago

Small update. I've given up on trying to backport the Warden rig, it's too complex with too many constraints and properties, my time is not best suited here. And regardless, this issue is going to continue. So instead, I've outlined a workaround here that TL;DR surmounts to stripping the rig down to basics after an FBX export: #317

I checked and backported it. Warden_293.zip image I forgot about sonic boom thing. It's missing texture for me.

image

Here is the script i made for the boneshape issue, which take the 3.0 transformation and create another set of boneshape in world space similiar to how rigify handle it except for the mirroring but it is fine.

import bpy
from mathutils import Matrix,Vector,Euler
C = bpy.context

obj = C.object
obj_matrix = obj.matrix_world

pbs = obj.pose.bones

for pb in pbs:
    sh = pb.custom_shape
    if sh is not None:
        pb_matrix = obj_matrix @ pb.matrix # pose bone to world space
        # get 3.0 bone shape transform
        T = Matrix.Translation(pb.custom_shape_translation)
        S = Matrix.Diagonal(pb.custom_shape_scale_xyz).to_4x4()
        R = pb.custom_shape_rotation_euler.to_matrix().to_4x4()
        # bone length uniform scale
        len_bone = pb.length
        L = Matrix.Scale(len_bone,4)

        # create new boneshape object
        new_sh = sh.copy() 
        new_sh.data = sh.data.copy()
        C.collection.objects.link(new_sh) #link it to the scene optional

        # align it to world space
        new_sh.matrix_world = pb_matrix
        # transfrom the boneshape 
        new_sh.data.transform(T @ R @ S @ L)

        # apply and clearing out the 3.0 transform
        pb.custom_shape = new_sh
        pb.custom_shape_translation = Vector((0.0,0.0,0.0))
        pb.custom_shape_rotation_euler = Euler((0.0, 0.0, 0.0), 'XYZ')
        pb.custom_shape_scale_xyz = Vector((1.0, 1.0, 1.0))
        # unfortunately this need to be false
        pb.use_custom_shape_bone_size = False
TheDuckCow commented 2 years ago

Absolute rockstar legend @zNightlord, this will definitely work much better than my quick workaround FBX version. Thanks for also sharing that script as well, will note that down and possibly create a more official guide for this. All this being said, I still will consider it at this point a "bonus" for future rigs to be made backwards compatible (and thus not block inclusion), but it's a good thing to do where we can.

I actually skipped including the sonic boom anyways, I'm thinking that should be an animated instance effect like TNT explosions (though still needs to be created, we can get there in the future).

zNightlord commented 2 years ago

allay._293.zip image

backport, fix a minor issue with the previous version have (wing naming is backward and also now it has the same naming as other wing rig in my wip rigs) add 90 sharp bend.

For the backport Warden, there is an issue I haven't fixed is the custom properties min and max value just need to reset it back to 0 and 1. Warden_293.zip

Roni-Raihan commented 2 years ago

finally finished. At first I wanted to make the cat's mouth open, and I tried to make one. but the results are not suitable because it turns out that the cat's mouth only consists of a few pixels. so i returned it. the cat texture included in the blen file is just a jelly cat. but i think it's okay. if you want to replace it, the way is the same as usual. cat rig

here it is cat.zip

TheDuckCow commented 2 years ago

Thanks for the contributions all!

Officially removing this from pinned issues as we now have a formal template for submitting [assets here[(https://github.com/TheDuckCow/MCprep/issues/new?assignees=&labels=enhancement&template=Asset-Submission.yaml), please use this moving forward (you can submit an initial version of your rig and update later if you want).

A couple assets had some wonky scales, but don't worry I'll take care of fixing those. Just remember this for the future!

StandingPadAnimations commented 2 years ago

I'll link this issue template to MCprep Helpful Horse when I get the chance