Jump to content

Equippable ENB Lights for Clothing


render_reindeer

3,523 views

 

Intro

 

 

To all who have ENB lights in their mod order, I've figured out a way to attach them to specific clothing/accessories.
It adds extra light not possible in base skyrim engine without ENB. As you can see above, the light has shadows and objects/npcs react to it. Also there's no hard limit on how many lights can be rendered at once. This blog/tutorial was created to show my process.

 

Description

 

Basically you need ENB light as a requirement. Modders have added tiny lights to torches/soul gems etc on nexus as standalone mods. But there were also a couple of mods that add lights to weapons and rings. I researched how they added light specifically to the ring (equipment). Credit to StarShowMaster on nexus for discovering this technique. I wanted to replicate it for other items such cyberpunky neon/emmissive accessories. Obviously in this case it's not lore friendly but it can also be used on lore friendlier necklaces or jewels.

 

Resources on ENB Light

Spoiler

ENB Light (base mod required):
https://www.nexusmods.com/skyrimspecialedition/mods/22574


Article on ENB Light to static meshes (mainly talks about the structure of the nifskope file):
https://www.nexusmods.com/skyrimspecialedition/articles/919

Proof of concept adding ENB light to equipment (StarShowMaster on nexus figured out how to attach enb light on a ring long ago):
https://www.nexusmods.com/skyrimspecialedition/mods/60231

 

Collar_PulsatingENBlight.gif.7ccebb0a6c4d1027c5c76aa12aeda146.gif

 

I had an idea a while back to take gomapero's omake collar mod and add an emmissive heartbeat effect to it. I've seen a lot of mods play with emmissives in nifskope adding pulsating color or dynamically changing color. So I just copied the process for omake collar. Specifically adding BSLightingShaderPropertyColorController to the BSLightingShaderProperty.

 

Spoiler

image.thumb.png.cae55344e232730ea3549f910835f3ff.png

The BSLightingShaderPropertyColorController lets you control the duration, start and stop time and of the pulse effect
image.thumb.png.5afa6a80c053e6339247e2c9ddce230d.png

 

All that is important is to modify the value (X, Y, Z) at a given time to create a color. (X=Red, Y=Green, Z=Blue) and their number means how bright or dim it is


The collar became a good item for testing ENB light attachment so here's the process:

 

Process

 

Part 1: Setting up the Meshes

Spoiler

I set up two meshes in the same folder to start.


The first nif was the Goma collar mesh file with pulsing emmissive I created.
The other nif was a copy of the particle that emits ENB light from the ring mod I downloaded.

 

I renamed both nifs.
image.png.bf0bfef9383b092c6ab808dedb3e7848.png

Part 2: Creation Kit Stuff

Spoiler

Once I had the nifs in place, I opened CK and created a new esp that can be used to add the collar in game. 

In the ESP I created the following things:

image.png.bd37031c76653c4e1f6187d0882d5e1b.png

 

Usually for most armor mods you just need the armor and armor addon (first 2), But in the case of the ENB ring, I also needed to add a Hit Effect FX (Art object), an Enchantment object and a Magic Effect object so I copied those from some vanilla samples.

Basically you want your AA (Armor addon) model pointing to your collar nif from the folder:
image.png.5b2c6144e24c30f9bbef0d3c0416eb3d.png

Then you want your Hit Effect FX (Art Object) model pointing to your collar ENB nif from the folder:
image.png.c64b2a99f7fad89450f0df38f41ae59b.png

 

Now the way you add the Hit Effect FX to the armor is a bit roundabout but it works. 

 

You have to create a unique Magic Effect that uses the Hit Effect Art just created above as a persisting FX. 

image.png.99c5b21c956562d9f63ce42144f72763.png

 

After this step you have to add this Magic effect in a new enchantment

image.png.3e27780e5ae76de6f6543f37f5a2b3fe.png

 

Once the enchantment exists in your esp you can finally add the AA (Armor addon) and the enchantment to your Armor object

image.png.621ae9329064f38d8ce35c9d14a03c1c.png

 

So what this does in game is when you equip collar, it shows the collar mesh (the AA) on the player character or npc. It also gives them an enchantment which has a magic effect attached with an ENB light.

 

Part 3: Nifskope 

Spoiler

Now to edit the nifskope of the particle that emits ENB Light:

image.thumb.png.9724e93f6d96f20e1573701a1f7d7c8f.png

 

The light I downloaded from the ring mod can actually attach itself to different skeleton bones (which makes this entire thing possible)

