Question
Trouble with Animation with buttons in Published AR
Hi,
I'm creating an AR experience on mobile. In the preview, the sequences play with a single click, but when I publish and view them on mobile devices, the animations require two clicks to activate. Any idea why this might be happening?"
$scope.sequence1 = function () {
$scope.view.wdg['model-1']['sequence'] = 'app/resources/Uploaded/Texler_26-05-2023/l-Creo 3D - Sidepanel.pvi';
$timeout (function () {
if ($scope.view.wdg ['model-1'] ['sequence'] == 'l-Creo 3D - Sidepanel.pvi')
$scope.setWidgetProp ("3DImage-2", 'visible', true);
else
$scope.setWidgetProp ("3DImage-1", 'visible', false);
$scope.$applyAsync ();
},50);
$scope.$on('sequenceloaded', function(event) {
twx.app.fn.triggerWidgetService('model-1', 'play');
});
$scope.view.wdg['3DImage-1'].visible=false;
$scope.view.wdg['3DImage-2'].visible=true;
$scope.view.wdg['3DImage-3'].visible=false;
$scope.view.wdg['3DImage-4'].visible=false;
$scope.view.wdg['3DImage-5'].visible=false;
$scope.view.wdg['3DImage-6'].visible=false;
$scope.view.wdg['button-2']['margin'] = '5px';
$scope.view.wdg['toggleButton-2']['pressed'] = true;
};
$scope.sequence2 = function (step) {
$scope.view.wdg['model-1']['sequence'] = 'app/resources/Uploaded/Texler_26-05-2023/l-Creo 3D - Sheet.pvi';
$timeout (function () {
if ($scope.view.wdg ['model-1'] ['sequence'] == 'l-Creo 3D - Sheet.pvi')
$scope.setWidgetProp ("3DImage-3", 'visible', true);
else
$scope.setWidgetProp ("3DImage-2", 'visible', false);
$scope.$applyAsync ();
},50);
$scope.$on('sequenceloaded', function(event) {
// call a widget service to trigger the model to play the first step for the given sequence
twx.app.fn.triggerWidgetService('model-1', 'play');
});
$scope.view.wdg['3DImage-2'].visible=false;
$scope.view.wdg['3DImage-3'].visible=true;
$scope.view.wdg['3DImage-1'].visible=false;
$scope.view.wdg['3DImage-4'].visible=false;
$scope.view.wdg['3DImage-5'].visible=false;
$scope.view.wdg['3DImage-6'].visible=false;
$scope.view.wdg['button-6']['margin'] = '5px';
};
$scope.sequence3 = function () {
$scope.view.wdg['model-1']['sequence'] = 'app/resources/Uploaded/Texler_26-05-2023/l-Creo 3D - Access Cover.pvi';
//sequenceloaded event listener triggers when the sequence property is updated
$scope.$on('sequenceloaded', function(event) {
// call a widget service to trigger the model to play the first step for the given sequence
twx.app.fn.triggerWidgetService('model-1', 'play');
});
$timeout (function () {
if ($scope.view.wdg ['model-1'] ['sequence'] == 'l-Creo 3D - Access Cover.pvi')
$scope.setWidgetProp ("3DImage-4", 'visible', true);
else
$scope.setWidgetProp ("3DImage-3", 'visible', false);
$scope.$applyAsync ();
},50);
$scope.view.wdg['3DImage-1'].visible=false;
$scope.view.wdg['3DImage-2'].visible=false;
$scope.view.wdg['3DImage-3'].visible=false;
$scope.view.wdg['3DImage-4'].visible=false;
$scope.view.wdg['3DImage-5'].visible=false;
$scope.view.wdg['3DImage-6'].visible=false;
$scope.$on('sequenceloaded', function(event) {
twx.app.fn.triggerWidgetService('model-1', 'play');
});
};
$scope.sequence4 = function () {
//$scope.reset1();
$scope.view.wdg['model-1']['sequence'] = 'app/resources/Uploaded/Texler_26-05-2023/l-Creo 3D - UV Cover.pvi';
$scope.$on('sequenceloaded', function(event) {
// call a widget service to trigger the model to play the first step for the given sequence
twx.app.fn.triggerWidgetService('model-1', 'play');
});
$timeout (function () {
if ($scope.view.wdg ['model-1'] ['sequence'] == 'l-Creo 3D - Sludge_5Fcollector.pvi')
$scope.setWidgetProp ("3DImage-6", 'visible', true);
else
$scope.setWidgetProp ("3DImage-4", 'visible', false);
$scope.$applyAsync ();
},50);
$scope.view.wdg['3DImage-2'].visible=false;
$scope.view.wdg['3DImage-3'].visible=false;
$scope.view.wdg['3DImage-1'].visible=false;
$scope.view.wdg['3DImage-4'].visible=false;
$scope.view.wdg['3DImage-5'].visible=false;
$scope.view.wdg['3DImage-6'].visible=true;
};
$scope.sequence5 = function () {
$scope.view.wdg['model-1']['sequence'] = 'app/resources/Uploaded/Texler_26-05-2023/l-Creo 3D - Sludge_5Fcollector.pvi';
$scope.$on('sequenceloaded', function(event) {
// call a widget service to trigger the model to play the first step for the given sequence
twx.app.fn.triggerWidgetService('model-1', 'play');
});
$timeout (function () {
if ($scope.view.wdg ['model-1'] ['sequence'] == 'l-Creo 3D - Sludge_5Fcollector.pvi')
$scope.setWidgetProp ("3DImage-5", 'visible', true);
else
$scope.setWidgetProp ("3DImage-4", 'visible', false);
$scope.$applyAsync ();
},50);
$scope.view.wdg['3DImage-2'].visible=false;
$scope.view.wdg['3DImage-3'].visible=false;
$scope.view.wdg['3DImage-1'].visible=false;
$scope.view.wdg['3DImage-4'].visible=false;
$scope.view.wdg['3DImage-5'].visible=true;
$scope.view.wdg['3DImage-6'].visible=false;
};
$scope.reset1 = function () {
$scope.$applyAsync(()=>{angular.element(document.getElementById('model-1')).scope().reset();});
$scope.view.wdg['3DImage-2'].visible=false;
$scope.view.wdg['3DImage-3'].visible=false;
$scope.view.wdg['3DImage-1'].visible=false;
$scope.view.wdg['3DImage-4'].visible=false;
$scope.view.wdg['3DImage-5'].visible=false;
$scope.view.wdg['3DImage-6'].visible=false;
}
$scope.sequence7 = function () {
$scope.$applyAsync(()=>{angular.element(document.getElementById('model-1')).scope().reset();});
$scope.view.wdg['3DImage-2'].visible=false;
$scope.view.wdg['3DImage-3'].visible=false;
$scope.view.wdg['3DImage-1'].visible=true;
$scope.view.wdg['3DImage-4'].visible=false;
$scope.view.wdg['3DImage-5'].visible=false;
$scope.view.wdg['3DImage-6'].visible=false;
};

