Popular Post Krasue Posted April 24 Popular Post Posted April 24 Hi all. Apologies if this is in the wrong section. This post is quite long, but I hope it's useful. I'm sure some of the stuff mentioned here is already well known by Unreal Engine modders but I figured I'd post it anyway. I’m not a Bethesda modder myself, but I’m experienced with Unreal Engine and have been digging into Oblivion Remastered (OBR) since its release. While we'll probably still be waiting for some time on the real geniuses to crack things wide open, I wanted to share some early insights. The shift to Unreal might actually be a blessing in disguise for some things. Animations Gamebryo isn’t handling any assets – everything seems to be Unreal-based, including cells. All OBR animations are using Unreal's animation system, (Anim Sequences and Montages) which is quite robust. You can import new animations using standard FBX files – no more dealing with obscure file types or outdated tools. Even the latest Blender builds should work fine. Skeletons Modifying the base skeleton is possible, but it breaks IK (foot placement), leading to characters jogging in place. However, there’s a workaround: you can create a new skeleton, add bones (e.g., for body mods), and have it inherit animations from the default "SKEL_HumanoidSkeleton" skeleton. This avoids being limited to a single rig. Spoiler Physics Unreal supports post-process Animation Blueprints (ABPs), which let you layer new physics or animations on top of existing ones. It’s janky in my quick tests, but promising. Someone with more time could easily make this more polished. Spoiler What the ABP looks like: LODs Some users have replaced high density meshes (Like the face and body meshes) without adjusting or including the original LODs – this tanks performance. Character meshes are denser than in Starfield so making sure that LODs are preserved, or new ones are made, is important. Luckily, Unreal handles LODs well: you can import them via FBX or generate them in the editor. Seam handling might be tricky for body mods, though more testing needs to be done with this. Running Logic The “UE4SS” script extender looks solid. It might already be able support basic things like triggering animations via button press. We just need to find a way to reference the characters and base classes from the main game. LUA scripting seems capable of doing this, but I’m not well-versed enough to confirm. Downsides Currently, we can’t create new assets/object easily. All original game forms are replicated in Blueprint format, which can’t be decompiled and seems to reference a CPP baseclass. In theory, converting to JSON and repacking into new PAKs might work, but I haven’t tried it myself. It depends on whether the forms are modular or hardcoded (for adding new ones). Also, we haven’t figured out how to trigger events from the original engine in a way Unreal can read. You can add new dialogue in the old Construction Set, for instance, but there’s no interface between that and Unreal right now. UE4SS might help, but R&D is still ongoing. Then there's also how armors are handled. Specifically, the hiding of the body. All armors are now placed on top of the body mesh rather than swapped out like in the original. This means that having different bodies for different armors isn't possible (So cleavage might be difficult for instance, though possible with morph targets). The base mesh has vertex colors which act as IDs to hide parts of the mesh. When making a new body mesh, this will be important to preserve, otherwise the body will always be rendered. Conclusion What's possible in the short term: general model and animation replacement, jiggle physics, and maybe some logic via UE4SS. You can still do low-level edits with the Construction Set though new forms can cause crashes. In the long term, animation frameworks could be fully Unreal-based while Gamebryo handles the backend. I imagine that in the future, most of the Construction Set work will be using lots of dummies for Unreal to interact with and replace the assets of (whether through the UE4SS LUA scripts or something else). I’m posting this all this because: A) I haven’t seen a focused place for this kind of info. B) I personally don’t have time to explore this further at the moment, but maybe this helps someone who's also looking into this stuff. There are lots of assumptions and gaps in what's mentioned here so if anyone has any newer info or has knowledge of anything that should be mentioned, I'll modify what I've posted. Thanks. 62
winedrunk Posted April 24 Posted April 24 Thank you for your work! 32 minutes ago, Krasue said: Downsides Currently, we can’t create new assets/object easily. All original game forms are replicated in Blueprint format, which can’t be decompiled and seems to reference a CPP baseclass. In theory, converting to JSON and repacking into new PAKs might work, but I haven’t tried it myself. It depends on whether the forms are modular or hardcoded (for adding new ones). Also, we haven’t figured out how to trigger events from the original engine in a way Unreal can read. You can add new dialogue in the old Construction Set, for instance, but there’s no interface between that and Unreal right now. UE4SS might help, but R&D is still ongoing. I'm not sure if you have seen the news post on nexus https://www.nexusmods.com/news/15252 It explains how things in oblivion engine get mapped to unreal. It may cover some of the downside mentioned. I believe some had managed to add new asset and link it properly. (Unconfirmed, just heard somewhere that it works)
CrisG10 Posted April 24 Posted April 24 Excellent glad to see specifics and technicalities described and shared. We need this knowledge to know where and how to direct our efforts thanks so much Krause a big help. I modded extensively for the original Oblvion and some for Skyrim so will be watching to see what we discover and what is shared.. Please keep sharing as you can. and thanks again Cris 3
Silvist Posted April 24 Posted April 24 (edited) Looks amazing @Krasue! I've been digging hard and working with people over on the oblivion modding discord. What we've really been trying to test is how to add unique assets into the game. I've been able to add an esp and place an existing object in the game in a unique location. But sadly even with using the UE dev kit, I can't get the actual model to show up in game: Proof of concept: Spoiler For anyone who wants to hop into the discord its here: https://discord.gg/VE3cjkn3 In case this discord doesn't work because it was formed from reddit, we can always make our own. I'm up for creating one as well and I can repost all of my findings there. Edit: I also tried to import json directly to UE dev kit, and I have no idea what to classify it as: Edited April 24 by Silvist 1
Krasue Posted April 24 Author Posted April 24 (edited) 37 minutes ago, Silvist said: What we've really been trying to test is how to add unique assets into the game. I've been able to add an esp and place an existing object in the game in a unique location. But sadly even with using the UE dev kit, I can't get the actual model to show up in game: I also tried to import json directly to UE dev kit, and I have no idea what to classify it as: Is that Fur Shield a new item? As in with a unique asset (Or at least attempted)? Inside of FModel (Where I'm guessing a lot people are getting Jsons from) you can see what the UASSET's derived class is. So for example, "SK_HumanoidFull" (The main basemesh of the game) has the SkeletalMesh class. That's a class that is inherent to Unreal. Same goes for "MIC_Imperial_Head_F_01" with it's class being "MaterialInstanceConstant". When it comes to the forms, however, they are also stored as UASSETs and you can see their class but it's not something inherent to Unreal: Because of this, I don't think we can easily make these edits inside of the Unreal Editor without having access to the baseclasses that these forms are derived from. That said, that's a guess. If you managed to get a unique item into the game without it crashing, then you're doing something right. Not that I've looked too much into it, I'm a hardcore lurker when it comes to the modding discords. The only theory I personally have at the moment, is that we might be able to edit the UASSET directly somehow or convert it to a Json, edit it, and then convert it back and repackage it without using the editor. Edited April 24 by Krasue 2
Silvist Posted April 24 Posted April 24 (edited) @Krasue - So what I did was I created a unique entry of a copy of the fur shield with a different name just FurShieldTest, and then added it to the arena lockbox. If you notice if you equip the item, the character even behaves like a shield is in the hand. But the asset is invisible. Yea I realized the SM was static mesh, and T_ was the texture. MIC looked to just be a json with uassets. Let me load up the CK and I'll post what modifiers I found in there that did not exist in vanilla oblivion. I saw some kind of formID reference, that we've been trying to find inside of any json inside of the big utoc. Here are the files I created, which you can even view inside of fmodel: furtest.zip Fur.esp Edit: Basically what I eventually did because every unrealpaker wasn't working, is grabbed the actual UE5.3 dev kit. Then I would export from fmodel, and import to blender. Then assign tex, export as fbx to import into UE5.3. Then I assigned a chunk over 20 to the 3 meshes: Spoiler Then created a the pak utoc and ucas. Edited April 24 by Silvist
Silvist Posted April 24 Posted April 24 Okay so I set AltarESPMain.esp as the active, because it seemed like the biggest. As you can see by the *, these are all modified by this esp which is not a vanilla esp: Spoiler Now here's where it gets interesting, notice the name tab: Spoiler LOC_FN is the naming convention, which I think is used with UE somehow.
Krasue Posted April 24 Author Posted April 24 12 minutes ago, Silvist said: Basically what I eventually did because every unrealpaker wasn't working, is grabbed the actual UE5.3 dev kit. Then I would export from fmodel, and import to blender. Then assign tex, export as fbx to import into UE5.3. Then I assigned a chunk over 20 to the 3 meshes: I just checked over your file and for some reason it contains engine content (probably why it's over 100mb for an untextured shield). It doesn't look like it's been quite packaged correctly. Is this the one you were using with your fur shield? 1
Spirit_Shard Posted April 24 Posted April 24 May as well give some further info based on what was provided here, as well as drop in some of my own findings! Firstly though, I'd like to point out I made an animation framework in Unreal Engine 5 already, called Sugar Cake Animation Framework for Palworld (https://michaelpstanich.com/?mode=modhack&view=2024-02-19_Palworld_ProjectSugarCake), if someone can let me know or help me find the hooks between the simulated Gamebryo instance created by the Alter plugin or help me reverse engineer it, then I can port over the framework as well as all the advanced animation set-ups we have, since it all runs on base Unreal Engine logic. This would massively speed up development in regards to a framework and also set us up for custom mesh logic. (I've spent the last year doing a TON of this stuff) The only issue I have at the moment is blending between the 'old' logic and new logic, I can find functions for many aspects in UE but it's a very slow process without having that Alter plugin figured out. Skeletons Modifying skeletons in Unreal is a bit annoying, It's worth mentioning that if something is created to target a specific skeleton, say, a custom skeleton added by another body, but that skeleton is either overwritten or doesn't exist, it can cause things like animations, meshes swaps, physics, ect, to fail. It'll be important to keep this in mind as mods come about, I was personally just going to use a spring controller for physics since it doesn't require skeleton additions but since the armor is overlayed rather than replacing according to your own accounts, then it won't matter till we want to use multiple different bodies. The main issue is for animation purposes we may want extra 'special' bones, this would need to be standardized at some point if we plan to have a skeleton animate-able and remain cross-compatible. iirc Unreal 5.3 does have live re-targeting, something I haven't played with yet, so that could be useful in this regard but I haven't tested it at all and it may not be an issue at all. Logic / Scripting From what I've seen, the old scripting stuff from Construction Set still works, my knowledge on older mods is non-existent but I can confirm we can inject custom Blueprints using UE4SS and run whatever logic we'd like. This has a good number of benefits in comparison to Gamebryo's paralleled scripting, especially for storing data. The main issue here is that Oblivion R refreshes its world context every time you hit a loading screen. They use level transitions instead of level streaming when switching to a new location through a loading screen, this means storing 'active' actors requires extra work. I managed to work around this by creating a dummy widget (which doesn't require world context to function) and applying some logic on that. Could theoretically use anything that doesn't require world context, just has to not be tied to the 'level' or 'world' since it's cleared every loading screen. The game appears to re-create actors upon entering a new zone, so any dynamic edits would also need to be re-applied. Being able to inject BPs is also extremely handy for reversing certain aspects of the game which only show at run-time, such as exporting all actors and components, active morph target values, ect. Additional notes Packaging / Pak Loading OblivionR seems to package with Unreal Engine 5.3.x with IOStore, this means any tools that support iostore/zenstore are fully functional and most have 5.3 support, which will make modding the unreal side of things easier. To get packages loading it's recommended to install Unreal Engine v5.3.x installed and name your project "OblivionRemastered" (the same as the game's set project name), then use ChunkIDs to split up things into their own .pak files with Packaging. This is exactly what we do for Palworld modding but Palworld uses UE5.1.x instead. Thankfully it doesn't look like they made any engine edits that interfere in this regard, but we can't export the Alter plugin they use to run the original game logic so there could be more packaging steps in the future. The game appears to have recursive pak loading enabled which means any .pak in the Paks folder will load in without issue, we don't need a .pak injector. (We still need a way to spawn things for logic however, UE4SS allows us to do that with their BPModLoaderMod) Custom Assets You can inject assets and spawn actors in-game using Unreal Engine, it appears all the physics are also tied to Unreal, if you spawn a box with collision actors will collide and game logic responds. What we don't have to my knowledge is a way to tie this between the normal game logic and Unreal Engine for custom content made using the Construction Set. I've not dived deep enough to see if we can edit save data in some way, so currently items spawned with Unreal are just temporary. As for other things, I've been rather disorganized without a specific target in-mind. Was going to try and make a nude body and mess with that for a bit so that the paywall jerks don't get to scam more people, and we can have a proper option even if my version probably won't be the best. lol 11
Krasue Posted April 24 Author Posted April 24 13 minutes ago, Spirit_Shard said: Skeletons Modifying skeletons in Unreal is a bit annoying, It's worth mentioning that if something is created to target a specific skeleton, say, a custom skeleton added by another body, but that skeleton is either overwritten or doesn't exist, it can cause things like animations, meshes swaps, physics, ect, to fail. It'll be important to keep this in mind as mods come about, I was personally just going to use a spring controller for physics since it doesn't require skeleton additions but since the armor is overlayed rather than replacing according to your own accounts, then it won't matter till we want to use multiple different bodies. The main issue is for animation purposes we may want extra 'special' bones, this would need to be standardized at some point if we plan to have a skeleton animate-able and remain cross-compatible. iirc Unreal 5.3 does have live re-targeting, something I haven't played with yet, so that could be useful in this regard but I haven't tested it at all and it may not be an issue at all. The ability to inherent animations from other skeletons is something that I think was introduced in one of the later releases of the engine because it certainly wasn't in UE4. We can't make additions or changes to the main skeleton because of all the data associated with it that we don't have access to. OBR uses a control rig for its IK but that can't be extracted or studied so it's best to leave the main skeleton alone and use what I outlined above. We probably don't want loads of different skeletons as that would definitely overcomplicate things, but maybe one universal skeleton with all the bones we need can be used going forward. Any animations imported on that skeleton should work even if most of the gameplay is driven by the main one. There is a definitely need for standardisation and communication with something like this. A body mod with physics applied probably shouldn't be rushed out the door as it will ultimately effect anything that relies on that mod such as armor replacements. Quote Logic / Scripting From what I've seen, the old scripting stuff from Construction Set still works, my knowledge on older mods is non-existent but I can confirm we can inject custom Blueprints using UE4SS and run whatever logic we'd like. This has a good number of benefits in comparison to Gamebryo's paralleled scripting, especially for storing data. The main issue here is that Oblivion R refreshes its world context every time you hit a loading screen. They use level transitions instead of level streaming when switching to a new location through a loading screen, this means storing 'active' actors requires extra work. I managed to work around this by creating a dummy widget (which doesn't require world context to function) and applying some logic on that. Could theoretically use anything that doesn't require world context, just has to not be tied to the 'level' or 'world' since it's cleared every loading screen. The game appears to re-create actors upon entering a new zone, so any dynamic edits would also need to be re-applied. Being able to inject BPs is also extremely handy for reversing certain aspects of the game which only show at run-time, such as exporting all actors and components, active morph target values, ect. It'd be difficult to make a deep framework with these limitations, but that's only if we were relying on Unreal alone. That's why I do think that actor values that can be stored and tracked across instances, will probably be better handled by Gamebryo, with Unreal stepping in when an animation needs to play. It's also worth noting that I think Gamebryo still handles the AI of NPCs and, if we wanted paired animations, we'd need a way to stop those NPCs from walking around and doing stuff. I could be wrong though. When/if I have time I'd like to look more into what's possible with BP injection and see how much is possible with it. Quote As for other things, I've been rather disorganized without a specific target in-mind. Was going to try and make a nude body and mess with that for a bit so that the paywall jerks don't get to scam more people, and we can have a proper option even if my version probably won't be the best. lol As I mentioned before, I do think that rushing one out the door wouldn't be wisest move but at the same time, I can see how people are impatient. Starfield's body modding scene is a bit of a mess due to early adoption of an unfinished asset. Making a nude body, even one with physics, is not that difficult but I personally think that it needs to be made with future use-cases in mind. Armor replacements are something I think are on the horizon and considering how OBR has that all set up, having a good base body to work with is going to be essential. Or maybe I'm overthinking it. 2
Feldspare Posted April 25 Posted April 25 (edited) In Unreal they have a feature called Animation Retargeting. It's very easy to do and it lets you use animations from one skeleton on another. There's a lot of settings that can help you copy over animations that you'd think would never work, but they do. The tool is very powerful. Here is a link to a video explaining how to use it. You could use this to copy over animations from https://www.fab.com/ which has animations built for unreal and will be easier to retarget. You could also use this tool to copy over basically any animation from any game (even skyrim animations) into oblivion. Edited April 25 by Feldspare
drp23 Posted April 25 Posted April 25 Thank you for posting this. I've been working for some time on a race for starfield, (which does character customization outside of the game, in blender, eventually) and would like to have all of its planned functionality added to oblivion as well. But i'm really anal about animations that look bad, and oblivions... well... might be worse than vanilla skyrim imo 😂 so getting those swapped out is sort of a prereq for me doing much in oblivion. Good to know that swapping that is somewhat feasible! 9 hours ago, Krasue said: As I mentioned before, I do think that rushing one out the door wouldn't be wisest move but at the same time, I can see how people are impatient. Starfield's body modding scene is a bit of a mess due to early adoption of an unfinished asset. Making a nude body, even one with physics, is not that difficult but I personally think that it needs to be made with future use-cases in mind. Armor replacements are something I think are on the horizon and considering how OBR has that all set up, having a good base body to work with is going to be essential. Or maybe I'm overthinking it. In working on the starfield body/race, a lot of thought has gone into planning/designing both the body and a framework for totally custom heads, trying to allow for other future things I want implemented, I frequently have the thought "man, i wish this was unreal and I could just XXXXXXX". Now that it's here i'm sort of like a deer in the headlights... I too tend to overthink things (and have spent over a year overthinking the starfield project ), and feel like I have a pretty good pipeline/framework in mind. But, there are so many things i'm not sure about how to do in unreal, or if they're possible, or theoretically possible... 1
Nepro Posted April 25 Posted April 25 There are plenty of Unreal Engine adult games on F95 Zone with many animations. Does it mean it would only take plugging in and connecting them and they would work for Oblivion Remaster?
drp23 Posted April 25 Posted April 25 10 hours ago, Spirit_Shard said: Skeletons Modifying skeletons in Unreal is a bit annoying, It's worth mentioning that if something is created to target a specific skeleton, say, a custom skeleton added by another body, but that skeleton is either overwritten or doesn't exist, it can cause things like animations, meshes swaps, physics, ect, to fail. It'll be important to keep this in mind as mods come about, I was personally just going to use a spring controller for physics since it doesn't require skeleton additions but since the armor is overlayed rather than replacing according to your own accounts, then it won't matter till we want to use multiple different bodies. The main issue is for animation purposes we may want extra 'special' bones, this would need to be standardized at some point if we plan to have a skeleton animate-able and remain cross-compatible. iirc Unreal 5.3 does have live re-targeting, something I haven't played with yet, so that could be useful in this regard but I haven't tested it at all and it may not be an issue at all. I have a (somewhat theoretcial) blender based setup that i've been working on while developing the starfield body/race i've been working on that negates a lot of the need for standardization, but not sure if/how those things apply in UE5, or even how some things work. It's somewhat like how daz studio can autofit clothes and they follow the body, but tends to be better fitting/minimal distortion compared to what normally comes out of daz, though in some cases it can be higher effort for mod authors. based on modifiers + geonodes instead of just transferring morphs. Also have some ideas about ways to have dynamic weighting for cloth, body physics, potentially (maybe) dynamic topology changes to properly capture small details like pressure where armor is resting on the skin, things like that. though those are the somewhat theoretical parts still lol Since you have experience in unreal - is it possible, or theoretically possible, to add unreal plugins/frameworks? Mainly i'm interested in chaos flesh (if it's not already in of course), ML deformer, and groom/strand hair? I'm trying to push realism as far as it will go for characters and any/all of those would help a ton I think
drp23 Posted April 25 Posted April 25 34 minutes ago, Nepro said: There are plenty of Unreal Engine adult games on F95 Zone with many animations. Does it mean it would only take plugging in and connecting them and they would work for Oblivion Remaster? If you're able to extract the animation in literally any readable format and convert to fbx, the animation can be used. In fact, if you're familiar with virt-a-mate, you can actually just record animations in that (even procedural/dynamic ones), export them to blender, and convert. There are literally thousands of animations/scenes in VAM, many of which are even mocapped, all of which have the licensing conveniently listed next to the download link. I converted a few as a proof of concept for starfield, but never got around to doing a full pack, but the process is relatively straightforward. For unreal it's even less work, it can actually do them all in bulk once they're in .fbx 1
Silvist Posted April 25 Posted April 25 This is pretty huge but there is still alot of work to be done on it: https://www.nexusmods.com/oblivionremastered/mods/282 2
red432 Posted April 25 Posted April 25 2 hours ago, drp23 said: If you're able to extract the animation in literally any readable format and convert to fbx, the animation can be used. In fact, if you're familiar with virt-a-mate, you can actually just record animations in that (even procedural/dynamic ones), export them to blender, and convert. There are literally thousands of animations/scenes in VAM, many of which are even mocapped, all of which have the licensing conveniently listed next to the download link. I converted a few as a proof of concept for starfield, but never got around to doing a full pack, but the process is relatively straightforward. For unreal it's even less work, it can actually do them all in bulk once they're in .fbx How did you export them to blender? I looked into that ages ago but never figured out how to do it
Spirit_Shard Posted April 25 Posted April 25 Making some major progress on reversing the Unreal Engine side of things, and I also got modifying assets at run-time working across loading screens/instances but with a few quirks we'd need to find hooks for. I'm slowly working through the game's internal plugins and figuring out how to generate a UE project with proper references and dummy assets so we can pull data much easier. Here's some updates... Game Logic is stuck in a plugin... All the game logic runs through a few plugins, namely there's OblivionThirdParty and a few Altar labeled plugins. The Altar plugins seem responsible for translating the actual game to Unreal so it can render things, and also receive things like collision callbacks. All objects spawned from the base game is its own AActor but with a base class of "VModdable---" which seems to hold some base data related to this communication. There's a "VTESRefComponent" on every single object that I presume may hold references between the the game's logic and Unreal Engine, however the actual object is handled by a plugin so until I get actually get a working chain of references and get a UE project with working hierarchy this won't be easy to really understand. Naming Convensions It seems like the devs made quite a few custom objects and versions of base-classes which is held in a few of the plugins, all are prefixed with a "V" such as "VActorBase" and "VFormData" which seem to be translations from Gamebryo's base types. By default, I can't dummy these assets without the plugins, but a lot of data is transparent through Unreal Engine by just creating an actor reference and setting up the correct variables. I presume by using these we could interact with the Gamebryo side of things through Unreal and vise-versa. (This could be critical for an Animation Framework to function properly, since animations are all handled on the Unreal side of things it appears?) Additionally, all the base game assets have a Blueprint version listed in the .pak files, these are under the Forms folder, however each reference generic classes found under the Dev folder. I presume the Dev folder is where they set up containers and general classes, then "Forms" is what stores all the base game's translated assets. Obfuscation through lacking toolset Some bad news, since a lot of the heavy lifting is done through plugins and modules they've built in a non-standard way, it's not easy with existing tools to really dig into it. There is a ConstructionKit64 plugin they made and ship with the game which references some base-game plugin related functions, this most likely holds the loading functions for OBscript and 'og' mod style data. It's very difficult to tell exactly what's happening since tools for Unreal Engine, while still awesome as they are, lack the needed depth outside direct Unreal Engine content/functions, once things become custom such as new plugins/modules stuff like UE4SS struggles to detect and pull data, the best we got are some basic headers that are rather broken and requiring a lot of fixing. Adding New Items/Animations/Meshes So we can spawn in stuff with relative ease, however getting them to interact properly with game systems is a bit more complicated. Objects are not just standard meshes but rather one of the custom version of meshes with a "V" prefix I mentioned before. This means in-order to properly add new objects on the Unreal side we'll need to replicate these custom objects with the appropriate data. I've not gotten to pulling this apart but I'm hopeful once I get some plugins figured out I'll have at least a few updates on this. This also affects some mesh replacements since these custom mesh objects hold critical gameplay data. (This needs a lot of research) FormID Format is different between OBscript and Unreal Was noticed by someone in one of the discords (I won't mention them by name on a NSFW website like this lawl, but they can speak up to take credit if they'd like). The FormID is in a standard Hex format within Oblivion OG/Construction Set, however when translating to Unreal Engine it's stored as a Decimal value. And odd choice but probably done to prevent casts. The Altar functions appear to take in the Decimal version of the Hex, you can find these formIDs in FModel with the blueprints I mentioned before so we don't even need Construction Set to get them for Unreal, however I've not really been able to do much with them yet since I'm stuck trying to figure out the plugins. Morphs and FaceGen Data are a static array index, many things use static array index' A lot of vanilla style data is stored in really simple data containers, such as a large float array or large int array. It seems they have some sort of mappings within the plugin to translate this data to specific sliders, traits, ect. They also heavily use Enums for different states and definitions, this may make it more difficult to add new states since enum definitions are immutable within Unreal Engine after compiling. There's more I've slowly been figuring out but I've written enough here for now, if you're curious on what I'm working on or want to help, I encourage you to join our discord, The Broken Chatbox. Every server I've been in for "Oblivion Modding" keeps up this "anti-woke" bullshit while being the opposite of productive, so I'll most likely just stick to our own welcoming community instead of dealing with random transphobes and bigots... >.> (This modding scene is going to be a disaster if we don't start kicking these people around a bit >.<). When I get a working Unreal project, I'll upload it for others to use, can get a link in our discord. 9
Krasue Posted April 25 Author Posted April 25 9 hours ago, zechosen said: Can anyone check if its possible to change NPC looks? NPC data such as face morphs is stored in UASSETs which make it difficult to modify. That said, difficult to modify doesn't mean impossible. In theory we could recreate the UASSET form data by recreating the base class in Unreal but this hasn't been tested yet. The same thing applies to pretty much all cosmetic data in the game (Including what models are used when you spawn an item). If we can recreate that data, it might be possible to also add new items into the game but more R&D needs to be done first. 7 hours ago, Nepro said: There are plenty of Unreal Engine adult games on F95 Zone with many animations. Does it mean it would only take plugging in and connecting them and they would work for Oblivion Remaster? A couple of people have mentioned taking external animations and retargeting them, and while that is possible, I think it'd be better to come up with new animations that could fit both the body proportions and a new framework (when the time comes). 6 hours ago, drp23 said: Since you have experience in unreal - is it possible, or theoretically possible, to add unreal plugins/frameworks? Mainly i'm interested in chaos flesh (if it's not already in of course), ML deformer, and groom/strand hair? I'm trying to push realism as far as it will go for characters and any/all of those would help a ton I think ML deformer is built into Unreal but OBR's skeleton makes use of corrective bones and a control rig (an asset type in Unreal Engine) to drive them. In my examples, I attached the breast bones to an already existing set of pectoral correctives. So far there haven't been any noticeable issues outside of the quick and dirty rigging job. 2
badassgrunt Posted April 25 Posted April 25 Will we get a dedicated thread or something for Oblivion Remastered? 1
drp23 Posted April 25 Posted April 25 1 hour ago, Krasue said: A couple of people have mentioned taking external animations and retargeting them, and while that is possible, I think it'd be better to come up with new animations that could fit both the body proportions and a new framework (when the time comes). VAM actually has plugins that correct proportions + procedurally align bones between actors, change speed, etc based on whatever logic you input. Idk if anyone wants to dig into all of that too deep, but as far as proportions + alignment goes, that could technically be accounted for beforehand. Another thought i've had, which i'd been planning to explore in starfield (but hadn't gotten around to it), was to make a retargeting setup in NAF blendgraphs to retarget vanilla animations to actors of different proportions, or even totally different skeletons. (At one point, i was planning on just making a flat out daz g9 to starfield pipeline, so you could just play as whatever daz character you wanted, but eventually decided to upgrade that a bit further bc daz characters looked very cartoonish next to vanilla starfield heads, which are super high-density in the face). I was thinking there could be a way to also have a procedural alignment system for actors, like some sort of IK thing that aligns hips instead of hands/feet. But we should probably take things one step at a time here lol
zechosen Posted April 25 Posted April 25 GUYS https://www.nexusmods.com/oblivionremastered/mods/673 CHECK THIS ASAP! 1
Popular Post Krasue Posted April 26 Author Popular Post Posted April 26 (edited) Figured I'd share here (WIP): I spent some time working on a new body mesh with modified topology (dense breast topology and nipples) and it seems to work nicely. There is a neck seam which I have to look into but for a first attempt I'm quite happy with the results. I'll look into that neck seam next as well as toning down the detail normals (something that isn't as visible in these images). Gifs: Spoiler Edited April 26 by Krasue 36
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now