Mark Sibly 7 vuotta sitten
vanhempi
commit
85035ae8a8

+ 11 - 5
modules/mojo3d-loaders/loaders/assimp.monkey2

@@ -1,7 +1,7 @@
 
-Namespace mojo3d.loaders
+Namespace mojo3d.assimp
 
-Struct aiVector3D extension
+Struct aiVector3D Extension
 	
 	Operator To:Vec3f()
 		Return New Vec3f( x,y,z )
@@ -98,7 +98,7 @@ Class AssimpLoader
 		
 		Local model:=LoadNode( _scene.mRootNode,Null,True )
 		
-		model.Animator=LoadAnimator()
+		LoadAnimator( model )
 		
 		Return model
 	End
@@ -329,7 +329,7 @@ Class AssimpLoader
 		Return New Animation( channels,aianim.mDuration,aianim.mTicksPerSecond )
 	End
 	
-	Method LoadAnimator:Animator()
+	Method LoadAnimator:Animator( entity:Entity )
 		
 		If Not _scene.mNumAnimations Return Null
 		
@@ -340,7 +340,13 @@ Class AssimpLoader
 			animations[i]=LoadAnimation( _scene.mAnimations[i] )
 		Next
 		
-		Return New Animator( animations,_entities.ToArray() )
+		Local animator:=entity.AddComponent<Animator>()
+		
+		animator.Animations=animations
+		
+		animator.Entities=_entities.ToArray()
+		
+		Return animator
 	End
 
 End

+ 2 - 2
modules/mojo3d-loaders/mojo3d-loaders.monkey2

@@ -6,8 +6,8 @@ Namespace mojo3d
 #Import "<mojo3d>"
 
 Using std..
-Using assimp..
-Using mojo3d..
 Using mojo..
+Using mojo3d..
+Using assimp..
 
 #Import "loaders/assimp"

+ 12 - 6
modules/mojo3d-loaders/tests/turtle.monkey2

@@ -57,8 +57,10 @@ Class MyWindow Extends Window
 		'		
 		_turtle=Model.LoadBoned( "asset::turtle1.b3d" )
 		
-'		_turtle.Mesh.FitVertices( New Boxf( -1,1 ) )
-'		_turtle.Move( 0,10,0 )
+		Local animator:=_turtle.GetComponent<Animator>()
+		
+		animator.Paused=False
+		
 		
 	End
 		
@@ -70,13 +72,17 @@ Class MyWindow Extends Window
 		
 		util.Fly( _camera,Self )
 		
-		If Keyboard.KeyDown( Key.Space ) 
-			time+=12.0/60.0
-			_turtle.Animator.Animate( 0,time )
+		If Keyboard.KeyHit( Key.Space )
+
+			Local animator:=_turtle.GetComponent<Animator>()
+		
+			animator.Paused=Not animator.Paused
 		Endif
 		
+		_scene.Update()
+		
 		_scene.Render( canvas,_camera )
-
+		
 		canvas.Scale( Width/640.0,Height/480.0 )
 		
 		canvas.DrawText( "Width="+Width+", Height="+Height+", FPS="+App.FPS,0,0 )