Jump to content

Modding thread: Asset Editor


Bester

Recommended Posts

I know there's no modding community yet and I don't expect one to appear on this forum, but it's a pretty popular one, so I'm going to create a few threads (mainly reposts from the codex) with the things that I found/made while I've been poking at PoE's assets and code for the last couple of weeks. Maybe it'll help someone to get involved in it as well. I'm not a professional, so any kind of new information would be very appreciated. Anyway, here goes the first thread:
 
Finished writing a Unity Editor extension which allows Unity to work with .unity3d and .assetbundle files. Can't extract things out yet (but you can do that with Disunity). You can import stuff in though, so you're all set.
 
I didn't test it thoroughly, but I tested it on 1 item, 1 spell and 1 creature, and it worked every time, so I'm releasing it. (yeah, Obsidian style)
It's supposed to allow you to edit/replace values, meshes, sounds, textures, particles, shaders, animations, and maybe something else, but I only edited values and replaced a texture once. Should work fine, though.
 
To use it, you need Unity 4.5.1 and it has to be Pro in order to save your changes. You can get a 30 days trial if you like, and you can renew it by simply creating a new account every time (no credit card required I've been told). If you can't get a Pro, you should still be able to view stuff (if the compiler complains about a certain line - comment it out, cause you have no pro).
 
Here's a fancy screenshot:
 
AssetEditor.jpg
 
And here it is in form of Unity project: https://dl.dropboxusercontent.com/u/62420848/Test2.zip
 
Oh, and there is some weird memory leak, so if you load giant files a lot, you're gonna have to restart Unity from time to time. Ah, who am I kidding, you're gonna have to restart it every other 3-4 giant files (the ones that are 50-80 MB).

  • Like 19
IE Mod for Pillars of Eternity: link
Link to comment
Share on other sites

Forgot to mention. In order for the game to use .unity3d files from the assetbundles folder, you need to write in console UseAssetBundles (or UseAssetBundle, i don't remember), then save, quit and reload (I think). Or just quit and reload without necessarily saving, I'm not sure.

Edited by Bester
  • Like 1
IE Mod for Pillars of Eternity: link
Link to comment
Share on other sites

  • 1 month later...
  • 3 months later...

Used to be that everything was included in each assetbundle file. Now some textures, sounds etc are piled up in one big assetbundle separately. I don't know the specifics and the editor is slightly outdated. Will update it for the release version.

 

Also, the armor's appearance is in GameObject -> Equippable -> Appearance -> Model Variation and Material Variation. This is how they did body armors. Swords, shields etc have a mesh included in the asset and you can see it in the editor, assign a different texture to it, etc, but they're missing a shader. Spells are missing textures, shaders and sounds. Other types of assets - idk. All of this can be found in other files and assigned correctly, then you can use it in game.

 

I'll probably write a detailed guide for this at some other time, unless someone figures this all out and writes it before I get a chance to.

Edited by Bester
  • Like 1
IE Mod for Pillars of Eternity: link
Link to comment
Share on other sites

Would I be correct in assuming that Attribute Bonuses are contained in the CharacterStats.cs? I'm super-confused at the moment, but I can see references in it that leads me to believe it to be so, and if it's not, I'm apparently even more confused.

But if so, how would one go about extracting the current CharacterStats.cs? Obviously the project you've shared is outdated by now. (I assumed it was BBv333, but I'm not sure anymore).

Or am I looking in the wrong place altogether?

 

Edit: God I miss modding the easy tables of the IE. D:

Edited by Luckmann

t50aJUd.jpg

Link to comment
Share on other sites

Well assuming that what I'm looking at (Bester's extracted files) is BBv333 and assuming I have any idea what I'm looking at (which is a hell of an assumption), the Perception +Range never was +Range, or something like that. Either that, or I can't wrap my head around this nugget in CharacterStats.cs.

    public float StatRangedAttackDistanceMultiplier
    {
        get
        {
            return GetStatEffectDurationMultiplier(this.Perception);
        }
    }

:lol:

 

