Exemple #1
0
FbxVector4 FBXScene::GetTangent(FbxMesh* pFBXMesh, int nLayerIndex, int nPolygonIndex, int nPolygonVertexIndex, int nVertexIndex)
{
	FbxVector4 vTangent(0,0,0,0);
	int nLayerCount = pFBXMesh->GetLayerCount();
	if( nLayerIndex < nLayerCount )//for( int i = 0; i < nLayerCount; ++i )
	{
		FbxLayer* pFBXLayer = pFBXMesh->GetLayer(nLayerIndex);

		if( pFBXLayer )
		{
			FbxLayerElementTangent* pTangents = pFBXLayer->GetTangents();

			if( pTangents )
			{
				const FbxLayerElementArrayTemplate<FbxVector4>& pTangentArray = pTangents->GetDirectArray();

				if( nVertexIndex < pTangentArray.GetCount() )
				{
					
					vTangent = pTangentArray.GetAt(nVertexIndex);
					vTangent.Normalize();
				}
			}
		}

	}
	return vTangent;
}