コード例 #1
0
ファイル: BasicTankEntity.cs プロジェクト: johdah/EarthSim
        public BasicTankEntity(Game game, Model model, AbstractSphereEntity target)
            : base(game)
        {
            this.tankModel = model;
            this._target = target;
            this.Scale = 0.001f;
            // Sweden
            geoLatitude = 57;
            geoLongitude = 14;

            // Look up shortcut references to the bones we are going to animate.
            leftBackWheelBone = tankModel.Bones["l_back_wheel_geo"];
            rightBackWheelBone = tankModel.Bones["r_back_wheel_geo"];
            leftFrontWheelBone = tankModel.Bones["l_front_wheel_geo"];
            rightFrontWheelBone = tankModel.Bones["r_front_wheel_geo"];
            leftSteerBone = tankModel.Bones["l_steer_geo"];
            rightSteerBone = tankModel.Bones["r_steer_geo"];
            turretBone = tankModel.Bones["turret_geo"];
            cannonBone = tankModel.Bones["canon_geo"];
            hatchBone = tankModel.Bones["hatch_geo"];

            // Store the original transform matrix for each animating bone.
            leftBackWheelTransform = leftBackWheelBone.Transform;
            rightBackWheelTransform = rightBackWheelBone.Transform;
            leftFrontWheelTransform = leftFrontWheelBone.Transform;
            rightFrontWheelTransform = rightFrontWheelBone.Transform;
            leftSteerTransform = leftSteerBone.Transform;
            rightSteerTransform = rightSteerBone.Transform;
            turretTransform = turretBone.Transform;
            cannonTransform = cannonBone.Transform;
            hatchTransform = hatchBone.Transform;

            // Allocate the transform matrix array.
            boneTransforms = new Matrix[tankModel.Bones.Count];
        }
コード例 #2
0
ファイル: NPC2.cs プロジェクト: GiantCaveMushroom/GameProject
 public NPC2(Model model, Tank destination)
     : base(model)
 {
     #region boneyard
     turretBone = model.Bones["turret_geo"];
     cannonBone = model.Bones["canon_geo"];
     hatchBone = model.Bones["hatch_geo"];
     lFrontWBone = model.Bones["l_front_wheel_geo"];
     rFrontWBone = model.Bones["r_front_wheel_geo"];
     lSteer = model.Bones["l_steer_geo"];
     rSteer = model.Bones["r_steer_geo"];
     lBackWBone = model.Bones["l_back_wheel_geo"];
     rBackWBone = model.Bones["r_back_wheel_geo"];
     tankBone = model.Bones["tank_geo"];
     #endregion
     #region boneTransform
     if (turretBone != null) turretTransform = turretBone.Transform;
     if (lFrontWBone != null) lFrontTransform = lFrontWBone.Transform;
     if (rFrontWBone != null) rFrontTransform = rFrontWBone.Transform;
     if (lBackWBone != null) lBackTransform = lBackWBone.Transform;
     if (rBackWBone != null) rBackTransform = rBackWBone.Transform;
     #endregion
     tank = destination;
     translation *= Matrix.CreateTranslation(0, 0, -1200);
     distant = distance + 20;
 }
コード例 #3
0
        public Tank(Model model, GraphicsDevice device, Camera camera, GraphicsDeviceManager graphics, String name)
            : base(model)
        {
            this.name = name;
            graphicsDeviceManager = graphics;

            mousePick = new MousePick(device, camera);

            boneTransforms = new Matrix[model.Bones.Count];

            // references to bones to animate
            turretBone = model.Bones["turret_geo"];
            leftBackWheelBone = model.Bones["l_back_wheel_geo"];
            rightBackWheelBone = model.Bones["r_back_wheel_geo"];
            leftFrontWheelBone = model.Bones["l_front_wheel_geo"];
            rightFrontWheelBone = model.Bones["r_front_wheel_geo"];
            cannonBone = model.Bones["canon_geo"];

            // store the original transform matrix, otherwise animations on rotations will be all wonky
            turretTransform = turretBone.Transform;
            leftBackWheelTransform = leftBackWheelBone.Transform;
            rightBackWheelTransform = rightBackWheelBone.Transform;
            leftFrontWheelTransform = leftFrontWheelBone.Transform;
            rightFrontWheelTransform = rightFrontWheelBone.Transform;
            cannonTransform = cannonBone.Transform;

            health = maxHealth;
        }
