4 posts / 0 new
Last post
Mireneye
Mireneye's picture
Member
Offline
Last seen: 12 years 11 months ago
Joined: 04/01/2013 - 06:17
Karma: 30
Solution to exporting from 3dsmax


For me, it took a day (8 hours) to figure this out, and to solve all the problems that came in my way. Here's how I solved it.

I know I may be preaching to the choir but I want everyone to know that it's not really that difficult and if you want to work with 3ds max you can.


Needed:
3dsmax (duh)
Nifskope
ChunkMerge
3dsmax Nif Exporter 3,7,3(With 3dsmax 2012 X64)
A BSA extractor



Exporter Notes (of course other settings goes for meshes with animation or other special meshes):

Checked boxes:
*Flatten Hierarchy
*Updated Tangent Space
*Collapse Transforms
*Zero Tansforms
*Sort Nodes
*Remove Extra Bones

Root Node Type: BSFadeNode


(If for some reason, as it did with me the node still comes out as "NiNode" see the last step in the Nifskope notes)


ChunkMerge Notes:

http://niftools.sourceforge.net/wiki/Skyrim/Adding_Collision...


Nifskope Notes:
(Look in the description box of these nodes to find some of the settings)

Under BSLightingShaderProperty, if you are not using vertex color on your mesh, untick those settings in the dropdown menu for the two Shaderflags.

Unless you are using Vertex shading, turn it's value to 0 under NiTriShapeData.

Under BSLightingShaderProperty set TexClampMode's value to WRAP_S_WRAP_T

Under BSLightingShaderProperty set Alpha to 1

Under BSLightingShaderProperty set both values in UV Scale to 1

You can safely delete the NiMaterial property, it might even cause problems.

A common cause for black meshes is a setting called "Num UV Sets" under the node NiTriShapeData. The value for "Num UV Sets" should be set to 4097. This will most likely also solve other issues you may be having with normal maps.

If you are still having problem with a black mesh a something you could try is to right click the NiTriShape node and go to mesh->Face Normals

If the first node in the tree is not already named BSFadeNode, rename NiNode to BSFadeNode


Animated meshes with collision:
Will try that later.

Cheers!
Please move this topic as and if needed. I'm new to these forums. Thank you!

Edited by: grumpycat on 01/12/2014 - 15:04
eloth
eloth's picture
Moderator
Offline
Last seen: 6 years 6 days ago
Joined: 07/16/2010 - 06:12
Karma: 1237
hi i added you to the chat

hi i added you to the chat since i know you from the old days :) hope you want to contribute some with your knowledge :)

Clint
Clint's picture
Member
Offline
Last seen: 10 years 5 months ago
Joined: 03/08/2011 - 04:00
Karma: 985
Thanks for these tips, this

Thanks for these tips, this is VERY valuable

grumpycat
grumpycat's picture
Moderator
Offline
Last seen: 7 years 2 months ago
Joined: 12/08/2012 - 06:41
Karma: 3383
Great break through today,

Great break through today, been converting a bunch of Oblivion modder resources and I altered the tool called NifTexture, which changes the texture paths in batches, but I also added the follow bit of code to simulate the above settings. So I've been able to automatically convert 200 models in a very short amount of time and get them all game ready :) It means converting Oblivion models is a semi automated way. Of course if we had our coders still then this would be built into the NifConverter and we would have drop down selection for the Shader Flags, but I've had to hard code it.

(DynamicCast<BSLightingShaderProperty>((DynamicCast<NiGeometry>(NiAVOShapeList[i]))->GetBSProperty(x)))->SetShaderFlags1(SkyrimShaderPropertyFlags1(SLSF1_CAST_SHADOWS | SLSF1_RECIEVE_SHADOWS | SLSF1_OWN_EMIT | SLSF1_REMAPPABLE_TEXTURES | SLSF1_ZBUFFER_TEST));
                    
                        (DynamicCast<BSLightingShaderProperty>((DynamicCast<NiGeometry>(NiAVOShapeList[i]))->GetBSProperty(x)))->SetUVScale(TexCoord(1,1));

                        (DynamicCast<BSLightingShaderProperty>((DynamicCast<NiGeometry>(NiAVOShapeList[i]))->GetBSProperty(x)))->SetAlpha(1);

                        (DynamicCast<BSLightingShaderProperty>((DynamicCast<NiGeometry>(NiAVOShapeList[i]))->GetBSProperty(x)))->SetTextureClampMode(TexClampMode(WRAP_S_WRAP_T));