Skandarella / animalworld

A Wildlife Mod for Minetest Game for Mobs Redo by TenPlus1
Other
8 stars 13 forks source link

Please supply the missing blend files and I'll fix issue #1 aka issue #4 #5

Open Poikilos opened 2 years ago

Poikilos commented 2 years ago

The b3d files use a separate model for each object. If you join them and use bones for vertex groups instead of separate models, the problem will be solved, probably. I've seen this issue in Minetest before and fixed it.

Skandarella commented 2 years ago

Ok i will upload them in the next days

Skandarella commented 2 years ago

If you want to try to fix them, they and all my other models can be found here: https://github.com/Skandarella/b3dfiles

Skandarella commented 2 years ago

I have uploaded the .blend files in a seperate folder. The models where created in block bench, also the textures. The animations where made in blender, but the "wrong" way i do it. I am not able to create vertex groups and often tried it, but i am not smart enough to lear it :/ I watched many learning videos, but often the menus are not the same in the blender versions and i find it very confusing. Doing textures with blender is a horror for me too, i dont understand it, too complicated. I hope that minetest will support minecraft models in the near future, it is very easy to create models and textures with minecraft editors like blockbench, but a horror with blender.

Poikilos commented 2 years ago

There is no separate folder in the b3dfiles repo nor in the new b3dfiles branch of this animalworld repo. If I pull the repository or switch to the remote b3dfiles branch, there is no ".blend" file of any model, only b3d files which are the ones I can't edit. In fact, the b3dfiles branch of animalworld is identical to the main branch other than the git directory since it describes the branch: image

The b3dfiles repo is also unchanged, and contains no ".blend" files.

Are you sure you uploaded ".blend" files? Where?

Skandarella commented 2 years ago

https://github.com/Skandarella/blendfiles

Poikilos commented 2 years ago

I fixed it in my fork :-) I just added 20 textures for each... seems to work with 5.4.1

-BobOmbuzal (on https://github.com/Skandarella/b3dfiles/issues/1)

@BobOmbuzal: You have to have 30 for trex, so probably there are other model files with more than 20 meshes.

Just the monkey and fox and seahorse should use random textures i guess, but i don't know how... https://github.com/BobOmbuzal/animalworld

-BobOmbuzal (on https://github.com/Skandarella/b3dfiles/issues/1)

@BobOmbuzal:

Then in the mob def do:

textures = multimesh_variants,
-- or for non-random textures: textures = multimesh_textures,
Skandarella commented 2 years ago

Hi, thanks for fixing it ! :) I will need some time to integrate the new models etc.

Skandarella commented 2 years ago

Ah i see that it works now all like it should even if shaders are deactivated. So i can upload an update with the fixed models right?

Skandarella commented 2 years ago

Following mobs are still bugged in texture: Spider, Crab, Losbter, Notoptera, Scorpion, Spider Male,

Skandarella commented 2 years ago

I also dont understand why random textures dont work now anymore. And what is a nested table and what should i do to build one?

Skandarella commented 2 years ago

When i am changing the texture names like:

textures = {
"texturemonkey2.png", "texturemonkey2.png", "texturemonkey2.png", "texturemonkey2.png", "texturemonkey2.png",
"texturemonkey.png", "texturemonkey.png", "texturemonkey.png", "texturemonkey.png", "texturemonkey.png",
"texturemonkey.png", "texturemonkey.png", "texturemonkey.png", "texturemonkey.png", "texturemonkey.png",
"texturemonkey.png", "texturemonkey.png", "texturemonkey.png", "texturemonkey.png", "texturemonkey.png"
},

they only appear with mixed textured limbs and body parts. How to fix that?

Poikilos commented 2 years ago

I'm almost done a patch with a function I created for this. Variant (random) textures work. The problem with the code you show above is that it isn't nested. My function will create a table like:

textures = {
{"texturemonkey.png", "texturemonkey.png", "texturemonkey.png", "texturemonkey.png", "texturemonkey.png",}
{"texturemonkey2.png", "texturemonkey2.png", "texturemonkey2.png", "texturemonkey2.png", "texturemonkey2.png"}
},

and so on for any number of variants (listed in rows) and number of meshes in the model (listed in columns). The function will be much nicer that expanding the example code above to 20x for each row.

Poikilos commented 2 years ago

Note that https://github.com/Skandarella/animalworld/pull/7 will only fix it for mobs that spawn after the fix (See screenshot), because the world saves the texture. In other words, you must kill off mobs with the glitch to fully solve the issue in an existing world. All mobs that are spawned after the update will be textured correctly on basically any version of Minetest. screenshot_20211128_173710 .

BobOmbuzal commented 2 years ago

Great work, @poikilos i just tested #7 and it worked! I was looking for a .b3d object counter too, didn't find one so i just tried it with 20 :-) Good to know that random textures are done with tables-in-tables, i couldn't find any info about this.

Note1: If you want to fix older mobs /giveme mobs:mob_reset_stick and hit them with the stick

Note2: Since #7 is just needed for 5.4 we won't need it in Skandarella:main maybe a new branch for it would be a good idea? Or a note/link to compatible-texture-tables

Poikilos commented 2 years ago

Great work, @poikilos i just tested #7 and it worked! I was looking for a .b3d object counter too, didn't find one so i just tried it with 20 :-) Good to know that random textures are done with tables-in-tables, i couldn't find any info about this.

Note1: If you want to fix older mobs /giveme mobs:mob_reset_stick and hit them with the stick

WOW! I didn't know about mob_reset_stick, thanks.

Note2: Since #7 is just needed for 5.4 we won't need it in Skandarella:main maybe a new branch for it would be a good idea? Or a note/link to compatible-texture-tables

Uhh, I know the direction you are suggesting is "common," let's say, in Minetest, but the idea of taking a stick (a metaphorical one, not the mobs one :) ) to people for not upgrading is not something I'm fond of at all. There is no harm in keeping mods compatible, and I forked several to make them compatible: animalmaterials, farming_redo, birthstones, plantlife_modpack, and others. In many cases, just run my compatiblizemod.py, lol. With core devs suggesting to fork minetest_game, well, I think we have to think for ourselves what will make Minetest maintainable.