Используя приведенный ниже код, textView всегда направлен на камеру.Тем не менее, объект textview остается шатким все время.Можно ли добавить привязку с кодом ниже, чтобы объект textview оставался неподвижным и статичным при вращении телефона?
Я пытался отобразить объект textview на сцене и всегда смотреть в камеру.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
arFragment = (ArFragment) getSupportFragmentManager().findFragmentById(R.id.sceneform_arfragment);
arFragment.getPlaneDiscoveryController().hide();
arFragment.getPlaneDiscoveryController().setInstructionView(null);
arFragment.getArSceneView().getPlaneRenderer().setEnabled(false);
node = new Node();
node.setParent(arFragment.getArSceneView().getScene());
node.setLocalPosition(new Vector3(0f, 0f, -1f));
ViewRenderable.builder()
.setView(this, R.layout.card)
.build()
.thenAccept(renderable -> {
node.setRenderable(renderable);
TextView textView = (TextView) renderable.getView();
textView.setText("Hello Sceneform");
});
arFragment.getArSceneView().getScene().addOnUpdateListener(this::onSceneUpdate);}
private void onSceneUpdate (FrameTime frameTime) {
arFragment.onUpdate(frameTime);
Vector3 cameraPosition = arFragment.getArSceneView().getScene().getCamera().getWorldPosition();
Vector3 cardPosition = node.getWorldPosition();
Vector3 direction = Vector3.subtract(cameraPosition, cardPosition);
Quaternion lookRotation = Quaternion.lookRotation(direction, Vector3.up());
node.setWorldRotation(lookRotation);
}
Мой ожидаемый результат - объект textview, обращенный к камере без дрожания.