2013-07-17 2 views
1

나는 (다음 아마도 iOS의) 안드로이드에서 다음을 수행하려고하고 조언을 이해할 수있을 것이다 :투명한 배경을 가진 서브 뷰인 UnityPlayer? (유니티 게임 엔진)

에만 3D 객체가 그려지는 기본 안드로이드보기의 상단에

오버레이 UnityPlayer보기 및

지금까지 다른 안드로이드 프로젝트에 라이브러리로 내 Unity3D 프로젝트를 사용하고 다른 안드로이드도 있지만 카메라의 상단에 FrameLayout이에 UnityPlayer보기를 할당 할 관리 : 나의 현재 진행

에는 카메라 한 배경 (투명 배경) 배경색 표시 중 ... clear 플래그 옵션을 깊이 만 변경하려고 시도했지만 작동하지 않았습니다.

또한 UnityPlayer를 확장하고 GLSurfaceView.Renderer를 렌더러로 구현하는 클래스를 할당 한 별도의 GLSurfaceView를 사용할 수 있었지만 여전히 불투명 한 배경을 얻고 있습니다. 내가 모르는 뭔가가

// the class extending the player 
class CustomUnityPlayer extends UnityPlayer implements GLSurfaceView.Renderer { 
    public CustomUnityPlayer(ContextWrapper context) { 
     super(context); 
    } 
    public void onDrawFrame(GL10 gl) { 
     super.onDrawFrame(gl); 
    } 
} 

// inside OnCreate function: 
     m_UnityPlayer = new CustomUnityPlayer(this); 
     int glesMode = m_UnityPlayer.getSettings().getInt("gles_mode", 1); 
     m_UnityPlayer.init(glesMode, false); 

     mUnityView = new GLSurfaceView(getApplication()); 
     mUnityView.setEGLContextClientVersion(2); 
     mUnityView.setZOrderOnTop(true); 
     mUnityView.setZOrderMediaOverlay(true); 
     mUnityView.setEGLConfigChooser(8, 8, 8, 8, 16, 0); 
     mUnityView.setRenderer(m_UnityPlayer); 
     mUnityView.getHolder().setFormat(PixelFormat.TRANSLUCENT); 

     setContentView(R.layout.activity_fullscreen); 

     FrameLayout layout = (FrameLayout) findViewById(R.id.UnityView); 
     LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, 
       LayoutParams.FILL_PARENT); 
     layout.addView(mUnityView, 0, lp); 

오전 그것도 가능하다 :

내 코드는 다음과 같이? 어떤 도움을 많이 주시면 감사하겠습니다. (참) mUnityView.setZOrderMediaOverlay을 제거하는 몇 가지 시도 후

답변

1

많이

감사합니다 ...; 나를 위해 트릭을 했어. (유니티 4.2 이하에서 작동 ... 유니티 4.3 이상이 아님)

+0

질문 작성자/답변자. 나는 당신의 질문에서 당신이 말한 것을 할 수 있다고 읽었지 만, 유니티 4.3에서 한 장면에 투명한 배경을 가질 수 없었고, 그렇게하려한다면 검정색 배경이 생길 것입니다. 당신이 제공하는이 예제가 Unity 4.2를위한 것입니까? Unity 4.3 이상에서이 작업을 수행 할 수 있습니까? 감사합니다. – JavaZava

+0

@JavaZava 네 이것이 unity 4.2 이하에서만 작동합니다 ... unity 4.3이 아니기 때문에 뷰가 어떻게 구성되었는지 (자바에서 C++로 옮겨갔습니다) ... 나는 그것을 해명하기 위해 답을 편집 할 것입니다 – YNK

관련 문제