2017-01-27 2 views
0

LibGDX에서 ModelBatch를 사용하여 장면에 광고 문안을 넣으려고합니다. 좀 더 자세히 설명하기 위해 MyOBJ 클래스가 있다고 가정 해 보겠습니다.3D 공간의 텍스트

class MyOBJ { 
    private Model model; 
    private ModelInstance modelInstance; 

    public MyOBJ() { 
     // initialize model, texture and modelInstance. 
     // for simplicity let's assume this is a sphere 
     ModelBuilder modelBuilder = new ModelBuilder(); 
     model = modelBuilder.createSphere(...); 
     instance = new ModelInstance(model); 
    } 

    public void render(ModelBatch modelBatch) { 
     modelBatch.render(this.instance); 
    } 
} 

이제 구 아래에 텍스트와 같은 레이블이 있어야합니다. 따라서 카메라가 회전하거나 움직여도 여전히 구 아래로 읽을 수 있습니다.

SpriteBatch를 사용하여 텍스트를 렌더링하는 것을 알고 있지만 3D 모델에서 SpriteBatch (마녀는 2D 임)를 통합 할 수 없습니다. 모든 제안/도움을 주시면 감사하겠습니다.

+0

당신이 요구하는 것은 Stack Overflow에서 제공하는 것보다 훨씬 더 많은 설명이 요구되는 매우 복잡한 주제입니다. YouTube에서 튜토리얼, 특히 ThinMatrix 검색을 검색하는 것이 좋습니다. lwjgl의 텍스트 렌더링 자습서가 있습니다. LibGDX로 쉽게 변환 할 수 있습니다. 수행하려는 작업의 실제 고기가 무거운 수학으로 이어질 가능성이 큽니다. . – CraigR8806

+0

알겠습니다. 비록 LibGDX가 이미 문서에서 찾을 수 없었던 2D와 3D를 결합 할 수있는 메커니즘을 제공하고 있습니다. 나는 네가 제안한 것을 시도 할 것이다. 감사. –

+0

그다지 어려운 것은 아닙니다. SpriteBatch에 3D 변형 행렬을 전달하여 모든 것이 그려지는 평면을 변경할 수 있습니다. 이것이 설명 된이 사이트에 대한 질문이 있습니다. – Tenfour04

답변

0

나는 decals을 통해 이것을 할 수 있었다. 사용자 지정 fbo로 글꼴을 렌더링하고 fbo 텍스처를 가져 와서 데칼에 추가하십시오. 데칼 배치로 모든 것을 렌더링하십시오.

+0

감사합니다. 나는 이것을하려고 노력할 것이다. –