コード例 #4
0
        /// <summary>
        /// Copies bone transforms relative to all parent bones of the each bone from this model to a given array.
        /// </summary>
        /// <param name="destinationBoneTransforms">The array receiving the transformed bones.</param>
        public void CopyAbsoluteBoneTransformsTo(Matrix[] destinationBoneTransforms)
        {
            if (destinationBoneTransforms == null)
            {
                throw new ArgumentNullException("destinationBoneTransforms");
            }
            if (destinationBoneTransforms.Length < Bones.Count)
            {
                throw new ArgumentOutOfRangeException("destinationBoneTransforms");
            }

            int count = Bones.Count;

            for (int index1 = 0; index1 < count; index1 += 1)
            {
                ModelBone modelBone = Bones[index1];
                if (modelBone.Parent == null)
                {
                    destinationBoneTransforms[index1] = modelBone.Transform;
                }
                else
                {
                    int    index2             = modelBone.Parent.Index;
                    Matrix modelBoneTransform = modelBone.Transform;
                    Matrix.Multiply(
                        ref modelBoneTransform,
                        ref destinationBoneTransforms[index2],
                        out destinationBoneTransforms[index1]
                        );
                }
            }
        }
コード例 #5
0
ファイル: SentryModel.cs プロジェクト: Thinny-Hendrix/MoonCow
        public SentryModel(Sentry sentry, Game1 game)
            : base()
        {
            this.sentry = sentry;
            this.game = game;

            pos = sentry.pos;
            scale = new Vector3(0.2f);

            model = ModelLibrary.sentry;
            bodyTex = TextureManager.sentryBod;
            visorTex = TextureManager.sEye3;

            ant = model.Bones["anten"];
            topCap = model.Bones["topCap"];
            visor = model.Bones["visor"];
            midCap = model.Bones["midCap"];
            canRot = model.Bones["cannonRound"];
            cannon = model.Bones["cannon"];
            botCap = model.Bones["botCap"];

            topOffset = Vector3.Zero;
            tiltRot = 0;
            spinRot = 0;
        }
コード例 #6
0
ファイル: Tank.cs プロジェクト: vvolkgang/WarZ
        public Tank(WarZGame game, Model model)
            : base(game, model)
        {
            WZGame = game;

            // _scale /= 300;
            _model.Root.Transform *= Matrix.CreateScale(Vector3.One / 300);
            _model.Root.Transform *= Matrix.CreateRotationY(MathHelper.Pi);

            _boneTransforms = new Matrix[_model.Bones.Count];
            _model.CopyAbsoluteBoneTransformsTo(_boneTransforms);

            LoadBoundingSphere();

            leftBackWheelBone = model.Bones["l_back_wheel_geo"];
            rightBackWheelBone = model.Bones["r_back_wheel_geo"];
            leftFrontWheelBone = model.Bones["l_front_wheel_geo"];
            rightFrontWheelBone = model.Bones["r_front_wheel_geo"];
            turretBone = model.Bones["turret_geo"];
            canonBone = model.Bones["canon_geo"];

            leftBackWheelTransform = leftBackWheelBone.Transform;
            rightBackWheelTransform = rightBackWheelBone.Transform;
            leftFrontWheelTransform = leftFrontWheelBone.Transform;
            rightFrontWheelTransform = rightFrontWheelBone.Transform;

            turretTransform = turretBone.Transform;
            canonTransform = turretBone.Transform;

            _specularColor_original = ((BasicEffect)(_model.Meshes[0].Effects[0])).SpecularColor;
            _specularColor_red = Color.Red.ToVector3();
        }
