2013-10-25 3 views
0

3D 프리미티브를 그리는 데 XNA를 사용하고 있습니다.XNA를 사용하여 삼각형 스틱에 텍스처를 적용하는 방법은 무엇입니까?

나는 큐브를 묘사하는 TriangleStrip을 가지고있다. (나는 그림 2의과 같은 삼각형을 사용했다. 수학을 확인하고 싶은 당신의 사람들을 위해 :

public readonly VertexPositionTexture[] Vertices = 
{ 
    new VertexPositionTexture(new Vector3(0, 0,0), new Vector2(1,1)),//A 
    new VertexPositionTexture(new Vector3(1, 0,0),new Vector2(0,1)),//B 
    new VertexPositionTexture(new Vector3(0, 1,0),new Vector2(1,0)),//C 
    new VertexPositionTexture(new Vector3(1, 1,0),new Vector2(0,0)),//D 
    new VertexPositionTexture(new Vector3(1, 1,1),new Vector2(0,0)),//E 
    new VertexPositionTexture(new Vector3(1, 0,0),new Vector2(1,1)),//B' 
    new VertexPositionTexture(new Vector3(1, 0,1),new Vector2(0,1)),//F 
    new VertexPositionTexture(new Vector3(0, 0,0),new Vector2(1,0)),//A' 
    new VertexPositionTexture(new Vector3(0, 0,1),new Vector2(1,1)),//H 
    new VertexPositionTexture(new Vector3(0, 1,0),new Vector2(1,0)),//C' 
    new VertexPositionTexture(new Vector3(0, 1,1),new Vector2(1,1)),//I 
    new VertexPositionTexture(new Vector3(1, 1,1),new Vector2(0,0)),//E' 
    new VertexPositionTexture(new Vector3(0, 0,1),new Vector2(0,1)),//H' 
    new VertexPositionTexture(new Vector3(1, 0,0),new Vector2(1,1))//F' 
}; 

내 문제는 내가 어떻게 텍스처를 적용하는 아무 생각이 없습니다. 처음에는 각면에 다른 질감을 적용하려했지만 애매한 것으로 나타났습니다. 지금 내가하려는 것은 전체 큐브에 단일 텍스처를 적용하는 것입니다.

첫 번째 질문 : 진행하는 가장 좋은 방법입니까? 재사용 가능한 큐브 클래스를 만들려고한다는 것을 이해하고 각 얼굴에 텍스처를 적용해야합니다. 하나의 TriangleStrip에서 이것이 가능하지 않다면 지금 멈출 수 있습니다.

두 번째 질문 : TriangleStrip에 하나의 텍스처를 올바르게 적용하려면 어떻게합니까?

세 번째 질문 : 서로 다른 질감을 다른 얼굴에 지정하거나 적용하려면 어떻게합니까?

답변

0

지금은 볼 수 없지만 내용을로드해야합니다. 다각형을 그리는 경우 BasicEffect도 사용하십시오. 스프라이트 그리기에만 SpriteBatch를 사용해야합니다 (예 : Draw 메서드 사용). 훨씬 쉬울 것 그러나 http://msdn.microsoft.com/en-us

이 모델 또는를 그리려면, 은 ... 구글에서 자신을 도와 고려 D 단지 마이크로 소프트 개발자 네트워크에 살펴 ... 거의 모든 구문에 대한 기능을 설명 Cinema4D 또는 Blender를 통해 메쉬를 만들고 텍스처를로드하십시오. 할 일이 없다. 더 많은 노력/더 빠르고 정확한 변경이 가능합니다. 내가 충분히 당신은 좋은 도움이

희망)은 MS 문서에서 무엇을 얻었을 경우

+1

당신은 나보다 더 나은 사람이다. 그들은 쿼드의 예를 보여 주지만 더 이상은 없습니다. 그리고 나는 중간 무승부로 텍스처를 바꾸는 방법에 관해서는 아무것도 찾을 수 없다. –

+0

투표를 잊어서는 안됩니다 ... 그 설명은 완전한 설명이되지 않습니다 ... 단지 발췌문 ... 당신은 하나 이상을보아야 만합니다. "어떻게하면 내 프로그램에서 사용할 수 있습니까?" 그들의 도움으로 물건을 시험해보십시오.)하지만 당신은 비트가 맞습니다 ... 그 사람들은 마음을 새롭게하고 싶습니다. D – user31911

+0

그리기 방법 ... 물건이 그려지는 곳을 알 수 있습니다 ...; xD를 시작한 새 프로젝트에서 여름과 주석을 삭제하십시오. – user31911

관련 문제