Silverglade:
Lately, I have been trying to make some improvements to my underwater game. I managed to turn off all of the fake underwater lights around the kelp and I managed to get MGE to render my kelp so it now moves like Vality7/LizTail's grasses. What I'm looking for now is an underwater shader to distort my view when swimming.
I have seen Harlanrm's alternate water shader, but that only looks like it affects what you see when you look up through the surface of the water. I'm looking for a shader to distort what I see when looking at the sea floor, or straight ahead. The game seems to know when your underwater, since different fogging variables go into affect. I already use the fogging values of 0 and 1, but things are still too crystal clear. Does such a shader exist, would it be possible to do what I want?
I don't know if anyone else has made their kelp animate yet, or if they have shared their method with the community, but here is what I did. I've documented setting kelp up as grass, but you could just as easily set them up as trees.
* Extract the f\flora_kelp_01 through f\flora_kelp_04 nif files from your Morrowind.bsa file.
* Under your Data Files directory, create the directory Meshes\Grass (Meshes\Trees for trees).
* Copy the extracted nif files into Meshes\Grass.
* Start up the CS and select the Morrowind, Tribunal, and Bloodemoon ESMs to work with. Don't set anything as Active.
* In the Object Window, go to the Static tab.
* Find flora_kelp_01 in the list, and Edit it (double-click or right-click and select Edit).
* Click the button that points to the nif. Point it to the appropriate mesh/nif in Meshes\Grass.
* Click Save.
* Now go to the File menu and Save your mod. I called mine Kelp_As_Grass.esp.
* Close the CS and reopen it. Select all three ESMs again.
* Find the same kelp entries in the Static tab. This time, right-click on them and delete them. You'll get a warning like: Flora_kelp_01 is in use 4254 times. Delete it and its references?
* Answer Yes.
* Once you have deleted all of the kelp entries, go to the File menu and Save your mod. I called mine Kelp_Removed.esp.
* Exit the CS.
In order to get MGE to animate the kelp, you need to regenerate your statics. Run the Distant Land Wizard again.
* On the Plugins tab, make sure you have the Kelp_As_Grass.esp in your list.
* If you have already done them in the past, you can skip the Land Texture and Land Mesh creation steps.
* When creating statics, you don't need to select Activators or Misc objects, but you can if you want.
* The sizes of the kelp are (thanks, krzymar):
o Grass\flora_kelp_01.nif: 124.1417
o Grass\flora_kelp_02.nif: 145.9203
o Grass\flora_kelp_03.nif: 88.97384
o Grass\flora_kelp_04.nif: 91.28106
* I don't know if it makes a difference or not, but you might want to make sure your Minimum Static Size is set to 85.
* Create the statics.
When running your game, you don't want to use Kelp_As_Grass.esp; much in the same way you don't use Vality7's grass ESPs. It should only be used to generate the statics. If you try and run the game with it, your kelp will move, but it will also be doubled up. Since the original mesh has no movement in it, one version will move and the other will remain stationary. That is why we created the Kelp_Remove.esp.
Even when you play without the Kelp_As_Grass.esp, the original ESMs are placing f\flora_kelp_0x.nif files all over the world. Again, those meshes don't animate. You'll end up with the original static mesh, as well as MGE's animated mesh in the same spot. You'll get the same doubling up effect. Be sure to run your game with Kelp_Removed.esp. This will remove the stationary kelp and let MGE render the moving kelp.
A bit of a Disclaimer: This is just something I was playing around with tonight. I don't know enough about the deletion of statics from the world and what effects it could have on your game. Perhaps someone that knows more about modding could tell us whether or not this is a smart idea.
I'm not sure what the difference is if you make the kelp Grass versus Trees. Grass seems to have a little more movement than Trees, but that might just be my imagination.
If other people manage to get this to work, and someone wants to add it to the wiki as a general tutorial on animating objects, that is fine with me.
tetchy:
Animated kelp is one of the first things I tried outside of Vality7's Grass when the feature was first added to MGE. Good choice as there are only two stock interiors which have kelp references thus making it easier to make a replacer for those entries and avoid the doubling you mentioned by just deleting all the stock static kelp objects.
The only problem with deleting stock statics or their references is if another mod tries to alter the same static, expecting it to exist. The game will throw a warning if the other mod can't find the reference it wants to alter.
Your method is fine, however there's an easier way to accomplish animating kelp - you don't need to extract and move the kelp meshes to the '...\Meshes\grass' folder or create a separate esp for MGE distantland generation if you instead flag the kelp meshes as =grass in an exception list. You'll still want to include the remover esp as part of the plugin load list tho.
The only time you need to add meshes to the '...\Meshes\grass' or '...\Meshes\trees' folders is if the mod adds new meshes and points to them in those folders. The objects will then automatically be flagged as 'Grass' or 'Tree' for animating without needing exception list entries.
If you still want the handful of interior kelp references to show up, the best way to do that is by creating a new static for each of the 4 kelp objects (i.e. 'Flora_kelp_int_01' which points to the stock mesh 'f\Flora_kelp_01.nif') and then doing a Find & Replace to change each stock kelp object referenced in an interior cell to use the new statics. Save the changes as a new esp to include in the plugin load list. This will need to be done for any other mod that tries to add kelp to interiors using MW's stock object ids - if the ids are already unique then you're good to go.
'Grass' ignores the 'Minimum Static Size' setting and always gets rendered - the only influence is 'Grass Density', although setting density to zero will effectively prevent any statics flagged as grass from rendering.
The difference between making a static 'Grass' vs 'Tree' is two-fold:
* Tree statics continue to get rendered beyond MW's draw distance up to MGE's static 'Max Dist' range for the 'Min Size' they fall under; Grass always fades out just beyond MGE's 'Near' range.
* Tree statics are included in water reflections; Grass is not reflected.
Flag the kelp meshes with =tree in the exception list to have them animate as trees.