コード例 #7
0
ファイル: Model.cs プロジェクト: sergios1234/monoxna
        private void ReadBones(ContentReader input)
        {
            ModelBone[] bones = new ModelBone[input.ReadInt32()];

            for (int i = 0; i < bones.Length; i++)
            {
                string name = input.ReadObject<string>();
                Matrix transform = input.ReadMatrix();
                bones[i] = new ModelBone(i, name, transform);
            }

            this.bones = new ModelBoneCollection(bones);

            foreach (ModelBone bone in bones)
            {
                ModelBone newParent = this.ReadBoneReference(input);
                int size = input.ReadInt32();
                ModelBone[] newChildren = new ModelBone[size];
                for (int j = 0; j < size; j++)
                {
                    newChildren[j] = this.ReadBoneReference(input);
                }
                bone.SetParentChildren(newParent, newChildren);
            }
        }
コード例 #8
0
 /// <summary>
 /// Gets the transform to move a mesh to its exported origin.
 /// </summary>
 /// <param name="bone">The mesh's 'ParentBone'.</param>
 /// <param name="startBone">The bone to call GetTransform() on after world transform has been applied.</param>
 /// <returns>The matrix to move the mesh to its origin.</returns>
 public static Matrix GetOriginTransform( ModelBone bone, out ModelBone startBone )
 {
     startBone = bone.Parent;
       if ( bone.Parent != null && bone.Parent.Name == "" )
     return ( bone.Transform * GetOriginTransform( bone.Parent, out startBone ) );
       return bone.Transform;
 }
コード例 #9
0
        public Tank1(Model model, GraphicsDevice device, Camera camera)
            : base(model)
        {
            mousePick = new MousePicking(device, camera);
            //载入模型
            turretBone = model.Bones["turret_geo"];
            canonBone = model.Bones["canon_geo"];
            lbackwheelBone = model.Bones["l_back_wheel_geo"];
            rbackwheelBone = model.Bones["r_back_wheel_geo"];
            lfrontwheelBone = model.Bones["l_front_wheel_geo"];
            rfrontwheelBone = model.Bones["r_front_wheel_geo"];
            lsteergeoBone = model.Bones["l_steer_geo"];
            rsteergeoBone = model.Bones["r_steer_geo"];
            hatchgeo = model.Bones["hatch_geo"];

            //赋值给每个部件的变换
            leftBackWheelTransform = lbackwheelBone.Transform;
            rightBackWheelTransform = rbackwheelBone.Transform;
            leftFrontWheelTransform = lfrontwheelBone.Transform;
            rightFrontWheelTransform = rfrontwheelBone.Transform;
            leftSteerTransform = lsteergeoBone.Transform;
            rightSteerTransform = rsteergeoBone.Transform;
            turretTransform = turretBone.Transform;
            hatchTransform = hatchgeo.Transform;
            canonTransform = canonBone.Transform;
        }
コード例 #10
0
        public StationModel(Model model, Vector3 pos, float rotation, float scale)
            : base(model, pos, rotation, scale)
        {
            this.model = model;
            this.pos = pos;
            pos.Y = 0;
            this.rot = rot;
            this.scale = new Vector3(scale, scale, scale);

            tex = TextureManager.station1;

            try
            {
                cog1 = this.model.Bones["cog1"];
                cog1trans = cog1.Transform.Translation;
            }
            catch (KeyNotFoundException) { }
            try
            {
                cog2 = this.model.Bones["cog2"];
                cog2trans = cog2.Transform.Translation;
            }
            catch (KeyNotFoundException)
            {
            }
        }
