문제

저는 SlimDX/C#을 사용하여 Direct3D 애플리케이션을 작성하고 있습니다.텍스트 상자 방식에 따라 카메라를 구성했습니다.

private float cameraZ = 5.0f;
camera = new Camera();
camera.FieldOfView =(float)(Math.PI/2);
camera.NearPlane = 0.5f;
camera.FarPlane = 1000.0f;
camera.Location = new Vector3(0.0f, 0.0f, cameraZ);
camera.Target = Vector3.Zero;
camera.AspectRatio = (float)InitialWidth / InitialHeight;

작화나 회전방식 모두 괜찮네요 Matrix.RotationYawPitchRoll 그리고 mesh.DrawSubset(0).다른 모든 것은 정상적으로 보입니다.

내 문제는 내 3D 메쉬(얇은 사각형 상자)가 측면에서 보고 수직으로 서 있을 때 수평일 때보다 더 두껍게 보인다는 것입니다.나는 그것을 바꾸려고 노력했다. AspectRatio 1로 갈수록 더 심해집니다.그래서 시행착오를 거쳐서, AspectRatio 2.6 정도이다.왜 그럴 수 있고 무엇이 잘못되었을 수 있나요?

도움이 되었습니까?

해결책

나는 이미 문제와 답을 알아냈습니다.

분명히 메시의 크기를 조정하고 종횡비를 일치시키고 Matrix.RotationYawPitchRoll 다음에 Matrix.Scaling을 적용했습니다.메쉬를 앞쪽으로만 회전시키면 수직이나 수평에 상관없이 동일하게 보인다는 것을 깨달았습니다. 스케일링은 회전 방법에 관계없이 옆으로 늘어납니다.2 매트릭스를 바꾸면 문제가 해결됩니다.어쨌든 고마워요

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top