예제 #1
0
        protected override void LoadContent(GraphicInfo GraphicInfo, GraphicFactory factory ,IContentManager contentManager)
        {
            PhysxPhysicWorld PhysxPhysicWorld = World.PhysicWorld as PhysxPhysicWorld;

            base.LoadContent(GraphicInfo, factory, contentManager);
            {
                SimpleModel simpleModel = new SimpleModel(factory, "Model//cenario");

                PhysxTriangleMesh tmesh = new PhysxTriangleMesh(PhysxPhysicWorld,simpleModel, Matrix.Identity,
                    Matrix.Identity, Vector3.One, PloobsEngine.Physics.MaterialDescription.DefaultPhysxMaterial());

                ForwardXNABasicShader shader = new ForwardXNABasicShader(ForwardXNABasicShaderDescription.Default());
                ForwardMaterial fmaterial = new ForwardMaterial(shader);
                IObject obj = new IObject(fmaterial, simpleModel, tmesh);
                this.World.AddObject(obj);
            }

            BallThrowPhysx BallThrowBullet = new BallThrowPhysx(this.World, GraphicFactory);

            this.World.CameraManager.AddCamera(new CameraFirstPerson(GraphicInfo));
        }
 public override void AddObject(IPhysicObject obj)
 {
     if (obj is PhysxPhysicObject)
     {
         PhysxPhysicObject PhysxPhysicObject = obj as PhysxPhysicObject;
         PhysxPhysicObject.RigidActor.UserData = obj;
         scene.AddActor(PhysxPhysicObject.RigidActor);
     }
     else if (obj is PhysxTriangleMesh)
     {
         PhysxTriangleMesh PhysxTriangleMesh = obj as PhysxTriangleMesh;
         PhysxTriangleMesh.StaticActor.UserData = obj;
         scene.AddActor(PhysxTriangleMesh.StaticActor);
     }
     else if (obj is PhysxStaticActor)
     {
         PhysxStaticActor PhysxTriangleMesh = obj as PhysxStaticActor;
         PhysxTriangleMesh.StaticActor.UserData = obj;
         scene.AddActor(PhysxTriangleMesh.StaticActor);
     }
     objs.Add(obj);
 }