Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Nifskope.
02-06-2011, 09:14 AM,
#1
Nifskope.
Look, all I want to know is how to edit objects in nifskope. I don't want to know how to make it look, I just want to make a new nif and edit old ones. Tell me some stuff about those weird words, but don't tell me only that.
Please if someone can help, It would be much appreciated
Thanks
TD
Reply
02-06-2011, 03:21 PM,
#2
 
For starters:

If you want to take "pieces" of existing nifs (called NiTriStrips, or NiTriShapes, in Nifskope), and put them together in another separate Nifskope window, do the following:

Open one of the "existing" nifs by doubleclicking on the nif on your PC.

Open a second, empty, Nifskope window, by going to "File" -> "New Window" of your first opened Nifskope window.

Now, choose which NiTriStrips/NiTriShapes of the first opened nif you want to copy over to the second empty window. Right-click on those NitriStrips/Etc, go to "Block" -> "Copy Branch". Then go to your empty window, and right-click on "NiNode 0" (usually called Scene Root), and go to "Block" -> "Paste Branch". That NiTriStrip/Etc will then appear in the empty window. Be sure to save this second window under a different name, so you can save your progress ("File" -> "Save As"...)

You can open other existing nifs and do the same thing to them, getting a mish-mash of existing nif parts in your new nif you're working on.

You'll most likely be wanting to move these pieces around in Nifskope, else they'll all be overlapping each other. To move or "Translate" each piece in Nifksope, click on the NiTriStrip/Etc of your choice until highlighted, and then go to "Block Details" panel of Nifskope for it. You see options for tweaking that NiTriStrip/Etc. "Translation" is where you enter numbers in the X, Y, and Z fields, to move the piece along that particular axis. Doubleclick in the field with the XYZ part, until it becomes editable. Usually; Z axis is up/down, Y axis is forward/backward, and X axis is left/right. If you have "Draw Axis" checked in the "Render" tab, you'll see these axis as three lines, each a different color. Z axis is blue, Y axis is green, and X axis is red. The half of each line with the arrow on the end - that is the "positive" axis direction; the other half without arrow head is the "negative" axis direction. If you want to move the mesh pieces towards the arrow head end, you need to enter "positive" numbers: 2.000 ; if you want to move pieces towards the end without arrow head, enter "negative" numbers (numbers with a "minus" sign in front of them : -2.000 .

You also might want to rotate these mesh pieces. This is done in same Block Details area for the NiTriStrip/etc, under "Rotation". Doubleclick the rotation field part where it says "Y 00 P 00 R 00" until it becomes editable , and make sure the button to the immediate left says "Euler". You type angle measurements into the Y P R fields. A full circle rotation is 360 number units, a half circle is 180 units, a quarter of a circle is 90 units, an eighth of a circle is 45 units, etc. But you can enter values in-between these unit values, too. Each of the Y, P, and R fields rotate the mesh along a different axis line - just experiment - it's hard for me to keep track of which axis each rotates along.

Be sure to save often, so you don't lose your work by accident.

