public InstanceModel(Model model) { Model = model; PlaySpeed = 1; CurrentFrame = model.FrameStart; // orientation Position = Vector3.Zero; Scale = Vector3.One; Rotation = Matrix3.Identity; // objects Objects = new InstanceObject[model.Objects.Length]; for (int i = 0; i != Objects.Length; ++i) { var type = model.Objects[i].GetType(); if (type == typeof(ObjectMesh)) { Objects[i] = new InstanceObjectMesh((ObjectMesh)model.Objects[i]); } else if (type == typeof(ObjectArmature)) { Objects[i] = new InstanceObjectArmature((ObjectArmature)model.Objects[i]); } else { Debug.ThrowError("InstanceModel", "Unsuported Object type: " + type); } } for (int i = 0; i != Objects.Length; ++i) { Objects[i].bindObjects(model.Objects[i]); } }
public InstanceModel(Model model) { Model = model; PlaySpeed = 1; CurrentFrame = model.FrameStart; // orientation Position = Vector3.Zero; Scale = Vector3.One; Rotation = Matrix3.Identity; // objects Objects = new InstanceObject[model.Objects.Length]; for (int i = 0; i != Objects.Length; ++i) { var type = model.Objects[i].GetType(); if (type == typeof(ObjectMesh)) Objects[i] = new InstanceObjectMesh((ObjectMesh)model.Objects[i]); else if (type == typeof(ObjectArmature)) Objects[i] = new InstanceObjectArmature((ObjectArmature)model.Objects[i]); else Debug.ThrowError("InstanceModel", "Unsuported Object type: " + type); } for (int i = 0; i != Objects.Length; ++i) { Objects[i].bindObjects(model.Objects[i]); } }