3D Silent Hill 2 Maria character (Blender and .md3 thread)

Projects that alter game functions but do not include new maps belong here.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
Post Reply
User avatar
RederickDeathwill
Posts: 31
Joined: Sun Sep 06, 2020 4:18 pm
Graphics Processor: nVidia (Modern GZDoom)
Location: São Paulo - Brazil
Contact:

3D Silent Hill 2 Maria character (Blender and .md3 thread)

Post by RederickDeathwill »

I've decided to use mrtaterz's third person mod (Merged with Precise Crosshair by m8f in a single .pk3) as a reference for experimenting with third-person gameplay using arbitrary 3D characters.

I've downloaded the original Silent Hill 2 Maria model in the .fbx format, opened it with Blender, exported it to .obj, opened it in Maverick Model 3D, loaded the textures for each group and exported as the evil skeleton-less .md3 format.

Here's the result inside GZDoom devoid of animations:



OLD AND ORIGINAL PK3 DOWNLOAD LINK, UPDATED ONE CAN BE FOUND BELOW: https://drive.google.com/file/d/1carJD6 ... sp=sharing

So far, I'm just happy in understanding the SurfaceSkin and FrameIndex properties. Here's my MODELDEF:

Code: Select all

Model CustomDoomPlayer {
	Scale 4 4 4
	Offset 0 0 0
	AngleOffset 0
	Path "Models/Custom/Maria"
	Model 0 "maria.md3"
    INTERPOLATEDOUBLEDFRAMES
	SurfaceSkin 0 0 "Face_diff.png"
	SurfaceSkin 0 1 "Hair_1_diff.png"
	SurfaceSkin 0 2 "Hair_diff.png"
	SurfaceSkin 0 3 "Hand_1_diff.png"
	SurfaceSkin 0 4 "shoes_diff.png"
	SurfaceSkin 0 5 "Suit_diff.png"
	FrameIndex DMG1 A 0 0
}
Now I'll try to create some basic vertex animations on Maverick Model 3D, just by talentlessly moving vertexes around at each frame and referencing them with FrameIndex considering my ZScript custom DoomPlayer actor. If I manage to do anything at least a bit better than not having animations at all, I'll post here :D

------------------------------------
EDIT:

UPDATED YOUTUBE PLAYLIST: https://www.youtube.com/watch?v=bzNNKGC ... GpEpQvOr50

This is becoming a more general blender / .md3 character animation exportation thread.

LATEST VIDEO:



LATEST MOD VERSION DOWNLOAD FILE:
Just -file the .zip file, don't extract it (Unless you want to actually understand the zscript / everything).

https://drive.google.com/file/d/1pLOg3l ... sp=sharing
Last edited by RederickDeathwill on Wed Oct 27, 2021 8:07 pm, edited 6 times in total.
User avatar
edypagaza
Posts: 78
Joined: Mon Mar 07, 2016 12:35 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: Silent Hill 2 Maria character in third-person

Post by edypagaza »

is a long process what are you doing
i sugrest you to import fbx (rigged) into blender and animate in there
the bones, check tutorials for that, and then
you can export md3 files directly from blender with md3 exporter, only works with blender 2.79
User avatar
RederickDeathwill
Posts: 31
Joined: Sun Sep 06, 2020 4:18 pm
Graphics Processor: nVidia (Modern GZDoom)
Location: São Paulo - Brazil
Contact:

Re: Silent Hill 2 Maria character in third-person

Post by RederickDeathwill »