コード例 #11
0
ファイル: NPC2.cs プロジェクト: GiantCaveMushroom/GameProject
 //Y axis rotation (for turret)
 public void rotateY(ModelBone bone, Matrix tr, float rotation)
 {
     Vector3 oringalTrans = tr.Translation;
     bone.Transform *= Matrix.CreateRotationY(rotation);
     Vector3 newTrans = bone.Transform.Translation;
     bone.Transform *= Matrix.CreateTranslation(oringalTrans - newTrans);
 }
コード例 #12
0
ファイル: Tank.cs プロジェクト: HeatherXi/game-programming
 public Tank(Model model,GraphicsDevice device,Camera camera)
     : base(model)
 {
     mousepick = new MousePick(device, camera);
     turretBone = model.Bones["turret_geo"];
     rightfrontwheel = model.Bones["r_front_wheel_geo"];
     rightbackwheel = model.Bones["r_back_wheel_geo"];
     leftfrontwheel = model.Bones["l_front_wheel_geo"];
     leftbackwheel = model.Bones["l_back_wheel_geo"];
     rightsteergeo = model.Bones["r_steer_geo"];
     leftsteergeo = model.Bones["l_steer_geo"];
     hatchgeo = model.Bones["hatch_geo"];
     canongeo = model.Bones["canon_geo"];
     leftBackWheelTransform = leftbackwheel.Transform;
     rightBackWheelTransform = rightbackwheel.Transform;
     leftFrontWheelTransform = leftfrontwheel.Transform;
     rightFrontWheelTransform = rightfrontwheel.Transform;
     leftSteerTransform = leftsteergeo.Transform;
     rightSteerTransform = rightsteergeo.Transform;
     turretTransform = turretBone.Transform;
     hatchTransform = hatchgeo.Transform;
     canonTransform = canongeo.Transform;
     currentAngle = MathHelper.PiOver2;
     currentPosition = new Vector3(0, 0, 0);
     tankBox = new BoundingBox(MIN, MAX);
 }
コード例 #13
0
 private void BuildHierarchy(ModelBone node, Matrix parentTransform, int level)
 {
     node.ModelTransform = node.Transform * parentTransform;
     foreach (ModelBone node1 in (ReadOnlyCollection <ModelBone>)node.Children)
     {
         this.BuildHierarchy(node1, node.ModelTransform, level + 1);
     }
 }
コード例 #14
0
ファイル: Model.cs プロジェクト: Zeludon/FEZ
 private void BuildHierarchy(ModelBone node, Matrix parentTransform, int level)
 {
   node.ModelTransform = node.Transform * parentTransform;
   foreach (ModelBone node1 in (ReadOnlyCollection<ModelBone>) node.Children)
     this.BuildHierarchy(node1, node.ModelTransform, level + 1);
   string str = string.Empty;
   for (int index = 0; index < level; ++index)
     str = str + "\t";
 }
コード例 #15
0
ファイル: ModelExtensions.cs プロジェクト: GodLesZ/svn-dump
		public static void GetModelMeshTransform( ModelBone bone, ref Matrix mat ) {
			if( bone.Parent == null ) {
				mat = bone.Transform;
			} else {
				GetModelMeshTransform( bone.Parent, ref mat );

				mat = bone.Transform * mat;
			}
		}
コード例 #16
0
ファイル: Model.cs プロジェクト: WhileFalseStudios/FNA
        private void BuildHierarchy(ModelBone node, Matrix parentTransform, int level)
        {
            node.ModelTransform = node.Transform * parentTransform;

            foreach (ModelBone child in node.Children)
            {
                BuildHierarchy(child, node.ModelTransform, level + 1);
            }
        }
コード例 #17
0
ファイル: Tank.cs プロジェクト: Mechgun/BattleTank
 //SoundEffect soundFx;
 //SoundEffectInstance music;
 //SoundEffectInstance soundEffect;
 public Tank(Model model, GraphicsDevice device, camera camera)
     : base(model)
 {
     MousePick = new MousePick(device, camera);
     turretBone = model.Bones["turret_geo"];
     rightFrontWheel = model.Bones["r_front_wheel_geo"];
     leftFrontWheel = model.Bones["l_front_wheel_geo"];
     rightRearWheel = model.Bones["r_back_wheel_geo"];
     leftRearWheel = model.Bones["l_back_wheel_geo"];
 }
