- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
protected override void Draw(GameTime gameTime)
{
graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
//Новый массив матриц размером, соответствующим количеству костей в скелете модели
Matrix[] absoluteTransformations = new Matrix[pen.Bones.Count];
//Скопировать матрицы трансформации костей в массив матриц
pen.CopyAbsoluteBoneTransformsTo(absoluteTransformations);
foreach (ModelMesh mesh in pen.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
effect.LightingEnabled = true;
effect.EnableDefaultLighting();
effect.Projection = projMatrix;
effect.View = viewMatrix;
//Установим новую мировую матрицу для родительской кости текущей сети
//Так же здесь мы уменьшаем модель, применяя коэффициент масштабирования 0,13
effect.World = absoluteTransformations[mesh.ParentBone.Index] * Matrix.CreateScale(0.13f);
}
//Выводим подготовленную сеть
mesh.Draw();
}
base.Draw(gameTime);
}