Jump to content

Lights and Magic



Still working on fleshing out various things with the Doll bodies, and planning on having an update concerning that stuff before too long. But stumbling into the Fragment of Dibella during the course of that work led me to go back and make some updates to various existing parts, and to show everything off properly I needed to finally figure out how to grab animated images. Since they tend to run pretty large- much larger than they could have been, as animated .PNG files aren't supported- I'm going to do this as its own post instead of trying to wrap it into the larger progress update.


One thing to keep in mind while I'm working on all this is that I don't really know what I'm doing with a lot of this stuff. The various programs used for modding Skyrim can often have incredibly counter-intuitive UI design, the guides that do exist for them can be unfortunately sketchy and obtuse, and Skyrim itself is obnoxiously touchy and will get hung up on the most unexpected things. Actually figuring out how to get this stuff built at all has largely been a result of trial and error, particularly when it comes to getting stuff that actually works in-game without problems. The most valuable thing to have while trying to figure things out is a working example. When I completely accidentally ended up with a working animated emission effect on the Fragment of Dibella, I finally had my example for adding that onto an armor-converted part. 




The process actually turned out to be fairly easy, although not as easy as I'd like it to be. NifSkope won't let you do something as straightforward as copying and pasting the relevant chunk of data from mesh to mesh. You have to manually add it in to the texture settings for each mesh you want the effect on, which is a multi-step process in itself, and only after that can you copy over the values from the working example, one by one, to duplicate the effect. It's stupidly time-consuming and it feels like I'm giving myself carpal tunnel while I'm doing all that clicking back and forth, but the result of all that nets me a working animated glow effect on one of my existing models.




Of course, copy & pasting all the values from the Fragment isn't strictly necessary, but I did it to start with simply because I only had a vague idea of what a lot of those values are. Some of them became obvious as I tried fiddling with things; the 'keys' are the values that actually tell it when and how to adjust the glow brightness, for one. But even there, while the 'time' part is pretty straightforward and I think the 'XYZ' might have some effect on the color, I have no clue what the 'forward' and 'back' lines are for. Fortunately the effect as a whole doesn't seem to really need them, but I am curious as to what exactly they do to the Fragment's glow cycle. 




Other things I'm less inclined to mess with. Changing the number of keys can have some odd effects, so I've just carried on with the Fragment's five-stage loop as a base. There's various key types aside from the 'quadratic', but I have no idea what they do and probably don't need to find out just yet. And there's other things that I can adjust higher up in the data's tree, like the frequency setting which lets me speed up the loop without trying to wedge in more timing keys. There's also that 'flags' line. I have no idea what that is, but I suspect it's what was tripping me up the last time I tried figuring out how to do this kind of animation. At that point I had gotten a general idea of how to add the data chunks in via some guide or another, but I don't recall seeing anything that specifically mentioned that line. But it turns out that it defaults to '0', and if you leave it like that the animations will do nothing. So I've just been copying over the Fragment's value of 72. No idea what it means, but it works, so what the hell.




One thing that has been an absolute savior during all this work has been the fact that NifSkope will play the animations right away once you've got the various settings right, though. If I had to keep popping in and out of the game to see if all this stuff worked, I might not have bothered.




As is I've added the effect to various existing parts that I had always felt could've used it, such as some of the other head inserts starting with the black soulgem up there. Directly copying the Fragment's data onto it didn't come out quite right, and that got me messing around with the values to both find something that worked and to figure out how to streamline the process. As a result most of these aren't as super-finely timed as the Fragment, but they don't really need to be, do they? The Meridian Crystal and Centurion Core are just simple step up/step down processes. The Centurion does have the wrinkle of my adding the glow map settings and texture file back in, but I'm honestly not really certain how much it changes things. With the grand gems, since I was using two meshes in the model I tried to get a bit clever and offset their timing a bit. I'm not sure I quite ended up with what I had in mind, but it's still pretty interesting. Just not quite as smooth of a flow as I was going for. I had a similar problem with the lights I added to that pedestal base above, but I think it definitely worked out better there to have something a bit erratic so I don't entirely mind. 





I don't intend to add the effect to the Lexicon Core or the Falmer Gem, though. I poked at it with the Lexicon, but adding the animation data immediately did some weird and unwelcome shit to the model's textures for some reason, so I abandoned it pretty quick. Doesn't really need it, anyway. Same with the Falmer gem, although I think it may have originally had a similar effect on it. It just seems to have been built in a particularly odd, multi-layered way that makes me disinclined to mess with it. 