コード例 #18
0
        public Snowplow(ContentManager content, GraphicsDevice device, Vector3 position)
        {
            this.device = device;
            _model = content.Load<Model>("snowplow");
            _position = position;
            _rotation = 0.0f;

            containerBone = _model.Bones["Cube.013"];
            containerTransform = containerBone.Transform;
        }
コード例 #19
0
ファイル: tank.cs プロジェクト: 11614765/game_week9
        public Tank(Model model, GraphicsDevice device, Camera camera)
            : base(model)
        {
            mousePick = new MousePick(device, camera);
            turretBone = model.Bones["turret_geo"];
            wheels = new ModelBone[4];
            wheels[0] = model.Bones["r_front_wheel_geo"];
            wheels[1] = model.Bones["r_back_wheel_geo"];
            wheels[2] = model.Bones["l_front_wheel_geo"];
            wheels[3] = model.Bones["l_back_wheel_geo"];

            speed = 10f;
        }
コード例 #20
0
ファイル: Flag.cs プロジェクト: summer-of-software/vtank
 public Flag(Model _model, Vector3 _position)
     : base(_model, _position)
 {
     SpawnPosition = _position;
     Hidden = true;
     VrotationAngle = (float)Math.PI;
     TrotationAngle = 0f;
     VBone = _model.Bones["FlagV"];
     TBone = _model.Bones["FlagT"];
     VT = VBone.Transform;
     TT = TBone.Transform;
     emitting = true;
 }
コード例 #21
0
        private void BuildHierarchy(ModelBone node, Matrix parentTransform, int level)
        {
            node.ModelTransform = node.Transform * parentTransform;
            foreach (ModelBone node1 in (ReadOnlyCollection <ModelBone>)node.Children)
            {
                this.BuildHierarchy(node1, node.ModelTransform, level + 1);
            }
            string str = string.Empty;

            for (int index = 0; index < level; ++index)
            {
                str = str + "\t";
            }
        }
コード例 #22
0
        public FleeTank(Model model, GraphicsDevice device, Camera camera, Vector3 position, int tankID)
            : base(model)
        {
            mousePick = new MousePick(device, camera);
            npcTankID = tankID;
            //position = new Vector3(100, 0, -100);         //enemy tank's spawn position
            this.position = position;
            currentVelocity = Vector3.Normalize(new Vector3(0, 0, 1));  //enemy tank is facing vector3(0,0,1) when it spawn, this is initial velocity
            turretBone = model.Bones["turret_geo"];
            backWheelBone = model.Bones["r_back_wheel_geo"];

            //9-11 patrol
            RandomPatrolPoint();

            translation = Matrix.CreateTranslation(position);
        }
コード例 #23
0
ファイル: Model.cs プロジェクト: DrPandemic/EraParadox
		private void BuildHierarchy(ModelBone node, Matrix parentTransform, int level)
		{
			node.ModelTransform = node.Transform * parentTransform;
			
			foreach (var child in node.Children) 
			{
				BuildHierarchy(child, node.ModelTransform, level + 1);
			}
			
			//string s = string.Empty;
			//
			//for (int i = 0; i < level; i++) 
			//{
			//	s += "\t";
			//}
			//
			//Debug.WriteLine("{0}:{1}", s, node.Name);
		}
コード例 #24
0
ファイル: Model.cs プロジェクト: chubbyerror/Gibbo2D
        private void BuildHierarchy(ModelBone node, Matrix parentTransform, int level)
        {
            node.ModelTransform = node.Transform * parentTransform;

            foreach (var child in node.Children)
            {
                BuildHierarchy(child, node.ModelTransform, level + 1);
            }

            //string s = string.Empty;
            //
            //for (int i = 0; i < level; i++)
            //{
            //	s += "\t";
            //}
            //
            //Debug.WriteLine("{0}:{1}", s, node.Name);
        }
