I'm probably late to the party by like a decade or two but whatever, let's roll with it . So, what is this exactly? Recently, I've finally started working on a certain project I wanted to do for a long time. With that, I came up with some with some utils to improve my work environment, and since I'm mostly (barring some excepts) in favor of FOSS I've decided to make them public. What does it contain (ongoing list): 010 Editor Templates & Scripts : .DAG template, .SKM template Tools source code: DAG to Wavefront obj converter, DAG header parser (very limited use since I just needed tool to print file names of clipping files that contains more than 1 object when I was making 010 Editor template; apparently there's none but I've added its source code regardless); next on 'to make' list would probably be Wavefront obj to DAG Blender map template: currently my main focus, a setup made to allow to render sequence of 256x256 map images (art/ground/); I am working on some prefabs based on pre-existing ToEE maps - there's some untextured ones already included in .blend file (todo: materials, either procedural shaders or from some images or both); attachment is a (kinda low effort) example of new map render Blender icon project: allows rendering classic ToEE icon in high resolutions (basically as big as you set it to); in shader editor you can adjust various parameters like for example color or scratches ToEE Model Viewer: this post has attached exe if you don't want to compile yourself; also explains what features are currently in Blender Import+Export addon: work in progress, DAG import+export implemented, basic SKM import as well; in this post there is an attachment with some explainations Link: https://github.com/Alyst3r/ToEE-Modding-Assets
Honestly I don't have any concrete plan since I just add stuff I need in a given moment . But, for now I'd say it's probably to finish prefabs in that Blender file so people can fairly easily render new backgrounds (and for example re-render original ToEE/Co8 ones to use higher quality jpegs?). In the long term I'd like to have some additional tools for SKM/SKA (I don't use 3ds Max at all ;]) since I know I will need some custom assets (for example, intellect devourer model is unavoidable in my project). As a small bonus, to give you a small example of my workflow in Blender when I'm trying to recreate stuff from existing backgrounds, as you can see on attached image, I basically import every background tile (in camera view so they're automatically at correct angle) and relevant clipping files converted from DAG to Blender and start from there - but since clipping files are simplified in many places and background details are hard to decipher sometimes, there's a lot of creative guessing what's going on with some parts . Second image is a quick render of untextured piece of `art\ground\Map12-temple-dungeon-level-1`, camera set in the middle between 001E0024 and 001E0025.
You might already know this, but there's some work on blender import/export for skm/ska here. It's somewhat bit rotted and not quite right at the moment. I've been fiddling with it recently, but I barely know anything about blender or 3d modelling in general. I have to look up tutorials just to figure out how to see the animations it's imported and such. It might help if someone who actually knows what they're doing could look at the results and advise what seems to be wrong. At least, after I get my changes for it to run on the latest blender submitted back.
Shouldn't be too much of a problem, modelling assets at least - nailing overall style when comes to material/textures may take a bit more work since I didn't really figure out good workflow for that yet. Also, despite having a bit of experience in 3d modelling (as a hobby but I started way back in 2008 I think; as a side side note, you can see some of my 3d models in TES3 Morrowind mods like Tamriel Rebuild or Project: Cyrodiil), I'm not really much of a texture artist and struggle with that to this day ;]. Oh, and I still need to figure out proper light settings for scene so renders look ok. Ah yeah, I know it, just never really used it since it didn't seem to be useful in my case (I've returned to ToEE modding fairly recently, last time I've really dug in that stuff was probably 5 or so years ago and I didn't really think about making new models back then). Grabbed myself copy of 2.93 and addon to get human model imported to the template so I can approximate scale I need to use for that map template .blend and stuff. Theres a couple things that feel a bit clunky in that version or don't really work that well (or at all, like you can set forward and up axes but it only applies to model not armature, creating eldritch horrors when anims are playing; there's some more things but I think it's not really a thread for that ;]). ///Edit: pushed .SKM template for 010 Editor, a bit unfinished but functional. Next thing to do would probably be to make one for .SKA and update .SKM one ;].
Hey Aleist3r, can I use your utilities to convert/open .SKM and .SKA files in Blender? I took a look at your code and the code of the Blender import utility linked above, but I'm not really following how they work. Ideally, I'd like to convert these file types to .obj files, which are more or less simple text files containing vertex data, and more importantly, convert blender files back to .SKM and .SKA files.
It took a bit but finally replied. The thing with converting .SKM and .SKA to Wavefront Obj is, you lose all of bone and animation data since it's not really a format that carries it. What you could do is to download branch named dirty (link) from github and add it to Blender (I was able to use it in version 2.93.18, zip downloaded from archive builds, link; just need to drop SKA_Export folder to "2.93\scripts\addons" path and activate it in Preferences->Addons, it should show in File->Import and File->Export, if not then alco drop SKA_Import folder). Since it's unfinished it has some strange quirks (for example, if you try to change Forward and Up axes, it only applies those changes to model, armature is unaffected; after import you end up with model acting positioned with Z-forward, Y-up by default; not every model can be imported yet, monsters/player characters seems to work but objects like weapons or furniture don't - seems like importer chokes on "item_idle"; different animations are selectable in in Action Editor btw). Still, even if a bit janky, it's better than nothing ;]. Someday (no promises though) I may try to make some tool allowing to edit/create .SKM/.SKA files, I've started dabbling in OpenGL and it's basically just a matter of opening file(s) and rendering them on screen while also allowing to edit various parameters and preview changes, then export edits back to files. Would need to find a bit of free time to finish figuring out the rest of both model and anim files then writing some renderer + editor.
I have small treat for you, an alpha build of ToEE Model Viewer. For now it only loads base geometry without materials, bones or animations. It's x64 exe so don't think you would be able to run it on something like Win7 32bit . I've implemented some keyboard controls like in Blender: Num2 - pitch up Num8 - pitch down Num4/6 - rotate Num1 - front view Ctrl+Num1 - back view Num3/Ctrl+Num3 - side views Source is uploaded to git if you want to compile yourself. I've also added Blender project I've used to render that second image (for app I'm actually using another one, also included since it's grabbed by VS when I'm compiling window executable ;], that image I've attached is an example of original-like icon). (Don't trust anybody in the web, VirusTotal for that exe btw - interestingly enough, something actually flagged it as malicious, it totally is a false positive tho .) //Edit: Added zip archive with rendered image in ico file if you'd want to replace GOG icon on windows with original-like.
A couple of things: I am going on hiatus (dunno how long it'll be, may be month-two, may be all of the summer+autumn) so I've focused on this stuff for a bit and I'm dropping you some goodies. First zip is an early version of Blender addon (for 3.4.1 since that's the one I am using, may work with some other versions 3.4+ but I'm pretty sure won't with 4.0+). Tbf I'm not much of a Python dev (and have zero knowledge about Blender addon dev process) so most of the code is generateed by ChatGPT on really fine grained prompts . Currently, it has SKM importer (base model, armature in rest pose (T-pose or A-pose, seems to depend on model, for example Zuggtmoy is clearly A, while something like Crone is T), very basic materials without alpha support) and DAG importer + exporter (probably a final version unless some bugs are spotted). Note, with DAG importer (and exporter) you would want to use "Apply scale" option if you use it with my Blender template for map rendering (the default scale that's in the slider should already align itself perfectly with template scaling; keep in mind you need to correct and apply rotations before you actually export DAG due to some fuckup in the template ). To install just go to Edit->Preferences->Addons, press "Install", pick "io_scene_toee.zip" then search for ToEE, it should show on list, check it and you should have new options in File->Import and File->Export. Second one is the newest version of ToEE Model Viewer, it has a couple of new features: - somewhat accurate rendering of materials (probably still needs some fine-tuning but it's good enough) - anim event list view - animation panel is work in progress, currently it only allows switch between bind pose and rest pose - can render bones with/without axes if option is checked Can preview stuff on vid ;] Worth to note: some models require `glDepthMask(GL_FALSE);` (like gelatinous cube) to render correctly, but probably not all so there may be some weird visual quirks. Environment map may look different because some of rendering flags are not yet implemented (to name one, in this case recalculate normals). All source code is ofc on github.