Я использую ViroCore AR lib в моем проекте, когда я обнаруживаю AR Image и загружаю дверь FBX модель в AR портал модель моей двери tild в направлении Y, поэтому я не понимаю, в чем проблема.
Когда я нажимаю на самолет и получаю эти векторы из этой позиции, а затем после того, как помещаю модель двери в эту позицию.
Мой код такой:
private fun createDroidAtPosition(position: Vector) {
val light = OmniLight()
light.color = Color.WHITE.toLong()
light.position = Vector(0f, 1f, -4f)
mScene.rootNode.addLight(light)
val shipDoorModel = Object3D()
shipDoorModel.loadModel(
mViroView.viroContext,
Uri.parse(getDoorModel(mPoi.door_id)),
Object3D.Type.FBX,
object : AsyncObject3DListener {
override fun onObject3DLoaded(p0: Object3D?, p1: Object3D.Type?) {
Log.e(TAG, "onObject3DLoaded")
isDoorLoad = true
/**
* Hide layout
*/
mTrackListener.hideIsTrackingLayoutUI()
var videoPath = SharedPreferenceUtil.getMediaPath("" + mPoi.num)
if (videoPath.getFileExtensions().contains("mp4", true)) {
val parse = Uri.fromFile(File(videoPath))
videoTexture = VideoTexture(mViroView.viroContext, parse)
videoTexture.loop = true
videoTexture.play()
portalScene.setBackgroundTexture(videoTexture)
} else {
ImageLoader.getBitmap(
this@DoorImageWithSurfaceViroActivity,
Uri.fromFile(File(videoPath)),
object : ImageLoader.OnBitmapReady {
override fun onBitmapReady(bitmap: Bitmap) {
val beachTexture = Texture(bitmap, Texture.Format.RGBA8, true, false)
portalScene.setBackgroundTexture(beachTexture)
}
})
}
}
override fun onObject3DFailed(p0: String?) {
Log.e(TAG, "onObject3DFailed $p0")
showError("" + p0)
}
})
val portal = Portal()
portal.addChildNode(shipDoorModel)
portalScene = PortalScene()
portalScene.setPosition(shipDoorModel.convertLocalPositionToWorldSpace(position))
portalScene.setScale(Vector(0.2f, 0.2f, 0.2f))
portalScene.portalEntrance = portal
portalScene.isPassable = true
mScene.rootNode.addChildNode(portalScene)
}
Ниже этого вывода я хочу повернуть эту дверь ко мне