所以我正在尝试用 2d 精灵制作一个 3d 游戏。在搅拌机中,我创建了一个平面并使用 uv 贴图将其中一个精灵映射到平面上。当我按下 f12 并渲染平面时,会显示精灵。
我确保为平面创建材质,并确保添加纹理以及使用正确的 uv 贴图启用 uv 映射。
我将文件模型导出为 .fbx 文件,并将其与纹理图像一起放在我项目的内容文件夹中。
但是,当我渲染模型而不是显示纹理时,平面是纯黑色的。
这可能是什么原因造成的?我的画是这样的:
public void Draw(Matrix View, Matrix Projection)
{
// Calculate the base transformation by combining
// translation, rotation, and scaling
Matrix baseWorld = Matrix.CreateScale(Scale)
* Matrix.CreateFromYawPitchRoll(
Rotation.Y, Rotation.X, Rotation.Z)
* Matrix.CreateTranslation(Position);
foreach (ModelMesh mesh in Model.Meshes)
{
Matrix localWorld = modelTransforms[mesh.ParentBone.Index]
* baseWorld;
foreach (ModelMeshPart meshPart in mesh.MeshParts)
{
BasicEffect effect = (BasicEffect)meshPart.Effect;
effect.World = localWorld;
effect.View = View;
effect.Projection = Projection;
effect.EnableDefaultLighting();
}
mesh.Draw();
}
}