2014-12-15 1 views
1

저는 AR 프로젝트에 Vuforia를 사용하려고합니다.Vuforia + OBJ 로더

OpenGL ES를 사용하므로 일반적으로 정점 데이터 배열을 사용하여 객체를 구성하는 것으로 알고 있습니다.

표준 OBJ 파일을 대신 사용할 수 있기를 바랍니다.

이미 this을 사용했지만 Android Java SDK에서 * .h 파일을 사용하는 방법을 알지 못했습니다.

그래서 OBJ에서로드를 살펴보기 시작했습니다. 시도하고 싶습니다 this 같은 것을 사용하지만 obj 리더를 사용하십시오. 그러나 꼭지점 배열을 얻는 방법에 붙어 있습니다.

누구나 OBJ를로드하고 Vuforia 샘플 응용 프로그램에 전달하는 방법에 대한 지식이 있습니까?

는 OpenGL은 잠시 정점 만 1 인덱스를 (모든 속성이 같은 인덱스를 얻을 수)이 필요

+0

이 문제를 해결 했습니까? 파블로 씨? 나는 구원 물건에 붙어있어 진행 방법을 알아 내지 못합니다. 어떤 도움을 주시면 감사하겠습니다. 감사. – Bhoot

+0

Rajawali가 사용할 수있는 모델 파일 (OBJ 또는 FBX)을로드 할 수 있음을 의미하는 Rajawali + Vuforia 래퍼를 작성하는 개발자가있었습니다. 우리가 그것을 풀어 주면 다시 돌아와서 알려 드리겠습니다! –

+0

@MrPablo를 출시하십시오! 그렇지 않으면 우리 회사의 개발자가 될 것입니다! – peedee

답변

-1

.OBJ 및 OpenGL 직접 호환되지 않습니다 (그것은 자바 SDK가 아닌 NDK에서 작업 할 필요가있다). obj는 각 속성에 대해 다른 색인을 허용합니다.

무슨 스크립트가 수행하는 (천천히)

.H 파일의 해당하는 자바 코드는 런타임에 구문 분석 전 과정은 OBJ 파일은 당신이 필요없이 코드에서 직접 포함시킬 수 있도록이다

package resource.models; 

public class ModelName{ 

    public int NumVerts = //exactly the number that is <name>NumVerts in the header 

    public float[] Verts = { 
     //copy paste the numbers and append f after each number like so: 

     // f 1//2 7//2 5//2 
     -0.5f, -0.5f, -0.5f, 
     0.5f, 0.5f, -0.5f, 
     0.5f, -0.5f, -0.5f, 
     // f 1//2 3//2 7//2 
     -0.5f, -0.5f, -0.5f, 
     -0.5f, 0.5f, -0.5f, 
     0.5f, 0.5f, -0.5f, 

     //and so on 
    } 

    //repeat for Normals and textures: 
    public float[] Normals = { 
     // f 1//2 7//2 5//2 
     0f, 0f, -1f, 
     0f, 0f, -1f, 
     0f, 0f, -1f, 
     // f 1//2 3//2 7//2 
     0f, 0f, -1f, 
     0f, 0f, -1f, 
     0f, 0f, -1f, 

     //and so on 
    } 
} 

OpenGL 버퍼를 채우려면 FloatBuffer에 플로트 배열을 래핑 한 다음 BufferData 호출에 전달합니다.

해당 기사의 스크립트를 java와 호환되도록 변경하면 패키지 번호와 클래스 선언을 내보내고 각 번호와 뒤에 오는 닫는 중괄호를 추가 한 후 492 줄의 코드를 변경하여 f을 추가해야합니다.

+0

죄송합니다. 너무 명확하지 않았습니다. 이상적으로는 .obj를로드하기 위해 Java 클래스를 사용하고 싶습니다. 복잡한 모델에서와 같이 .h 파일을 사용하지 않으면 Android Studio에서 문제가 발생합니다. 두 번째 링크 인 https://github.com/ldo/ObjViewer_Android에서 코드를 사용하고 싶습니다. 그러나 정확히 어떻게 정확하지는 않습니다. –

+0

그 코드는 openGLSE20 준비가되어 있지 않습니다. VBO로 버퍼를 전달하는 방법과 큰 주제로 그리는 방법을 읽는 것이 좋습니다. –

+0

아 좋아요. OpenGL에 대한 경험이 없으므로 OBJ + MTL 파일로 Vuforia를 작업해야합니다. 이것에 대한 Java 라이브러리가 있는지 확인하기 위해 파기를 계속합니다. –