How to create bows by Nicoroshi
My way of using Windy's Bow Morph method:
Source: BethSoft Forums
Date: Apr 4 2008
Credit: Thanks to Windy for her original tutorial.
- 3D Modeling tool like 3DS Max or Blender
-NifSkope 0.9.6 (and not a release any newer than this)
The way I do it:
1. Create a model of the bow at rest
2. Save the model as a .obj file "filename"
3. (without even closing the 3D editor window during the first two steps) I move the vertices into the morphed position
[HINT] I make my string with vertices at the top, middle and bottom so morphing the string only requires pulling the middle vertices back (in Max it's 3 1/4 squares approx).
4. I then grab the limbs of the bow (separate item in the 3D editor so it doesn't affect the handle or string), and use a bend modifier until the angle looks right for the length the string moved back
[HINT] This takes some practice and an eye for relationships between the string pull and distance the limbs will move.
5. Now move the bent limbs back over the handle so they line up again
6. Grab the string ends and move them to the ends of the limbs where they should be
7. This is now your morphed model of the bow containing exactly the same information set up exactly the same (very important)
[NOTE] I actually created a bow that has vines wrapped around it and in the morphed model the leaves on the vines moved also (I move their locations on purpose). So....Pretty much anything can change in the morphed model so long as the number of vertices, and their numbering when exported is exactly the same.
Example: You could have the limbs spread flat on morph or make the limbs or whole model be bigger or smaller on morph if you follow the instructions I have outlined here.
8. Save the morphed model as an .obj "filename morphed"
Now the fun part...creating the working NIF file.
I use an older version of NifSkope mainly because I tried updating to a newer version and although it works better for exporting models with information from Max it does not work for Windy's method of creating bowmorphs (I tried).
The newest version I was able to use Windy's method with was 0.9.6.
1. Load a bow model from the game that has a working animation
2. Click on NiTriStrips (generally named Bow:0) and Right click / OBJ / Import mesh / "Filename"
3. Now right click on the NiTriStrip, and update tangent space
4. Next go down the list a couple to NiGeomMorph
5. Right click / Morph / Save Vertices to frame / Base
[NOTE] You now have your model in the render frame, and the locations of the vertices at rest saved in the NIF file. Next will add the morph.
[VERY IMPORTANT ALTHOUGH STILL NOT SURE EXACTLY WHY]
Move the animation slider to about 1/4 of total (would put it during the actual morph sequence (if a morph was there).
6. Click on the NiTriStrip for the 'Bow:0' / Right click / OBJ / Import mesh / "Filename morphed"
7. Do the update tangent space tango like step #3
8. Repeat step #4
9. Right click/ Morph / Save Vertices to frame / Bow morph
10. Last most IMPORTANT STEP!!!!!!
Go to NiTriStripsData or NiTriShapeData under the NiTriStrips or NiTriShape branch. In the info window, scroll down to 'Unknown Short 2' and MAKE SURE IT IS SET TO 0 (zero).
At this point your model in the render window should be part way through the morph (because we moved the slider in the VERY IMPORTANT NOTES above).
Click the Play button next to the slider, and check out your new morphed bow.