zheg wrote:is a long process what are you doing
i sugrest you to import fbx (rigged) into blender and animate in there
the bones, check tutorials for that, and then
you can export md3 files directly from blender with md3 exporter, only works with blender 2.79
I've realized that it will be nearly impossible to animate this on Maverick Model 3D, since the model's not low-poly enough for vertex animation (I end up selecting wrong vertexes, and without the vertex groups from blender, it can't be done). I've dealt with rigging and skeleton animations in Blender before since I've ported a female scientist model from Black Mesa to Left 4 Dead 2 to be played as a survivor, as well as another per-request port (The source engine is a huge pain in the a** btw, but 3D animations work).

It's sad that the md3 exporter doesn't work on the current 2.93 blender version. Even though I'm a Python programmer, I don't know the blender API. I'll open Nash's script and see if I can do anything with it, see what changed between the 2.7x and the 2.9x APIs.

But yeah, GZDoom currently is quite 3D hostile concerning animations.
User avatar
edypagaza
Posts: 78
Joined: Mon Mar 07, 2016 12:35 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: Silent Hill 2 Maria character in third-person

Post by edypagaza »

theres an unnoficial md3 exporter fi
or newer version of blender, maybe you can check it out

edit:
https://github.com/nashmuhandes/io_expo ... eo_blender
User avatar
RederickDeathwill
Posts: 31
Joined: Sun Sep 06, 2020 4:18 pm
Graphics Processor: nVidia (Modern GZDoom)
Location: São Paulo - Brazil
Contact:

Re: Silent Hill 2 Maria character in third-person

Post by RederickDeathwill »

zheg wrote:theres an unnoficial md3 exporter fi
or newer version of blender, maybe you can check it out

edit:
https://github.com/nashmuhandes/io_expo ... eo_blender
Thanks for pointing that out, I've spent the night playing with it after reading the source code for the exporter (Just scratching the surface of it) and I've noticed that there are frame / animation-related parts, so I've opened blender and created a basic cube with a gimp-made valve-like "missing" texture and created a basic rotating animation in order to be played when you walk or shoot inside the game. These are the results:



Maybe eventually I'll make tutorials about it because making 3D animations using Blender and exporting them to be used inside GZDoom seems to be a pretty obscure and niche subject, not to mention that the documentation lack in details about it (The overall brilliant wiki, I mean). Reading the GZDoom source code I've noticed that someone implemented support for old Unreal Engine 1 models, but I couldn't understand if it supports animations or not, and since it's even more obscure than md3, I'll just ignore that altogether.

Tomorrow after work I'll experiment with bones (A real armature), animating the legs and exporting to md3 in order to check if it works or not. By the way, I've already exported a nasty high-poly model from XNALara with 32480234 vertices and it crashed GZDoom as expected (I've read the limitations on the exporter, but I didn't see them on the source code yet).

Unrelated comment: After this, I've realized that using a smaller model plays much better in third-person.
User avatar
edypagaza
Posts: 78
Joined: Mon Mar 07, 2016 12:35 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: Silent Hill 2 Maria character in third-person

Post by edypagaza »

nice job, i wanna test it aswell
User avatar
RederickDeathwill
Posts: 31
Joined: Sun Sep 06, 2020 4:18 pm
Graphics Processor: nVidia (Modern GZDoom)
Location: São Paulo - Brazil
Contact:

Re: Silent Hill 2 Maria character in third-person

Post by RederickDeathwill »

I've made some progress with the animations. It's perfectly possible to use armatures / skeleton animations exporting them using that script.

User avatar
edypagaza
Posts: 78
Joined: Mon Mar 07, 2016 12:35 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: Silent Hill 2 Maria character in third-person

Post by edypagaza »

thats very cool!
you should make a thread or something like... md3 exporter for blender 2.90
User avatar
RederickDeathwill
Posts: 31
Joined: Sun Sep 06, 2020 4:18 pm
Graphics Processor: nVidia (Modern GZDoom)
Location: São Paulo - Brazil
Contact:

Re: Silent Hill 2 Maria character in third-person

Post by RederickDeathwill »

zheg wrote:thats very cool!
you should make a thread or something like... md3 exporter for blender 2.90
I'm improving my blender and animation skills. I've realized that I suck at animating run / walk / idle cycles, so I've spent last night improving the running cycle of her. I've managed to fix the vertex groups and the legs are not horribly distorting anymore. Also, I wanna try to separate the animations inside a single blender file and export them by selection, because separating the animations in different blender files doesn't allow me to make updates on the model efficiently. The process is still somewhat broken, mostly because of my lack of skills on Blender, so I'm fixing that. Also, I forgot the mention a scale problem that I had, as the model and armature must be positioned at 0 z (Otherwise the exporter will break the z position of the animation frames). Anyway, for now, I'll update this thread until I have something a bit more solid.
User avatar
edypagaza
Posts: 78
Joined: Mon Mar 07, 2016 12:35 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: 3D Silent Hill 2 Maria character (Blender and .md3 threa

Post by edypagaza »

cool, keep it up, also great work, I wanna try the exporter as well, if you want to share it for me, send PM please :D
User avatar
RederickDeathwill
Posts: 31
Joined: Sun Sep 06, 2020 4:18 pm
Graphics Processor: nVidia (Modern GZDoom)
Location: São Paulo - Brazil
Contact:

Re: 3D Silent Hill 2 Maria character (Blender and .md3 threa

Post by RederickDeathwill »

zheg wrote:cool, keep it up, also great work, I wanna try the exporter as well, if you want to share it for me, send PM please :D
I've sent you, it's Nash's neo_blender latest branch.

So, I've been studying how to animate walk and run cycles using blender and I've created somewhat of a framework to animate and export to GZDoom more efficiently using 3 stages / letters. I've found that 30 frames per animation is a pretty nice number and that is much better to use a single .md3 file with animations distanced on the timeline. I've also created a custom Running stage using zscript and learned how to switch states. I've made a more detailed video this time :D



Also, I've updated the main / top post with the link to this version of the mod.
Post Reply

Return to “Gameplay Mods”