Forráskód Böngészése

Make use of unit tag in asset info to scale the whole model

Matt Lilley 12 éve
szülő
commit
d411cbfbf4
1 módosított fájl, 7 hozzáadás és 1 törlés
  1. 7 1
      code/ColladaLoader.cpp

+ 7 - 1
code/ColladaLoader.cpp

@@ -155,7 +155,13 @@ void ColladaLoader::InternReadFile( const std::string& pFile, aiScene* pScene, I
 	// ... then fill the materials with the now adjusted settings
 	FillMaterials(parser, pScene);
 
-	// Convert to Y_UP, if different orientation
+        // Apply unitsize scale calculation
+        pScene->mRootNode->mTransformation *= aiMatrix4x4(parser.mUnitSize, 0,  0,  0, 
+                                                          0,  parser.mUnitSize,  0,  0,
+                                                          0,  0,  parser.mUnitSize,  0,
+                                                          0,  0,  0,  1);
+
+        // Convert to Y_UP, if different orientation
 	if( parser.mUpDirection == ColladaParser::UP_X)
 		pScene->mRootNode->mTransformation *= aiMatrix4x4( 
 			 0, -1,  0,  0,