Сценарий столкновения с камерой

sed будет правильной командой ( stream editor)

tail -n0 -f <file> | sed -n '/search string/p'

, а затем, если вы хотите, чтобы команда tail вышла, как только вы нашли определенная строка:

tail --pid=$(($BASHPID+1)) -n0 -f <file> | sed -n '/search string/{p; q}'

Очевидно, что багизм: $ BASHPID будет идентификатором процесса команды tail. Команда sed следующая после хвоста в трубе, поэтому идентификатор процесса sed будет $ BASHPID + 1.

1
задан Saik Caskey 13 July 2018 в 18:05
поделиться

1 ответ

Одна идея сделать то же самое - использовать raycast, чтобы поразить объекты, и если они близки, сделайте что-нибудь. Вы можете использовать что-то подобное в onUpdateListener:

Camera camera = arSceneView.getScene().getCamera();
Ray ray = new Ray(camera.getWorldPosition(), camera.getForward());
HitTestResult result = arSceneView.getScene().hitTest(ray);
if (result.getNode() != null && result.getDistance() <= SOME_THRESHOLD) {
  // Hit something
  doSomething (result.getNode());
} 
1
ответ дан Clayton Wilkinson 17 August 2018 в 12:55
поделиться
  • 1
    Я попробую это, спасибо! – Saik Caskey 16 July 2018 в 08:02
  • 2
    Это работает сказочно и намного дешевле, чем мой overlapTestAll. Кроме того, вы передаете arSceneView в узел при его создании? Это отлично работает для меня с Node#getScene(), поэтому мне интересно, выгодно это или просто то, что у вас было – Saik Caskey 16 July 2018 в 11:42
  • 3
    Это то, что мне было удобно. Лично я иду туда и обратно, используя переменную-член для представления, которая инициализируется в onCreate () активности и передается параметру методу. Я не думаю, что есть разница в производительности. – Clayton Wilkinson 16 July 2018 в 16:24
Другие вопросы по тегам:

Похожие вопросы: