XNA 스타일 "MinecraftGame"으로 작은 게임을 개발 중입니다."카메라 전면"모델을 전체 또는 부분적으로 표시하는 방법 - XNA
을 그릴 큐브가 많으므로 입니다. 카메라 앞에 큐브 만 그릴 수있는 기능을 만들었습니다! 그러나 문제는 큐브가 내 시야에서 완전히 채워지지 않으면 그려지지 않을 것이라는 것입니다. 으로, 아래의 '스크린 샷'에서 확인할 수 있습니다. 모서리에있는 큐브는 그려지지 않습니다. 카메라 앞에 큐브를 완전히 그리고 부분적으로 표시하는 방법은 무엇입니까? 뿐만 아니라 전적으로.
덕분에 많은 여기
절두체 모델 포함되어있는 경우 내 코드 확인 :
이 캡처 화면//Initialize frustum
private void GenerateFrustum()
{
Matrix viewProjection = View * Projection;
Frustum = new BoundingFrustum(viewProjection);
}
//private void UpdateFrustum
{
Matrix viewProjection = View * Projection;
Frustum.Matrix = viewProjection;
}
//Function that will add models instantiated in the transformation matrix only if the model is in the field of view !
private udpateTransformModelInstancied()
{
for (int i = 0; i < ListInstance.Count; i++)
{
if(camera.Frustum.Contains(ListInstance[i].Transform.Translation) != ContainmentType.Disjoint)
{
instanceTransforms.Add(ListInstance[i].Transform);
}
}
.......
}
:
하지만 지금은 또 다른 문제가 있습니다^^ 카메라를 빨리 움직이면 땅이 가장자리에서 충분히 빨리 그려지지 않습니다. –
작은 안전 버퍼를 추가하십시오. 당신의 절두체를 실제 시야보다 약간 크게 만드십시오. – anaximander
감사합니다.내가 올바르게 이해하면, 특히 더 큰 절두체를위한 전망과 투영을 만들어야합니다. –