XNA Creators Club Online
Page 1 of 1 (7 items)
Sort Posts: Previous Next

Please Help With GuitarMatty!

Last post 6/13/2009 3:15 AM by Michael Camesao. 6 replies.
  • 6/8/2009 6:39 AM

    Please Help With GuitarMatty!

    I get this error when trying to run my model..

    Unable to cast object of type 'Microsoft.Xna.Framework.Content.EffectMaterial' to type 'Microsoft.Xna.Framework.Graphics.BasicEffect'.

    Please help me! It highlights

    "BasicEffect effect" In yellow... I was able to get by other things but this has backed me up and i cant get it to work... Please help me!
  • 6/8/2009 2:20 PM In reply to

    Re: Please Help With GuitarMatty!

    Whatever you're trying to assign to "effect" is an EffectMaterial object, not a BasicEffect object. Posting the actual relevant code would help.
    Jim Perry - Microsoft XNA MVP
    If people spent a minute searching the forums and reading the FAQs before posting I'd be out of a job.
      Got some XNA Game Studio/XNA Framework development info to share with the community? Put it on the XNA Wiki.
        Please mark posts as Answers or Good Feedback when appropriate.
  • 6/8/2009 11:38 PM In reply to

    Re: Please Help With GuitarMatty!

    Oh here is my Game1 file


    using System; 
    using System.Collections.Generic; 
    using Microsoft.Xna.Framework; 
    using Microsoft.Xna.Framework.Audio; 
    using Microsoft.Xna.Framework.Content; 
    using Microsoft.Xna.Framework.GamerServices; 
    using Microsoft.Xna.Framework.Graphics; 
    using Microsoft.Xna.Framework.Input; 
    using Microsoft.Xna.Framework.Net; 
    using Microsoft.Xna.Framework.Storage; 
     
    namespace TestGame 
        /// <summary> 
        /// This is the main type for your game 
        /// </summary> 
        public class Game1 : Microsoft.Xna.Framework.Game 
        { 
            GraphicsDeviceManager graphics; 
            SpriteBatch spriteBatch; 
            Model pirateHat; 
            Matrix[] boneTransforms; 
            Vector3 cameraPosition = new Vector3(0.0f, 0.0f, 15.0f); 
            float aspectRatio; 
            Vector3 hatPosition; 
            float hatRotation; 
     
            public Game1() 
            { 
                graphics = new GraphicsDeviceManager(this); 
                Content.RootDirectory = "Content"
            } 
     
            /// <summary> 
            /// Allows the game to perform any initialization it needs to before starting to run. 
            /// This is where it can query for any required services and load any non-graphic 
            /// related content.  Calling base.Initialize will enumerate through any components 
            /// and initialize them as well. 
            /// </summary> 
            protected override void Initialize() 
            { 
                aspectRatio = (float)graphics.GraphicsDevice.Viewport.Width / (float)graphics.GraphicsDevice.Viewport.Height; 
                hatPosition = Vector3.Zero; 
                hatRotation = 0.0f; 
     
                base.Initialize(); 
            } 
     
            /// <summary> 
            /// LoadContent will be called once per game and is the place to load 
            /// all of your content. 
            /// </summary> 
            protected override void LoadContent() 
            { 
                // Create a new SpriteBatch, which can be used to draw textures. 
                spriteBatch = new SpriteBatch(GraphicsDevice); 
     
                pirateHat = Content.Load<Model>("Models\\Pirate3"); 
                boneTransforms = new Matrix[pirateHat.Bones.Count]; 
     
                // TODO: use this.Content to load your game content here 
            } 
     
            /// <summary> 
            /// UnloadContent will be called once per game and is the place to unload 
            /// all content. 
            /// </summary> 
            protected override void UnloadContent() 
            { 
                // TODO: Unload any non ContentManager content here 
            } 
     
            /// <summary> 
            /// Allows the game to run logic such as updating the world, 
            /// checking for collisions, gathering input, and playing audio. 
            /// </summary> 
            /// <param name="gameTime">Provides a snapshot of timing values.</param> 
            protected override void Update(GameTime gameTime) 
            { 
                // Allows the game to exit 
                if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) 
                    this.Exit(); 
     
                hatRotation += (float)gameTime.ElapsedGameTime.TotalMilliseconds * MathHelper.ToRadians(0.1f); 
     
                base.Update(gameTime); 
            } 
     
            /// <summary> 
            /// This is called when the game should draw itself. 
            /// </summary> 
            /// <param name="gameTime">Provides a snapshot of timing values.</param> 
            protected override void Draw(GameTime gameTime) 
            { 
                graphics.GraphicsDevice.Clear(Color.White); 
     
                pirateHat.CopyAbsoluteBoneTransformsTo(boneTransforms); 
     
                foreach (ModelMesh mesh in pirateHat.Meshes) 
                { 
                    foreach (BasicEffect effect in mesh.Effects) 
                    { 
                        effect.World = boneTransforms[mesh.ParentBone.Index] * Matrix.CreateRotationY(hatRotation) * Matrix.CreateTranslation(hatPosition); 
                        effect.View = Matrix.CreateLookAt(cameraPosition, Vector3.Zero, Vector3.Up); 
                        effect.Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45.0f), aspectRatio, 1.0f, 10000); 
     
                        effect.EnableDefaultLighting(); 
                    } 
                    mesh.Draw(); 
                } 
     
                base.Draw(gameTime); 
            } 
        } 
     

  • 6/9/2009 9:57 AM In reply to

    Re: Please Help With GuitarMatty!

    Sorry, I don't know the specifics of GuitarMatty.....but try replacing   BasicEffect in your foreach with Effect. Chances are pretty big that your model uses custom effects.

    -Daniel
  • 6/9/2009 10:12 PM In reply to

    Re: Please Help With GuitarMatty!

    When i replace it it gives me these errors...



    Error    1    'Microsoft.Xna.Framework.Graphics.Effect' does not contain a definition for 'World'    C:\Users\Michael\Documents\Visual Studio 2005\Projects\TestGame\TestGame\Game1.cs    103    28    TestGame
    Error    2    'Microsoft.Xna.Framework.Graphics.Effect' does not contain a definition for 'View'    C:\Users\Michael\Documents\Visual Studio 2005\Projects\TestGame\TestGame\Game1.cs    104    28    TestGame
    Error    3    'Microsoft.Xna.Framework.Graphics.Effect' does not contain a definition for 'Projection'    C:\Users\Michael\Documents\Visual Studio 2005\Projects\TestGame\TestGame\Game1.cs    105    28    TestGame
    Error    4    'Microsoft.Xna.Framework.Graphics.Effect' does not contain a definition for 'EnableDefaultLighting'    C:\Users\Michael\Documents\Visual Studio 2005\Projects\TestGame\TestGame\Game1.cs    107    28    TestGame



    Because it cant find it under effect am i right and how do i fix these?
  • 6/12/2009 4:13 AM In reply to

    Re: Please Help With GuitarMatty!

    Hi Michael,
    Make sure you are using the FX Samples provided with Mod Tool rather than some other kind of shaders.
    Dan Waters
    Academic Developer Evangelist @ Microsoft
    Check out my book: Zune Game Development using XNA 3.0 (http://www.tinyurl.com/zunebook)
  • 6/13/2009 3:15 AM In reply to

    Re: Please Help With GuitarMatty!

    hmmm how can i make sure??? total noob to this but i really want this to work..
Page 1 of 1 (7 items) Previous Next