Я использую Facebook AR Studio и неукоснительно следовал этому руководству, чтобы удовлетворить свои потребности: https://blog.tallan.com/2018/04/24/facebook-ar-studio-how-to-use-tap-gestures-to-change-effect-materials/.
Однако, когда я пытаюсь воспроизвести свой проект, выдается сообщение об ошибке -
Ошибка JavaScript: исключение в собственном коде при вызове функции: дочерний элемент не найден: ScreenCanvas Backtrace
Вот код, который я использовал.
//includes for base libraries
var Scene = require('Scene');
var Tap = require('TouchGestures');
var Mat = require('Materials');
// base dir
var base =
Scene.root.child('Device').child('Camera').child('Focal
Distance');
var sCanvas = base.child('ScreenCanvas');
var NoEffectButton = sCanvas.child('NoEffectButton');
var StageOneButton = sCanvas.child('StageOneButton');
var effectVisibility = false;
// facemesh
var faceMesh =
base.child('facetracker0').child('StageOneFaceMesh');
Tap.onTap(NoEffectButton).subscribe(function(event){
setEffectVisibility(false);
});
Tap.onTap(StageOneButton).subscribe(function(event){
faceMesh.material =
Mat.get('coldsore');
setEffectVisibility(true);
});
function setEffectVisibility(option){
if(effectVisibility !== option){
effectVisibility = option;
faceMesh.cameraVisibility.forFrontCamera = effectVisibility;
faceMesh.cameraVisibility.forRearCamera = effectVisibility;
faceMesh.cameraVisibility.forUnspecifiedCamera =
effectVisibility;
}
}