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-file)를 내 gameobjects에 전달하고 그것을 다시 칠해 모델에 적용했다. 어느 것이 잘 작동합니다. 텍스처 압축기와 mimap에 대한 지식이 없습니다. 몇 가지 조사를 해보 겠지만 더 이상 필요하지 않습니다. 감사! :) – J4stM4rt