コード例 #25
0
ファイル: ModelMesh.cs プロジェクト: sergios1234/monoxna
 internal ModelMesh(string name, ModelBone parentBone, BoundingSphere boundingSphere, VertexBuffer vertexBuffer, IndexBuffer indexBuffer, ModelMeshPart[] meshParts, object tag)
 {
     this.boundingSphere = new BoundingSphere();
     this.effects = new ModelEffectCollection();
     this.name = name;
     this.parentBone = parentBone;
     this.boundingSphere = boundingSphere;
     this.vertexBuffer = vertexBuffer;
     this.indexBuffer = indexBuffer;
     this.meshParts = new ModelMeshPartCollection(meshParts);
     this.tag = tag;
     int length = meshParts.Length;
     for (int i = 0; i < length; i++)
     {
         ModelMeshPart part = meshParts[i];
         part.parent = this;
     }
 }
コード例 #26
0
ファイル: c0000de.cs プロジェクト: bing2008/CastNetGame
 internal c0000de(ModelBone p0, ModelBoneCollection p1, c0000de[] p2)
 {
     this.f00000b = p0.Index;
     this.f000006 = p0.Name;
     this.f0000e1 = p0.Transform;
     if (p0.Parent != null)
     {
         this.f000028 = p2[p0.Parent.Index];
     }
     p2[this.f00000b] = this;
     List<c0000de> list = new List<c0000de>();
     foreach (ModelBone bone in p0.Children)
     {
         c0000de item = new c0000de(p1[bone.Index], p1, p2);
         list.Add(item);
     }
     this.f000018 = new c0000db(list);
 }
コード例 #27
0
        internal ModelMesh(string name, ModelBone parentBone, BoundingSphere boundingSphere, VertexBuffer vertexBuffer, IndexBuffer indexBuffer, ModelMeshPart[] meshParts, object tag)
        {
            this.boundingSphere = new BoundingSphere();
            this.effects        = new ModelEffectCollection();
            this.name           = name;
            this.parentBone     = parentBone;
            this.boundingSphere = boundingSphere;
            this.vertexBuffer   = vertexBuffer;
            this.indexBuffer    = indexBuffer;
            this.meshParts      = new ModelMeshPartCollection(meshParts);
            this.tag            = tag;
            int length = meshParts.Length;

            for (int i = 0; i < length; i++)
            {
                ModelMeshPart part = meshParts[i];
                part.parent = this;
            }
        }
コード例 #28
0
ファイル: Model.cs プロジェクト: leha-bot/Mono.XNA
        private void ReadMeshes(ContentReader input, VertexDeclaration[] vertexDeclarations)
        {
            int length = input.ReadInt32();

            ModelMesh[] meshes = new ModelMesh[length];
            for (int i = 0; i < length; i++)
            {
                string         name           = input.ReadObject <string>();
                ModelBone      parentBone     = this.ReadBoneReference(input);
                BoundingSphere boundingSphere = new BoundingSphere();
                boundingSphere.Center = input.ReadVector3();
                boundingSphere.Radius = input.ReadSingle();
                VertexBuffer    vertexBuffer = input.ReadObject <VertexBuffer>();
                IndexBuffer     indexBuffer  = input.ReadObject <IndexBuffer>();
                object          tag          = input.ReadObject <object>();
                ModelMeshPart[] meshParts    = ReadMeshParts(input, vertexBuffer, indexBuffer, vertexDeclarations);
                meshes[i] = new ModelMesh(name, parentBone, boundingSphere, vertexBuffer, indexBuffer, meshParts, tag);
            }
            this.meshes = new ModelMeshCollection(meshes);
        }
