AccessViolationExcpetionsの原因であるtexture.GetDataに問題があります。XNA .GetDataはモデルのAccessViolationExceptionsテクスチャを返します
私は、次のような何かをしようとしている:
Texture2D texture;
foreach (var mesh in model.Meshes)
foreach (BasicEffect effect in mesh.Effects)
texture = effect.Texture;
または
texture = ((BasicEffect)model.Meshes[0].Effects[0]).Texture;
、その後:
Color[] data = new Color[texture.Width * texture.Height];
texture.GetData(data);
for (int i = 0; i < data.Length - 1; i++)
{
if (IsSimilar(data[i], new Color(58, 59, 248), 40, 40, 40))
data[i] = Color.Red;
}
texture.SetData(data);
foreach (var mesh in model.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
effect.Texture = texture;
}
しかしtexture.GetDataで(データ)はスローAccessViolationException、apparantly私はモデルのテクスチャを読み取ることはできませんか? 誰かがこれを修正する方法を知っていますか?
ロードされたテクスチャで試してみると、すべてうまく動作しますが、多くの異なるモデルを扱っているためです。モデルが必要とするテクスチャを見つけて、そのテクスチャを再現して適用するのは面倒です。
あなたの答えをありがとう。一方、私は、この問題を回避するために、テクスチャ(pngファイル)を自分のgameオブジェクトに渡し、それを色付けしてモデルに適用することで作業しました。どちらがうまくいくの?私は、テクスチャ圧縮器とミックスについての知識がありません。そのティエムについていくつかの調査をしますが、それはもはや必要ありません。ありがとう! :) – J4stM4rt