2013-12-19 5 views
0

저는 게임을 만들었고 실제로 렌더링을 새로운 시스템으로 업데이트했습니다. 그것을 시도했을 때, 나는 충돌이 깨져 있다는 것을 깨달았다. 나는 새로운 세계 행렬에 문제가 있다고 생각하여 그림에서 그 행렬로 변경했지만 아무 것도 변경하지 않았습니다. 나는 아이디어가 없으며 웹에서 어떻게하는지 알려주는 좋은 소스가 없다. 다음 링크는 편집 된 충돌 메서드가없는 코드입니다. 당신이 나에게 무엇을 해야할지 또는 팁을 말할 수 있다면 그것은 좋을 것입니다. 감사!XNA 3D 충돌이 작동하지 않습니다.

링크 : https://www.dropbox.com/s/a9sc9rcxahvukuf/Collision%20Help.txt

+0

정말 C#에서 클래스를 작성하는 것이 합법적입니다. 격려, 심지어. 대부분의 사람들이 C# 명명 규칙을 따르지 않는 절차 코드를 분석하지 않을 것입니다. – Magus

+0

전체 프로젝트에 대한 링크가 아닌 코드의 관련 부분을 게시해야합니다. – pinckerman

+0

@pinckerman 주제에 중요하지 않은 모든 부분을 제거했습니다. 질문에서 링크를 업데이트했습니다. – SupremeSteak1

답변

1

당신의 모델이 당신의 effect.World을 만들 결합 된 변환에 따라 렌더링되는,하지만 (즉, 모델) 사용자의 영역은이 같은 변형의 영향을받지되지 않습니다. 따라서 모델의 변환 사이에는 구형 구체의 연결이 끊어집니다. & 이 때문에 구가 제대로 배치되거나 크기가 조정되는지 확신 할 수 없습니다.

구형이 모델의 회전 변형을 신경 쓰지는 않지만 렌더링 할 모델에 부여한 동일한 축척 & 변환 변환이 필요합니다.

구체에 맞지 않는 CopyAbsoluteBoneTransformsTo()을 통해 모델에 적용되는 루트 뼈대 또는 부모 뼈대에 크기 변환 및/또는 병진 변환이있을 수 있습니다. 귀하의 영역에서, 당신은 위치 변수로의 변환을 제한하는 것처럼 보입니다 ... 그리고 그것은 충분하지 않을 수도 있습니다.

항상 구체에 올바른 변환을 적용하는 확실한 방법은 결합하여 (동일한 순서로) 효과를 생성하는 것과 동일한 매트릭스 집합으로 변환하는 것입니다. 함께가는 모델을 렌더링하는 세계 구와.

+0

시도했지만 작동하지 않았습니다. 나는 그것을하는 모든 다른 방법을 시도했지만 그들 중 누구도 일하지 않았다. 그들 중 일부는 구를 완전히 완전히 제거했습니다. 내가 잘못한 일을 분명히하고 있기 때문에 어떻게 할 수 있는지 보여 주실 수 있습니까? 감사! – SupremeSteak1