コード例 #29
0
ファイル: Vehicle.cs プロジェクト: 4gn3s/Racing-game-XNA
        public Vehicle(Model Model, Vector3 Position, Vector3 Rotation,
            Vector3 Scale, GraphicsDevice graphicsDevice, Track track, string name, int laps)
            : base(Model, Position, Rotation, Scale, graphicsDevice)
        {
            this.track = track;

            leftBackWheelBone = Model.Bones["Left_Rear"];
            rightBackWheelBone = Model.Bones["Right_Rear"];
            leftFrontWheelBone = Model.Bones["Left_Front"];
            rightFrontWheelBone = Model.Bones["Right_Front"];

            leftBackWheelTransform = leftBackWheelBone.Transform;
            rightBackWheelTransform = rightBackWheelBone.Transform;
            leftFrontWheelTransform = leftFrontWheelBone.Transform;
            rightFrontWheelTransform = rightFrontWheelBone.Transform;

            this.name = name;
            this.lapsLeft = laps;
            this.graphicsDevice = graphicsDevice;
        }
コード例 #30
0
ファイル: Tank.cs プロジェクト: HeatherXi/game-programming
 public Tank(Model model,GraphicsDevice device,Camera camera)
     : base(model)
 {
     mousepick = new MousePick(device, camera);
     turretBone = model.Bones["turret_geo"];
     rightfrontwheel = model.Bones["r_front_wheel_geo"];
     rightbackwheel = model.Bones["r_back_wheel_geo"];
     leftfrontwheel = model.Bones["l_front_wheel_geo"];
     leftbackwheel = model.Bones["l_back_wheel_geo"];
     rightsteergeo = model.Bones["r_steer_geo"];
     leftsteergeo = model.Bones["l_steer_geo"];
     hatchgeo = model.Bones["hatch_geo"];
     canongeo = model.Bones["canon_geo"];
     leftBackWheelTransform = leftbackwheel.Transform;
     rightBackWheelTransform = rightbackwheel.Transform;
     leftFrontWheelTransform = leftfrontwheel.Transform;
     rightFrontWheelTransform = rightfrontwheel.Transform;
     leftSteerTransform = leftsteergeo.Transform;
     rightSteerTransform = rightsteergeo.Transform;
     turretTransform = turretBone.Transform;
     hatchTransform = hatchgeo.Transform;
     canonTransform = canongeo.Transform;
     currentPosition = prePosition;
 }
