2016-09-16 89 views
1

我在Android上使用Rajawali和Opengl渲染3d對象。我想要渲染一個圍繞對象邊界的立方體,如圖所示。使用opengl渲染圍繞3d對象的框架

我知道我可能需要在rajawali中使用一組行或stack api。但我不明白我如何使用Object3D api找出哪些點由該行組成。我嘗試使用Object3D.getGeometry()。getBoundingBox()api,但其返回null。

我需要提示我如何使用Rajawali api推導出最小值最大的Number3d點,以及它是否是根據這些線創建一組12行的正確解決方案。還是應該在加載之後以某種方式將其擴充到模型中,以便我可以用它進行縮放?

這可能太明顯了,但請考慮我是初學者。謝謝。

3DModel with a Frame Around it

回答

0

Object3D.getGeometry().getBoundingBox()返回未定義的值,直到調用Object3D.getGeometry().computeBoundingBox()方法,更新邊框信息。

如果您在場景層次結構中使用複雜的3D對象,下面的答案將爲您提供更多信息。 Any way to get a bounding box from a three.js Object3D?

更新: 最好的方法是使用Min/Max值創建一個單獨的對象,並使用原始對象的Transformation。或者使BoundingBox幾何體成爲原始對象的子體。

+0

對於Opengl Rajawali圖書館沒有任何計算邊界框的方法。但即使我得到它,它也不能解決我的問題。 – JehandadK

+0

我已經用更多信息更新了我的答案。我剛剛發現Object3D有一個成員變量mShowBoundingVolume。檢查此源代碼:https://github.com/Rajawali/Rajawali/blob/master/rajawali/src/main/java/org/rajawali3d/Object3D.java – codetiger

+0

邊界框爲空。所以沒有希望呈現。打開一個問題https://github.com/Rajawali/Rajawali/issues/1774 – JehandadK