As far as messing around with the timing goes, that was exactly what I've always wanted to do with the lights on the implants in the Preserved Brain model. Suiting the complexity of the organ, each one of them is on a completely different sequence. 





But for the Heart, I just kept to a nice, steady pulse.




I also changed things over to the glowmap like I did with the Centurion insert, but it had the much more immediately noticeable effect here of making the dim end of the cycle much darker and the model as a whole much more matte. I rather like how it turned out, but it did introduce a small complication. I tried to make the same changes to the Heart's inventory/ground model, but having the glowmap setting applied made it erratically crashy. Sometimes it would work fine in-inventory, and look great! Sometimes it would crash the game while trying to load it. And it would always crash the game if I tried to drop it into the world. Switching it back to the environment map settings stopped it from crashing, but then the glow animation wouldn't always work. Particularly when dropped; it would work when it was being 'held' to move it, but stop mid-sequence when left to sit somewhere, and what's the point if it's going to do that? So given that experience I'm not going to bother trying to add the animations to the other existing ground models... which actually saves me a lot of time so I can't really say I'm too unhappy about it. 


This may, however, complicate things when I get around to making the ground models for the new parts that I've added animations to. Still a ways out from starting on that, though, and why would I even let some small detail like that stop me from adding pump indicator lights to the Milker?




There's a few other things that I've tacked this onto, like the head preservation dome parts, but I think this is probably enough big-ass .gif files to get the point across. There's also plenty of stuff that I don't intend to add this too, most specifically the robot eyes. Not only does it not particularly suit them, but adding the effect to all 150+ sets of eyes currently in DMA will give me carpal tunnel. Have to draw the line somewhere. 




Recommended Comments

Makes things look much more lively!  Do you think you would be able to make it so the insert and heart stones don't go all the way down to 0 emissive?


RE: The Flags value of 72, this is a decimal representation of the flags which are set at a binary level as 01001000.  Per NifSkope help (read the bit position backwards, the last bit is bit 0):


Controller flags.
Bit 0 : Anim type, 0=APP_TIME 1=APP_INIT
Bit 1-2 : Cycle type, 00=Loop 01=Reverse 10=Clamp
Bit 3 : Active
Bit 4 : Play backwards
Bit 5 : Is manager controlled
Bit 6 : Always seems to be set in Skyrim and Fallout NIFs, unknown function


I tried to see if I had any models in my install that used a similar pulsing glow, and I found Vivi's daedric cockcage, which uses simpler values for its keys.  Might be useful for comparison if you want to tweak things.


Link to comment
11 hours ago, Holzfrau said:

Makes things look much more lively!  Do you think you would be able to make it so the insert and heart stones don't go all the way down to 0 emissive?


The head inserts are easy enough to adjust on the fly, since they just have the single model each to deal with, but the hearts are slightly complicated by the fact that I already went and added this updated version to all of the existing chest models. It also doesn't actually go down to zero; it was in the earliest batch of experiments where I simply copied over all of the Fragment's values, so the lowest point is .4-etc. That key block image up there is actually taken from the Heart's model. The darkening in this case seems to come in part from changing it over to the glowmap shader, and also from knocking the base Emissive Multiplier value down a couple points. I didn't mention it above because I didn't mess with it too often, but that value also seems to have a large effect on just how bright the flashes can get by providing the baseline brightness that the keyed values then multiply by. In the Heart's case the original value was high enough that the peak brightness in the animation ended up drowning out all of the model's detail, and dialing it back there was the quickest way to fix that. 


I'm also somewhat curious as to why Bethesda used those extremely fine-grained values in the first place. For the models where I set the values manually instead of copying them, I largely used whole numbers for the simple reason that NifSkope will adjust those values by one per notch when you use the scroll wheel on them, which makes things that much easier. But even in cases where I needed more minute adjustment I found going down to the tenths was more than sufficient. Why Bethesda needed or even arrived at a value of '0,419609' is a mystery to me. 


11 hours ago, Holzfrau said:

I tried to see if I had any models in my install that used a similar pulsing glow, and I found Vivi's daedric cockcage, which uses simpler values for its keys.  Might be useful for comparison if you want to tweak things.



Yeah, I can probably safely add some more steps if I want to do a more complicated effect. At least, if I stick to an odd number of steps. Using even numbers adds a mysterious greyed-out and non-interactive 'TBC' line to the key values, and I don't even begin to know what that's about. Considering that this is Skyrim that we're talking about I'd give it about even odds of being something capable of making the game engine shit into its own mouth, so I'm not keen on experimenting with it. 


Link to comment
  • Create New...