So for the collar, I needed to attach it to the closest bone which is the neck

 

image.png.d5a485052e0dae6b961015f46cf741d5.png
In the string you add the bone name after "NamedNode&_________________" and the light will attach to the center of that bone.

 

A list of the available bones can be retrieved from a skeleton file:

Spoiler

image.thumb.png.a625589d84c977adb4b661f224eed89e.png


Once the bone name is attached, you can use translation on the particle to move the light forward/backward/left/right/up/down:

image.png.0c1b240b814e66d00a7a2dce01bb747a.png

 

I checked in game that the light followed the player's neck so I was ready to make it pulse. I added the same values from the goma collar BSLightingShaderPropertyFloatController to the ENB light's BSEffectShaderPropertyFloatController:

 

Spoiler

image.png.15f378a43bf9bbcbab43b8b0664702ea.png

 

Added BSEffectShaderPropertyFloatController then copied some numbers:

image.png.819dc3f6c235e5c84bda36ccfe7ab94f.png

 

 

 

 

Part 4: Things to remember

Spoiler

Test the color and intensity values in game by saving and re-saving the nifskope file and un-equipping/re-equipping item.
 

The ENB light controller in nifskope needs to be BSEffectShaderPropertyFloatController since it has a BSEffectShaderProperty:
image.thumb.png.f15702e068bdc62add98be5b64a6c0d5.png

 

The item nif controller needs to be BSLightingShaderPropertyFloatController since it has a BSLightingShaderProperty otherwise it will crash:

image.png.08a00893e601fc5c7b47d9fe2b6e3f17.png

 

 

So I did this with two other accessories to test new abilities of the ENB light:

It's possible to attach a dynamically changing ENB light to your object

Headphones_ColorswapENBlight.gif.e32f4153a6c4dba810bc3816be1b62a8.gif

The emmissive and the ENB light particle both change color in sync to create this effect.

 

It's also possible to attach multiple ENB lights of different colors to one object 

FoxEars_MultiENBlight.gif.c40febc32728b7fc5c6af45de08b225b.gif

There are two ENB light particles (one pink and one blue) attached to the ears.  In short, two magic effects added to the same enchantment in CK:
 

Spoiler

Two ENB nif files in folder:

image.png.7aa92677e840a724477f972af6a40aaf.png

 

Two Hit Effects:
image.png.81cd2c9d57851cfa0cfd589623ccbbb9.png

Two Magic Effects:
CKEnchFoxearsL.png.563bc82e6f1b43c011ba18969c812ed4.pngCKEnchFoxearsR.png.87217eabac0ab06003bab4cff512d5e6.png

 

One Enchantment containing both magic effects:
image.png.fe22c3a15db7edd51e6b6d6131ef314d.png

 

Which results in the ears having a pink enb and a blue enb separately going off on the same item.

 

Here's a video of the ENB Light system being turned on and off via complex particles in the ENB menu:

Spoiler

 

 

 

~ And Voila ~


Equippable ENB Light attached accessories in one scene interacting with each other:
 



Thanks for reading this far! I hope other mod makers will use ENB lights for their armor creations in the future, I'll keep experimenting in the meantime.

 

Collar_PulsatingENBlight.gif.7ccebb0a6c4d1027c5c76aa12aeda146.gif   Headphones_ColorswapENBlight.gif.e32f4153a6c4dba810bc3816be1b62a8.gif   FoxEars_MultiENBlight.gif.c40febc32728b7fc5c6af45de08b225b.gif

Including a copy of my "ENBLfx.nif" file for reference or use

ENBLfx.nif

Edited by render_reindeer
Added some screenshots for Part 4

34 Comments


Recommended Comments



2 hours ago, donnerwetter said:

 

 

How'd you do the copying? I just opened the biscuit in Outfit Studio, added the enb fx nif and saved over the original, then did the thing with the shader properties.

 

Ah I see! so I did that first time too and it flattens the enb light because copying and pasting in outfit studio makes the trishape exist outside of the billboard node in nifskope. You can fix it by opening in nifskope and copy the branch of the light into the billboard node.

Or do it my way where I just copied from nifskope to nifskope without outfit studio.

Link to comment
32 minutes ago, render_reindeer said:

 

Ah I see! so I did that first time too and it flattens the enb light because copying and pasting in outfit studio makes the trishape exist outside of the billboard node in nifskope. You can fix it by opening in nifskope and copy the branch of the light into the billboard node.

Or do it my way where I just copied from nifskope to nifskope without outfit studio.

 