Keep in mind, that most nifs require collision (which is sort of like a separate wireframe mesh that fits the form of the normal meshes, that the game uses for making things "solid" [and other in game behaviors & properties] so that actors [player, NPCs, and creatures] can't walk through them). I mention collision, because even though you might be able to copy/paste different NiTriStrips/Etc, the collision mesh is usually only one big mesh combined, for all those individual NiTriStrips/Etc. This means, you most likely can't copy over the previous existing nif's collision into your new nifs, if you only use certain pieces of those nifs, and not all of the pieces in each nif, because the collision will try to cover more area than needed, if you only chose certain pieces from each existing nif, and so players/actors will then end up not being able to walk through those "solid" areas, even though that area might be invisible ingame, to them. In Nifskope, go to "Render" -> "Draw Havok" to see these collision lines show up for each nif that has collision (make sure "Draw Havok" has checkmark next to it).

Basically, the collision covers all of the existing nif's pieces, but since you only used a few, you'll have gaps in the mesh, that the collision still covers and makes impassable (for "Static" meshes, which use "solid" collision, and are the most common mesh types in the game. "Static" refers to "non-moving" and "solid" nifs).

So once you finish putting your custom nif together, you'll have to import that nif into Blender, select all mesh pieces (click on one mesh, then click "A" until all pieces are highlighted), and "duplicate" all those mesh pieces (be in "Object Mode" then go to "Object" -> "Duplicate"), then before clicking off those meshes, press "CTRL + J" to join those duplicates together. Then, you'll see a button with three arrows - click it. Under "Draw" click "Bounds" in the left-most column, and "Wire" in the right-most column. Then go to the button that looks like a pacman face, and click on it. Click on the button that says "Bounds", and select "Triangle Mesh" in the field next to it.

Go to "Export" and choose "Nif" format. Give your exported nif a new name, then click "Export Nif/Kf". You'll get another window with various options (choose these options for "Static" meshes):

http://img690.imageshack.us/i/blenderexp...ngs4s.jpg/

You should now have a nif on your PC with your mish-mash of nif pieces, and proper collision for them.

Nifskope can do much more than this, but try doing the above, for starters. If you have any other questions, I'll be around, off an on.

Koniption
Yeah, don't let those little turds get you down. Dingleberries stick for a while, but eventually they fall off. Cool
Reply
02-15-2011, 07:01 AM,
#3
Hard for a novice
For me, collision has to be the hardest thing to do. I can make ONE thing have collision, but if the model has two things the collision doesn't work for me. I have tried with 3Dmax8 but still cannot get it right.
I think it's time for me to try this Blender program and your instructions will help me get into it as I have used Nifskope a lot so I think it'll be possible for me to follow your outline here.

My use of Nifskope as been only for re-texturing as the whole thing is like trying to read an ancient script - the words are almost meaningless to me with all the abbreviations and numbers. I'm afraid simple algebra is even beyond me ( I left school at 14 and never took up the subject).

I'll learn it with the need to do it but if someone can explain the steps , a 1,2,3, HOW to combine all the 'pieces' of a model to have just 1 collision mesh, I will certainly appreciate it.

I tried really hard to follow a 'how-to' on Youtube but it's just much too blurry for my old eyes to see.
.
Reply
02-16-2011, 12:30 AM,
#4
RE: Hard for a novice
Quote:Originally posted by Jinix_the_Elder
For me, collision has to be the hardest thing to do. I can make ONE thing have collision, but if the model has two things the collision doesn't work for me. I have tried with 3Dmax8 but still cannot get it right.
I think it's time for me to try this Blender program and your instructions will help me get into it as I have used Nifskope a lot so I think it'll be possible for me to follow your outline here.

My use of Nifskope as been only for re-texturing as the whole thing is like trying to read an ancient script - the words are almost meaningless to me with all the abbreviations and numbers. I'm afraid simple algebra is even beyond me ( I left school at 14 and never took up the subject).

I'll learn it with the need to do it but if someone can explain the steps , a 1,2,3, HOW to combine all the 'pieces' of a model to have just 1 collision mesh, I will certainly appreciate it.

I tried really hard to follow a 'how-to' on Youtube but it's just much too blurry for my old eyes to see.

Hello Jinix,

Let me see if I can put the collision making and exporting info into a more user friendly format....


1) So once you finish putting your custom nif together, you'll have to import that nif into Blender ( "File" -> "Import" {then choose "Nif" format})

2) Next, select all mesh pieces (click on one mesh, then click "A" until all pieces are highlighted in pink outline).

3) Next "duplicate" all those mesh pieces (be in "Object Mode" then go to "Object" -> "Duplicate".....or just click "Shift + D"), then before clicking off those meshes, press "CTRL + J" to join those duplicates together (be sure to click on "Join Selected Meshes" in the pop-up window)

Object Mode Screenshot : http://img43.imageshack.us/i/objectmode.jpg/