Edit: Now, having given up on that for now, I was thinking I was going to start poking some other other files, and opened the companion files with your editor. However, let's say I'm editing companion_eder.unity3d, all of the information I'd probably want to edit are MonoScripts, atlhough I can't make sure, and this is the problem, I can't actually edit them. I tried to extract them with DisUnity, but it either doesn't extract them properly (I assume it's not supported by DisUnity) or extracts them raw as .bin-files, which I'm not sure how to work with either.

Is there a way?

And yes, sorry, I realize it's a truckload of questions I'm just pushing out here, but I'm in over my head.

 

Edit 2: Actually, DisUnity Extract-TXT managed to get me readable content, but the monoscripts didn't seem to contain anything relevant except a Propertieshash and a reference to Assembly-CSharp.dll. Or maybe it can't extract it properly, no clue, I was expecting Edér's class information in here somewhere.

Edited by Luckmann

t50aJUd.jpg

Link to comment
Share on other sites

I actually re-downloaded the Project yesterday just to be sure it wouldn't conflict with my previous PoE stuff (BB v333-480) which I keep in a separate folder, but when I loaded up that project, I didn't have access to the "Pillars of Eternity Editor"-dropdown, so I went back. I didn't give it much thought, so it's odd.

That said, I'll just wait for you to up the v1.0.2.508 version, then. Any pointers on where to look to muck with the Attribute Bonuses? Am I right to assume it's CharacterStats.cs, or am I going to have to hunt down multiple files and edit all of them just to move some bonuses around? I know Sensuki wanted to make some changes too, just not the exact same ones.

t50aJUd.jpg

Link to comment
Share on other sites

The scripts run in Unity 5 with a small tweak (replacing "LoadAll()" in the editor script with "LoadAllAssets()"), but unfortunately, PoE doesn't seem to be able to parse the assetbundles exported from Unity 5.

 

Bester suggested getting a 30-day trial of Unity 4 Pro, but as far as I can tell, that's not actually possible anymore, and the scripts won't export without the Pro license.

 

Short of piracy, I don't think anyone who doesn't own a Unity Pro license is going to be able to use this tool.

Edited by artifex
  • Like 2
Link to comment
Share on other sites

Maybe someone have a clue how to help me - so i'm trying to edit the spiritshift druid spell [stag transformation to be precise].

Im just doing a small edit, similiar to this mod : http://www.nexusmods.com/pillarsofeternity/mods/10/? - to be precise, change the time that transformation last durning combat to unlimited.

Whenever i edit anything in that file in game transformation ends up with missing animation ad purple boxes + purple textures.

 

I asume its the lack of material shaders asigned - but how on earth im suposed to know what shader assign manualy in that file ? And i even doubt thats the case, since as mentioned above, author of this mod - Arcane Veil, he edited just few values [if im correct 2 parameters], and his mod works fine.

But when i try to recreate it on my own - even editing the basiv Arcane Veil with Unity results - same as stag transformation - in purple particle and boxes.

 

Any help would be aprecieated...

Link to comment
Share on other sites

Maybe someone have a clue how to help me - so i'm trying to edit the spiritshift druid spell [stag transformation to be precise].

Im just doing a small edit, similiar to this mod : http://www.nexusmods.com/pillarsofeternity/mods/10/? - to be precise, change the time that transformation last durning combat to unlimited.

Whenever i edit anything in that file in game transformation ends up with missing animation ad purple boxes + purple textures.

 

I asume its the lack of material shaders asigned - but how on earth im suposed to know what shader assign manualy in that file ? And i even doubt thats the case, since as mentioned above, author of this mod - Arcane Veil, he edited just few values [if im correct 2 parameters], and his mod works fine.

But when i try to recreate it on my own - even editing the basiv Arcane Veil with Unity results - same as stag transformation - in purple particle and boxes.

 

Any help would be aprecieated...

 

I can tell you how to get half way there.

 

First of all, find all components of type Material and set their shaders to Trenton/Characters/PE_BumpSpec

But if the component's name starts with "fx_", then set it to Trenton/Particles/PE_ParticleAdd

 

At this point, your stag will stop being purple, but the particle effects will still be textureless. This is because the textures for them aren't included in the untiy3d file. You need to export them with Disunity from other unity3d files (which ones - idk exactly, one of the big ones). Then you must put them into your project and assign them to the Materials of the same name.

 

At this point, your particle effects will start working, and your stag will work. However, the Stag's animation will still be broken. Don't know how to fix that yet. Most likely something needs to be exported from the big files and imported into this one, like with textures. (AnimatorController maybe?)

 

There should really be a way to make it all work out of the box. Will look into it when I finish the game, but I'm not sure I'll be able to solve it.

Edited by Bester
IE Mod for Pillars of Eternity: link
Link to comment
Share on other sites

Ill test it later on.

Still - pity the animation will end messed up.

One more thing - is there a way to add difrent skill duration effect or change the way skill work via its upgrade - in case of the stag, for example via its extra use per day tln_bonus_spiritshift_stag ?

I tried the most simple way, since the upgrade version have the same data and scripts as the regular stag skill, but it sadly didn't work. Maybe there is some other way im not aware of ?

 

In general - i like the whole druid concept but the class itsellf suffers what most of d&d druids have gone in the past. It lacks some minor tweaks, mainly the fact spiritshift have very short duration. All i wanted to do here was to make it cast per fight skill that last as long as the actuall fight, not 3-4 turn.

 

And i wonder how that nexus guy made his mod - it seems he didnt use the unity editor at all, maybe he was able to extract all content from the unity3d with readable data and pack it up again after edits [i was not able to do it with disunity, sure i can extract quite much, bot no actual files for alterring skill values or properties]

Link to comment
Share on other sites

http://www.nexusmods.com/pillarsofeternity/mods/19/?

 

I managed to do it [thanks to people from nexus, Zeee and Arctic12345, who pointed me out in the right direction.

So for any druid fans out there - feel free to try it out [no time on spiritshift during combat]

 

If you have time, would you mind doing a quick write up of what you did to get the mod to work?

Link to comment
Share on other sites

Okay, I must be an idiot because I can't for the life of me figure out how to use the asset editor. I open up the Test2 folder as a Unity Project, but the 'Pillars of Eternity Editor' button at the top as shown in the first post of this thread never shows up? I someone could point a complete modding noob in the right direction it would be much appreciated.

Link to comment
Share on other sites

×
×
  • Create New...