Finally got it working, thank you! Setting Nifskope into a tree view made things much clearer. I actually had trouble with a Nifskope-only approach, just all kinds of different errors. Copying just the billboard node gave me this upon saving:

 

erore.png.43f0cf725fcb9fefab32a46dd217ef94.png

 

Copying the entire billboard branch gave me different errors.

Link to comment

A couple more questions- how should I go about changing the scale of the light source? Attempting to scale up either the Billboard node or the Trishape itself leads to no appreciable change or the light effect disappearing entirely if you try to scale them up too much.

 

Edit: It seems when you scale up too much, the viewing angles become really odd

 

Like here, the effect should be centered on the floating biscuit mesh but it only lights up at really odd angles

 

 

 

 

Also, what values should I use to make the light just stay on without strobing? Nevermind, I figured this one out! (You need to untick the "Active" flag on the BSEffectShaderProperty)

 

 

Edited by donnerwetter
Link to comment
9 hours ago, donnerwetter said:

A couple more questions- how should I go about changing the scale of the light source? Attempting to scale up either the Billboard node or the Trishape itself leads to no appreciable change or the light effect disappearing entirely if you try to scale them up too much.

 

Edit: It seems when you scale up too much, the viewing angles become really odd

 

Like here, the effect should be centered on the floating biscuit mesh but it only lights up at really odd angles

 

 

 

 

 

Also, what values should I use to make the light just stay on without strobing? Nevermind, I figured this one out! (You need to untick the "Active" flag on the BSEffectShaderProperty)

 

 

 

Yea there seems to be a limit on the scale of the light, I think increasing it in any way also requires you to increase the emmissive strength to match so it doesn't fade out. Also since the light is screen based, it won't render past the camera or in weird angles. Might want to keep experimenting with the limits.

I think it's possible to scale it bigger if you use outfit studio but it usually flattens the light so you have to insert it back into the billboard node on nifskope if you try that method. I use Nifskope 2.0 dev 7 instead of 8 so I didnt get any errors.

One more thing:

Spoiler

image.png.45d9e8408a2074175d5d406f9beae2f8.png


If you have a white.dds, try using that instead of black.dds to position and see the radius of the light better. Might help out. Good luck!

Link to comment
On 3/28/2023 at 2:23 PM, donnerwetter said:

 

NiOverridePoseAdjustments is a mod that allows you to tweak poses by allowing you to rotate and move bones.

 

You can also set up equippable static meshes so they can be moved and rotated using the mod, useful for things like hats or glasses.


It's really neat how the light attaches to these NIOPA objects and you can move them with this mod. So basically it's possible to place it anywhere around the NPC now. 

What if we make custom gems that carry enb light with it ... sounds like it can be a useful mod for screenshots.

Edit: There actually seems to be a light object in this mod already (a Marker and two omni lights, both in-engine) and a corresponding bone that can be moved via NIOPA. So I think it's possible to use it as a base to create a variety of ENB lights to replace them like you suggested.  

Edited by render_reindeer
Link to comment
1 hour ago, render_reindeer said:


It's really neat how the light attaches to these NIOPA objects and you can move them with this mod. So basically it's possible to place it anywhere around the NPC now. 

What if we make custom gems that carry enb light with it ... sounds like it can be a useful mod for screenshots.

Edit: There actually seems to be a light object in this mod already (a Marker and two omni lights, both in-engine) and a corresponding bone that can be moved via NIOPA. So I think it's possible to use it as a base to create a variety of ENB lights to replace them like you suggested.  

 

Yeah, I had completely forgotten about NIOPA Lights despite having had them installed for as long as I've had NIOPA.

 

The lights have a few issues, though- the different colours don't seem to make much of an actual difference and the marker object is way too big and noticeable.

 

I actually went and deleted most of the effects from the marker .nif. Still need to figure out how to colour the lights better.

 

Anyway, as for ENB NIOPA lights, they'd definitely come in handy since they don't abide by the same engine limitations all the other lights do. I'm just not sure if they'll work as big room-illuminating spot or point lights like what I attempted.

 

You'd just need an array of colours and sizes, and since they're equippale items, probably some duplicates using alternate clothing slots.

 

Some simple droppable lights might be handy too

 

Let me know if I can help

Edited by donnerwetter
Link to comment
On 4/4/2023 at 12:46 PM, SakuraTea said:

Would this work for LE as well?

 

I'm not sure, depends if the requirements listed also exist in LE and your ENB supports enb particle lights. Then yes it would work.

Link to comment

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use