"Duplicate" screenshot : http://img511.imageshack.us/i/objectduplicate.jpg/

4) Then, you'll see a button with three arrows - click it. Then click the other button that appears to the right of it, that also has three arrows. Under "Draw" click "Bounds" in the left-most column, and "Wire" in the right-most column, so that both buttons become darker shade, meaning that they have been selected and clicked:

http://img843.imageshack.us/i/threearrowsbutton.jpg/


5) Then go to the button that looks like a pacman face, and click on it. Click on the button that says "Bounds", and select "Triangle Mesh" in the field next to it (this will make bhkMOPPBvtreeShape type collision)

Step 5a - http://img809.imageshack.us/i/pacmanbutton.jpg/

Step 5b - http://img35.imageshack.us/i/collisionchoice.jpg/

Go to "Export" and choose "Nif" format. Give your exported nif a new name, then click "Export Nif/Kf". You'll get another window with various options (choose these options for "Static" meshes):

http://img690.imageshack.us/i/blenderexp...ngs4s.jpg/

You should now have a nif on your PC with your mish-mash of nif pieces, and "quick and dirty" collision for them. The collision might not be low-poly (low-poly is preferred for collision), but it'll do for reg. meshes that were already of acceptably low-poly level to begin with.

To Optimize You Collision Mesh - aka "Make It Lower Poly"

1) If the collision is still too high-poly, you can go back into your Blender scene with the single collision mesh, click on the collision mesh (the"three arrow button" will tell you if you've selected the collision mesh, because it'll have "Bounds" and "Wire" darkened for that selected mesh, like mentioned in "Step # 4" above). Then go into "Edit Mode" (the selection above "Object Mode", in that drop-down window).

2) Go to "Mesh" -> "Scripts" -> "Poly Reducer" ...you'll get a pop-up window:

http://img220.imageshack.us/i/polyreducescript.jpg/

Make sure you have all the non red-circled fields in that pop-up window, the same as in my screenshot. I think those fields are default, however, so they should already be chosen as such. The part I circled in red, is the field whose number values is focused on mainly, in this window. A value of .500 - this will decrease the number of polies in your collision mesh by half. (.500 is half of a whole 1.000 ; the values are based off 1.000, which represent a whole, undecimated collision mesh. A decimated mesh is one that has had polygons removed to some extent, in order to optimize it).

The lower the decimal value, the more polygons that are removed from the mesh, and the more optimized it becomes. You have to be careful, though, because it is fully possible to have too many polygons removed, to where your reg. mesh is not properly enough covered by the collision mesh, in certain areas. It's best to experiment with the values, until you get a good result.

Also, you can "weld" vertices together manually, to further reduce polygons in your mesh. If you are in "Edit Mode" with your collision mesh, you can click on two or more vertices. Let's say you click on "two vertices" one is clicked first, then the other is clicked on second (hold "Shift" key down while selecting the vertices ; "Shift" key allows you to select more than one object with mouse button). Then select "Alt + M", and choose either "At First", "At Last", or "At Center":

"At First" = makes it so that all the other vertices are welded to the "first vertice that was selected in sequence". Basically it looks as if all the other vertices jumped to where the first selected vertice is located, and have become one with it.

"At Last" = makes it so all the other vertices jump to where the last vertice selected is located, and have become one with it.

"At Center" = makes it so all the vertices selected, meet at a point that is midway between all of them.

To Export Multiple Collision Meshes:

There is another method, where you don't have to join the duplicated meshes together. If you make different collision meshes, to use on different parts of a regular mesh, and especially if these different collision meshes use different collision shapes (bhkBoxShape vs. bhkSphereShape vs. bhkCapsuleShape vs. bhkConvexVerticesShape vs. bhkMoppBvTreeShape ...), you start with "Step # 4" above after making your collision mesh parts, and follow the step to "Step # 5, but stop at the part where you "select the Triangle Mesh".