コード例 #31
0
ファイル: c000189.cs プロジェクト: bing2008/CastNetGame
 public static void m000286(ModelBoneCollection p0, ref ModelBone p1)
 {
     Type type = typeof(ModelBone);
     type.GetField("children", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(p1, p0);
 }
コード例 #32
0
ファイル: c000189.cs プロジェクト: bing2008/CastNetGame
 public static void m000285(ModelBone p0, ref ModelBone p1)
 {
     Type type = typeof(ModelBone);
     type.GetField("parent", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(p1, p0);
 }
コード例 #33
0
ファイル: ModelBone.cs プロジェクト: BlueLineGames/FNA
		internal void AddChild(ModelBone modelBone)
		{
			children.Add(modelBone);
			Children = new ModelBoneCollection(children);
		}
コード例 #34
0
ファイル: Tank.cs プロジェクト: RoyLiuGitHub/GameProgramming
        public Tank(Model model, GraphicsDevice device, Camera camera, int[,] map, int r, int c)
            : base(model)
        {
            pickPosition = Vector3.Zero;
            tankPosition = Vector3.Zero;
            mousePick = new MousePick(device, camera);
            v = new Velocity();
            preMousePick = Vector3.Zero;
            array = map;
            row = r;
            col = c;

            isNavigate = false;

            leftBackWheelBone = model.Bones["l_back_wheel_geo"];
            rightBackWheelBone = model.Bones["r_back_wheel_geo"];
            leftFrontWheelBone = model.Bones["l_front_wheel_geo"];
            rightFrontWheelBone = model.Bones["r_front_wheel_geo"];
            leftSteerBone = model.Bones["l_steer_geo"];
            rightSteerBone = model.Bones["r_steer_geo"];
            turretBone = model.Bones["turret_geo"];
            cannonBone = model.Bones["canon_geo"];
            hatchBone = model.Bones["hatch_geo"];

            leftBackWheelTransform = leftBackWheelBone.Transform;
            rightBackWheelTransform = rightBackWheelBone.Transform;
            leftFrontWheelTransform = leftFrontWheelBone.Transform;
            rightFrontWheelTransform = rightFrontWheelBone.Transform;
            leftSteerTransform = leftSteerBone.Transform;
            rightSteerTransform = rightSteerBone.Transform;
            turretTransform = turretBone.Transform;
            cannonTransform = cannonBone.Transform;
            hatchTransform = hatchBone.Transform;
        }
コード例 #35
0
ファイル: Model.cs プロジェクト: Zeludon/FEZ
 private void BuildHierarchy(ModelBone node, Matrix parentTransform, int level)
 {
   node.ModelTransform = node.Transform * parentTransform;
   foreach (ModelBone node1 in (ReadOnlyCollection<ModelBone>) node.Children)
     this.BuildHierarchy(node1, node.ModelTransform, level + 1);
 }
コード例 #36
0
ファイル: ModelBone.cs プロジェクト: bobaiep/root-s2
 internal void AddChild(ModelBone modelBone)
 {
     children.Add(modelBone);
     Children = new ModelBoneCollection(children);
 }
コード例 #37
0
 public static Matrix GetAbsoluteTransform(ModelBone bone)
 {
     if (bone == null)
     return Matrix.Identity;
       return bone.Transform * GetAbsoluteTransform(bone.Parent);
 }
コード例 #38
0
ファイル: ModelBone.cs プロジェクト: conankzhang/fez
 public void AddChild(ModelBone modelBone)
 {
     this.children.Add(modelBone);
     this.Children = new ModelBoneCollection((IList <ModelBone>) this.children);
 }
コード例 #39
0
ファイル: Tank.cs プロジェクト: poppuyo/eecs395-proj2
        /// <summary>
        /// Called when the Game is loading its content. Pass in a ContentManager so the
        /// tank can load its model.
        /// </summary>
        public void LoadContent(ContentManager content)
        {
            model = content.Load<Model>("Models//tank");

            experimentalEffect = content.Load<Effect>("effects");

            tankIndicator = new Indicator(game, this);
            tankIndicator.LoadContentDamnit();
            game.Components.Add(tankIndicator);

            moving = content.Load<SoundEffect>("Audio\\Tank");
            movingInstance = moving.CreateInstance();
            movingInstance.IsLooped = true;

            // As discussed in the Simple Animation Sample, we'll look up the bones
            // that control the wheels.
            leftBackWheelBone = model.Bones["l_back_wheel_geo"];
            rightBackWheelBone = model.Bones["r_back_wheel_geo"];
            leftFrontWheelBone = model.Bones["l_front_wheel_geo"];
            rightFrontWheelBone = model.Bones["r_front_wheel_geo"];

            // Also, we'll store the original transform matrix for each animating bone.
            leftBackWheelTransform = leftBackWheelBone.Transform;
            rightBackWheelTransform = rightBackWheelBone.Transform;
            leftFrontWheelTransform = leftFrontWheelBone.Transform;
            rightFrontWheelTransform = rightFrontWheelBone.Transform;

            turretBone = model.Bones["turret_geo"];
            turretTransform = turretBone.Transform;

            canonBone = model.Bones["canon_geo"];
            canonTransform = canonBone.Transform;
        }
コード例 #40
0
 internal void SetParentChildren(ModelBone Parent, ModelBone[] Children)
 {
     this.parent   = Parent;
     this.children = new ModelBoneCollection(Children);
 }