Depending on the shape of the reg. mesh piece you're wanting to cover with collision, you can choose any of these other collision shapes in the drop-down window (I'm not sure if "Cone" is Oblivion friendly, though). "Convex Hull", makes a bhkConvexVerticesShape, in Nifskope, when exported. Box, Sphere, Capsule, Convex - these shapes are more optimized than MOPP collision, a good deal.

Suppose you have a square table with four square legs - you can use five "Box" shapes, on each leg and one for the table's top ; then don't join them, but export them while they're still separate.

Upon export, under "Collision Options", you'd choose "Use bhkListShape" also, in addition to the settings in my export screenshot above. Then export. You will end up with a single bhkCollisionObject, with a bhkListShape somewhere within it, with the 5 bhkBoxShapes furthest within, with or without bhkTransformShapes/bhkConvexTransformShapes. This nif might even end up being lesser in filesize and game impact, than if the boxes had been joined together and exported as "Triangle Mesh" , since the box/sphere/capsule/convex collisions are more performance friendly (than "Triangle Mesh", also known as bhkMoppBvTreeShape in Nifskope). Test out exporting collision for a table like this using both methods, and see what results you get. I, myself, have come across such differing results before, however.

If you had not chosen the "Use bhkListShape" export option, and still kept the 5 box shapes separate, all five box shapes would have exported, but instead, four of them would be under four separate NiNodes, called "CollisionDummy" or something like that. Basically, you'd end up with 5 different bhkCollisionObjects, each with one bhkboxshape - this just makes the nif bigger in filesize and is not optimal in the game. Sometimes this method is necessary, like for nifs that use multiple NiNodes for animation, and/or nifs that use constraints.

Koniption
Yeah, don't let those little turds get you down. Dingleberries stick for a while, but eventually they fall off. Cool
Reply
02-17-2011, 01:30 AM,
#5
RE: Hard for a novice
Thank you very much for the effort you put into that explanation.
I shall have a go soon as I deal with my python problem.
Every time I try to import a NIF in Blender I'm getting a python error.
I shall solve that in the next while and then seriously get into following the outline you have so kindly presented.

Here is just one example of what I want to have collision for
http://www.skyrimmer.com

I've made these little mushroom homes but they have no collision.
This screenshot is pretty awful but it shows an early example.
Boxes, planks etc., I can make collision work.
Now with the help you have given here I should (eventually) be able to do some really fun things for my mods.

My goal is to make buildings that you can walk in and out of without doors loading. I'll live with rain and daylight in the house but I really want to not only look out of windows but climb through as well.

Again, thank you for your help.
.
Reply
02-18-2011, 04:15 AM,
#6
 
What a mess to install!
Python and Blender just don't get along for me.
It's too bad that Blender has no problem with all those other extensions but with NIFs you have to use a another program - I assume it's a copyright thing.

I'm supposing that Blender was not made for using with Oblivion or Morrowind, but when it comes to NIFs, I really don't understand why they don't just add it with the rest of the extensions. Why must Blender try to make my life harder. It would really help if they provided the right version of Python with the program.
I've tried all the variations of python and blender but just get into a frustrated mess downloading different versions and then uninstalling, re-installing etc., ... and all this is BEFORE I even have a bash at modding the bloody NIFs.

So finally after umpteen times I RTFM and followed this info in the readme:
Don't bother with zip files use .exe Installers

This version of the scripts should keep working with newer versions of Blender 2.4x and Python 2.6.x (but not Python 3.x.x). At the moment of writing this readme, the following were used during development of the scripts: * Be sure first to log in as administrator! (WINDOWS VISTA) * Download and install Blender 2.49b (32 bit), use default settings, except select "Use Blender's installation directory" when asked where to install Blender's user data. * Download and install Python 2.6.6 (32 bit), use default settings. * Download and install PyFFI 2.1.8 (.exe), use default settings. * Download and install the Blender NIF Scripts 2.5.6 (.exe), use default settings.

So now it's all working but it'll take an evening or several to work my way around the menus. I need a glossary of terms for all these new things.


But if you can tell me where in Blender I can make the .NIF have double sided textures, I'll appreciate it. or can that be done with Nifskope?
.
Reply
02-18-2011, 08:41 PM,
#7
 
Its really easy in nifskope - just rightclick, node>attach property>nistencilproperty.

Quote:I'm supposing that Blender was not made for using with Oblivion or Morrowind, but when it comes to NIFs, I really don't understand why they don't just add it with the rest of the extensions
NIF is a proprietary format for use with gamebryo, so they can't add it by default. Blender was more 'made for OB/MW' than any other program, but thats not saying much.
Mongati HoonDing tiavo; li-mansao einei diang.


Cassandra for the memospore era
Reply
02-20-2011, 10:42 PM,
#8
Thank you so much
Dear Lady Nereva.
Thank you so much for that .
will you marry me?
You have made my life complete.
Between you and Koniption I am now able to do the most important things in mods that I've wanted to do for years...
Combine items for collision and now make double sided textures without using 3dmax.
Double sided textures are really important for my way of modding - for a start it prevents that 'see-thru' when a item is not placed correctly and hides the gaps between tile sets.

You are both really great forumers and have made my modding a lot less frustrating.

I am going to add this information on my webpage if you don't mind.

EDIT: Well I must add more thanks! as an added bonus, I see that making the nif have double sided texture ALSO adds collision from the inside.... oh this is great!!! I'm off to mod.
.
Reply
05-07-2011, 09:06 AM,
#9
RE: Thank you so much
Dear KP;
Hey you crazy awesome modeler, I am using an updated version of Blender and I have not touched it in ages. It is the latest and my one problem is that it is completely different to the interface, from which this tutorial has been conceived. It is looking different then the ones in ImageShack. I was wondering if you may have gotten the latest Blender and if you have, and you had the time, to maybe show me how to add collision to it. i have learnt how to make stuff from Google SketchUp (which i find is very easy to use) into a Nif. But I and it to bypass through Blender to export and get some collision on it. If you could help then it would be much appreciated. If not, I shall ask that new member, Alex something or rather. He seems to know a bit about Blender. But I felt this was a nice place to ask.
Yours Sincerely;
PWN
If 'if's' and 'but's' were candy and nuts we'd all have a Merry Christmas
Reply
05-07-2011, 01:31 PM,
#10
RE: Thank you so much
Quote:Originally posted by t3h_pwn3r_ii
Dear KP;
Hey you crazy awesome modeler, I am using an updated version of Blender and I have not touched it in ages. It is the latest and my one problem is that it is completely different to the interface, from which this tutorial has been conceived. It is looking different then the ones in ImageShack. I was wondering if you may have gotten the latest Blender and if you have, and you had the time, to maybe show me how to add collision to it. I have learnt how to make stuff from Google SketchUp (which I find is very easy to use) into a Nif. But I and it to bypass through Blender to export and get some collision on it. If you could help then it would be much appreciated. If not, I shall ask that new member, Alex something or rather. He seems to know a bit about Blender. But I felt this was a nice place to ask.
Yours Sincerely;
PWN

Hi PWN,

Firstly, please make a separate thread, for your own technical issues and questions, in same forum section as this current thread we're in. It helps keeps info organized, and makes it so others don't think you're hi-jacking their threads.

Secondly, you can't use the most up-to-date version of Blender (which is Blender 2.5+), because the Blender Nifscripts plugin won't work with it. Blender Nifscripts is what allows Oblivion-type nifs to be exported from Blender.

You need to use Blender 2.49b.

Follow the directions in the linky below, on what to install for Blender (except read my notes further below, first):
http://www.tesnexus.com/downloads/file.php?id=12248

The part where the above linky says:
"(The version 2.49b download (Blender 2.49b, Python 2.6.5, Blender NIF Scripts 2.5.5, NifSkope 1.0.22, PyFFI 1.1.5) is the currently "accepted" version and contains all related files and versions known to work well together.)"

You actually should download:
(Blender 2.49b, Python 2.6.6, Blender NIF Scripts 2.5.7, NifSkope 1.0.22, PyFFI 2.1.9)...but still follow the order of installation in the TesNexus link above.

RE: What Collision Types to Use for Given Circumstances:

I got the following below quote, from SaidenStorm's personal website tutorial, located at: http://sites.google.com/site/saidenstorm...iontutori2

Quote:".....
20) Now some general things

Inertia = the amount of force needed to move an object along any given axis, generally the Exporter will give these decent settings but not always and you may need to increase these if an object refuses to settle

Note: Bouncing and Settling are not the same thing Settling is a problem with Inertia being to low, this is suttle the object will settle move a bit settle jiggle but only slightly -> and Bounding is a problem with Collision Mesh Normals being incorrect, this usually looks like well bouncing all over the place the object never settles just bounces around erraticly.

Generally Debris Collision Shapes are limited to just Primitives and Convex Verts as these types offer the best performance for the least hassles -> the other types are possible to get working as we did above but they possess issues not all related to performance but just the same here is a list of general Object Types to Collision Types used based on performance as they would be used by a Game Developer.

Statics -> Mopps -> Primitives.

Statics = Architecture, Dungeons, Buildings, Rocks, A great deal of the world is made up of this type -> which makes it one of the most important types to get right, Actors walk on this object collide into them and thier faces get tested quite often so its important that these run very smoothly.

AnimStatic -> Primitives -> Convex Verts.

AnimStatic = Animated Objects(Doors, Walls, Elevators, ...), Lobber Projectiles, some Explosions, Anything you want to animate will be in this catagory.

Debris -> Primitives -> Convex Verts.

Debris = Weapon(Ground.nifs), Armor(Ground.nifs), Items and some Activators, alot of general items in this catagory

Note: you will notice the Lack of Packed TriStrips and TriStrips -> that is because Game Developers do not use these ever because their performance is pathetic in all instances they only exist as a base for Mopps, and should be avoided."

When SaidenStorm says:

Statics -> Mopps -> Primitives.

...He means "Static" collision has the best performance by "Mopps", and your second optional choice should be "Primitives" (bhkBoxShape, bhkCapsuleShape, bhkSphereShape). Just apply the same logic sequence to the other phrases for Debris & AnimStatic.

Important Collision Terms:

Mopps = bhkMoppBvTreeShape

Primitives = bhkBoxShape, bhkCapsuleShape, bhkSphereShape (the "simple" or "primitive" shapes)

Convex Verts. = bhkConvexVerticesShape

Now that you know, what collision types to use, for certain circumstances, here's how Blender sets up Oblivion collision:
http://niftools.sourceforge.net/wiki/Blender/Collision

Here are my tweaks to a section quoted from the above linky:

Box: for perfect cubes/boxes, or rectangular shapes. (bhkBoxShape, in Nifskope)( a "primitive" shape)

Sphere: for spheres. (bhkSphereShape, in Nifskope)("primitive")

Cylinder: for capsules (a cylinder with rounded ends; bhkCapsuleShape, in Nifskope)("primitive"). Again, for cylinders, make sure that the main axis corresponds to the local z-axis. If the cylinder's alignment looks alright then you do not need to worry further. If not, rotate your oblong cube in edit mode until the cylinder is displayed properly.

Convex Hull Polytope: for convex shapes. (bhkConvexVerticesShape, in Nifskope)

Triangle Mesh: for arbitrary shapes. (bhkMoppBvTreeShape, in Nifskope; called "Mopps" collision, for short)

Cones: exist in Blender but are not supported by the scripts; if you need them use the convex hull polytope or triangle mesh

Lastly, collision meshes should be as simple, or with as few polygons, as possible, while still covering the object mesh they need to cover. All shapes cannot be further simplified, except for Convex shapes and Triangle/Mopps shapes. I go over ways to simplify collision shapes, in my posts above, to Jinix_the_Elder. So read over those, too.

Koniption
Yeah, don't let those little turds get you down. Dingleberries stick for a while, but eventually they fall off. Cool
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)